macbook touchpad configuration (bcm5974)

versatile 64-bit multi-user Linux distribution

Moderators: kirk, jamesbond, p310don, JakeSFR, step, Forum moderators

Post Reply
retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: Fatdog64-901 Final [10 Oct 2023]

Post by retiredt00 »

Dear fatdoguser
thanks you for the extensive information on senior citizen modifications.
I an currently looking at Openbox themes that I may like better, though from what I understand changing the size of the decoration independent of the fonts requires modifying the source of the theme.

On a different subject I tried to modify the macbook touchpad behavior and although the configuration file is indeed changed, the changes have no effect.
Looking at the terminal output during the changing process it reports

Code: Select all

# touchpad
"false"
Device ID is  11
property 'libinput Accel Speed' doesn't exist, you need to specify its type and format
property 'libinput Disable While Typing Enabled' doesn't exist, you need to specify its type and format
property 'libinput Horizontal Scroll Enabled' doesn't exist, you need to specify its type and format
property 'libinput Left Handed Enabled' doesn't exist, you need to specify its type and format
property 'libinput Middle Emulation Enabled' doesn't exist, you need to specify its type and format
property 'libinput Natural Scrolling Enabled' doesn't exist, you need to specify its type and format
property 'libinput Scroll Method Enabled' doesn't exist, you need to specify its type and format
property 'libinput Tapping Enabled' doesn't exist, you need to specify its type and format
property 'libinput Tapping Drag Enabled' doesn't exist, you need to specify its type and format
property 'libinput Tapping Drag Lock Enabled' doesn't exist, you need to specify its type and format
property 'libinput Click Methods Enabled' doesn't exist, you need to specify its type and format

Any suggestions?

On a happier note transforming the Debian skypeforlinux package to fatdog package with the provided utility it works (runing as spot) ok with minor stability issues.

fatdoguser
Posts: 175
Joined: Sat Aug 05, 2023 10:54 am
Has thanked: 22 times
Been thanked: 79 times

Re: Fatdog64-901 Final [10 Oct 2023]

Post by fatdoguser »

retiredt00 wrote: Tue Jan 09, 2024 9:14 am

On a different subject I tried to modify the macbook touchpad behavior and although the configuration file is indeed changed, the changes have no effect.

@retiredt00 Have you looked through Menu/System/Fatdog Help and entered "touchpad" as a search term

retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: Fatdog64-901 Final [10 Oct 2023]

Post by retiredt00 »

fatdoguser wrote: Tue Jan 09, 2024 11:52 am
retiredt00 wrote: Tue Jan 09, 2024 9:14 am

On a different subject I tried to modify the macbook touchpad behavior and although the configuration file is indeed changed, the changes have no effect.

@retiredt00 Have you looked through Menu/System/Fatdog Help and entered "touchpad" as a search term

Thanks again fatdoguser but as I eluted to above the output shown is from the touchpad application.

Looking at "xinput --list" I realized that ID 11 is the virtual keyboard/trackpad ID and the actual bcm5974 trackpad controller is ID 12. Forcing this ID manually at the /usr/share/X11/xorg.conf.d/50-touchpad-gui.conf somehow "taught" libinput which one is the correct ID and in consecutive setups the touchpad could be calibrated through the GUI.
A more appropriate solution to this would be nice to have in the future.

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

Re: Fatdog64-901 Final [10 Oct 2023]

Post by step »

retiredt00 wrote: Tue Jan 09, 2024 12:36 pm

Looking at "xinput --list" I realized that ID 11 is the virtual keyboard/trackpad ID and the actual bcm5974 trackpad controller is ID 12. Forcing this ID manually at the /usr/share/X11/xorg.conf.d/50-touchpad-gui.conf somehow "taught" libinput which one is the correct ID and in consecutive setups the touchpad could be calibrated through the GUI.
A more appropriate solution to this would be nice to have in the future.

Your solution is probably as appropriate as any other. Here I just want to hint at how Fatdog64 configures very specific, platform-dependent settings. By platform I mean a macbook model, for instance. The first time Fatdog boots it runs /etc/rc.d/rc.platform, which detects the platforms and applies any customizations known to the script. rc.platform runs only once: the assumption is that you don't use the same savefile on different platforms. The script is a growing collection of customizations as they are brought to the dev team, who can't test them because they don't have the hardware for which the customization is appropriate.

If you skim through the script you might notice macbook specific customizations, which were suggested for specific models. Perhaps the bcm model your touchpad is using wasn't detected when rc.platform ran, it's hard to tell now.

retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: Fatdog64-901 Final [10 Oct 2023]

Post by retiredt00 »

step wrote: Wed Jan 10, 2024 9:00 am

If you skim through the script you might notice macbook specific customizations, which were suggested for specific models. Perhaps the bcm model your touchpad is using wasn't detected when rc.platform ran, it's hard to tell now.

Dear Step thank you for the obconf suggestion.
I'm surprised in the number of macbook-specific customizations FatDog has!
As I said, a heaven for Intel-Mac refugees!
However, I do not know/find how could I include in rc.platform instructions for libinput to use bcm5974 ID, if present, as the trackpad ID. xinput reports bcm5974 is as core pointer which might be what confuses the touchpad application
Maybe someone has some input on howto.

Another thing that is bothering me is the use of the Super/Win keuboard key that in Apple is the command key that has a lot of the Ctrl key functions.
I do not want to interchange the Ctrl-Win keycodes because a lot of other functions use it and actually Ctrl has distinct functions also in macos.
What I was trying (unsuccessfully so far) is to write a little script using xclip, xdotool etc, so I can then use Sven to instruct Win+c and Win+v to do copy/paste.
Any suggestions on it would be highly appreciated.
Thanks again.

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

Re: Fatdog64-901 Final [10 Oct 2023]

Post by step »

retiredt00 wrote: Wed Jan 10, 2024 11:50 am

However, I do not know/find how could I include in rc.platform instructions for libinput to use bcm5974 ID, if present, as the trackpad ID. xinput reports bcm5974 is as core pointer which might be what confuses the touchpad application
Maybe someone has some input on howto.

If you want to add code to rc.platform, and share it so it gets built into the next Fatdog upgrade, here are some ideas.
First of all you need to come up with a proper set of instructions, which:

  • isn't tied to your user configuration, so it's general enough for anyone experiencing the same problem on the same platform
  • works to fix the problem at first boot
    Triggering your code from rc.platform will be best done by Fatdog devs.

Speaking of your touchpad, have you seen this https://www.kernel.org/doc/html/v4.18/i ... m5974.html? Section 5.2 mentions a race condition. Perhaps that was your problem. They also give a solution to the race condition.

retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: Fatdog64-901 Final [10 Oct 2023]

Post by retiredt00 »

step wrote: Wed Jan 10, 2024 7:16 pm

If you want to add code to rc.platform, and share it so it gets built into the next Fatdog upgrade,
...
Speaking of your touchpad, have you seen this https://www.kernel.org/doc/html/v4.18/i ... m5974.html? Section 5.2 mentions a race condition. Perhaps that was your problem. They also give a solution to the race condition.

Dear Step thanks for the link
I thought to try it though so far unsuccessfully

Detecting the presence of the module was simple but the "ignoring" part not so simple for me.
From what I understand the ignore_device has been removed from udev since v148 but looking around (Arch) found that I could make a /etc/udev/rules.d/99-libinput-ignore.rules with
ACTION=="add” (or “change", "remove"), device_specs, ENV{LIBINPUT_IGNORE_DEVICE}="1" “device_specs” could be something like
SUBSYSTEMS=="usb", ATTRS{idVendor}=="vendor_id", ATTRS{idProduct}=="product_id"
and I could fish that out from udevadm at least in my case with udevadm info -q all -a $(ls /dev/input/by-id/*mouse).
However this gave 2 vendor IDs and 2 product IDs the first of which in my case is the trackpad and the second the controller
so I picked the first one but I can not tell if this is a general case for all macbooks.

My test script was finally this

Code: Select all

#!/bin/sh
if [ "$(lsmod | grep bcm5974)" ]; then
	PRODUCT="$(udevadm info -q all -a $(ls /dev/input/by-id/*event-mouse) | grep -m 1 idProduct)"
	VENDOR="$(udevadm info -q all -a $(ls /dev/input/by-id/*event-mouse) | grep -m 1 idVendor)"
cat << EOF > /etc/udev/rules.d/99-libinput-ignore.rules
ACTION=="change", SUBSYSTEMS=="usb", $VENDOR, $PRODUCT, ENV{LIBINPUT_IGNORE_DEVICE}="1" 
EOF
fi

but ACTION "change" or "remove" did nothing while "add" just killed both the trackpad and the keyboard

I thought to put this here in case it helps someone or get any suggestions
Thanks again.

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

macbook touchpad configuration (bcm5974)

Post by step »

(posts moved here from Fatdog64-901 general topic)

step
Posts: 510
Joined: Thu Aug 13, 2020 9:55 am
Has thanked: 50 times
Been thanked: 179 times
Contact:

macbook touchpad configuration (bcm5974)

Post by step »

@retiredt00

retiredt00 wrote: Thu Jan 11, 2024 9:46 am

Detecting the presence of the module was simple but the "ignoring" part not so simple for me.

I read https://www.kernel.org/doc/html/v4.18/i ... l#usb-race with more attention and noticed, (quote) "To remedy, the usb product id must be listed in the mouse_ignore list of the hid driver." It seems to mean that you need to add the product id to the HID driver configuration parameter "mouse_ignore". Usually that's done by creating/editing a file under /etc/modprobe.d. The usb product id for your bcm5975 device is fixed and should be available somewhere in the output from dmesg.

search engine wrote:

The "mouse_ignore" parameter of the HID driver in the Linux kernel is used to specify a list of USB product IDs for devices that should be ignored by the HID driver, particularly for mouse devices. By listing the USB product IDs in the "mouse_ignore" parameter, the HID driver will ignore the specified devices, allowing other drivers to handle them appropriately.
Create a configuration file for the HID driver in the /etc/modprobe.d/ directory and add a line in the following format: options hid mouse_ignore=<USB_product_ID>

Replace <USB_product_ID> with the specific product ID of the device you want to ignore. You can specify multiple product IDs by separating them with commas. After creating or modifying the configuration file, you will need to reboot or reload the HID driver for the changes to take effect.

PS: I moved your posts to this thread so your topic will get more exposure and maybe someone else will see it and be able to help you.

retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: macbook touchpad configuration (bcm5974)

Post by retiredt00 »

Dear Step
Thanks for the hid.conf suggestion.
I tired it but I could not see any change in trackpad or xinput

I was thinking may be go from the other end. Do you know where the touchpad source code comes from?

User avatar
smokey01
Posts: 163
Joined: Sun Jul 12, 2020 10:46 am
Location: Australia
Has thanked: 21 times
Been thanked: 23 times
Contact:

Re: Fatdog64-901 Final [10 Oct 2023]

Post by smokey01 »

retiredt00 wrote: Tue Jan 09, 2024 9:14 am

On a happier note transforming the Debian skypeforlinux package to fatdog package with the provided utility it works (runing as spot) ok with minor stability issues.

@retiredt00 where did you source the Debian skypeforlinux package?

Thanks

retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: macbook touchpad configuration (bcm5974)

Post by retiredt00 »

Dear smokey01
there are here
https://repo.skype.com/deb/pool/main/s/skypeforlinux/

Hopefully you will find something better but for me the only way that I can restart without deleting the config data is to fisrst "sign out and remember" and then quit the application.
You have to sign in again so there is not a lot of difference at the end.
Also looking at the deb dependencies I noticed the missing "gnome-keyring" but installing it did not change anything.
The deb package has 30 dependencies and I'm not sure they are all in FatDog901

User avatar
smokey01
Posts: 163
Joined: Sun Jul 12, 2020 10:46 am
Location: Australia
Has thanked: 21 times
Been thanked: 23 times
Contact:

Re: macbook touchpad configuration (bcm5974)

Post by smokey01 »

@retiredt00 in the past @CatDude would use Deb packages and turn them into a SFS that works in Fatdog64. Unfortunately where he sourced the packages stopped making Deb packages in lieu of snap packages. He has now created a script, which includes a few dependencies for Fatdog64, which works equally as well as it did for Deb packages.
When I tested his skypeforlinux with him it worked very well without the issues you are experiencing.

retiredt00
Posts: 176
Joined: Fri Sep 04, 2020 12:11 pm
Has thanked: 4 times
Been thanked: 26 times

Re: macbook touchpad configuration (bcm5974)

Post by retiredt00 »

smokey01 wrote: Fri Jan 12, 2024 10:13 pm

@retiredt00 in the past @CatDude would use Deb packages and turn them into a SFS that works in Fatdog64. Unfortunately where he sourced the packages stopped making Deb packages in lieu of snap packages. He has now created a script, which includes a few dependencies for Fatdog64, which works equally as well as it did for Deb packages.
When I tested his skypeforlinux with him it worked very well without the issues you are experiencing.

Dear smokey01
please provide a link to the CatDude script
Thanks

User avatar
smokey01
Posts: 163
Joined: Sun Jul 12, 2020 10:46 am
Location: Australia
Has thanked: 21 times
Been thanked: 23 times
Contact:

Re: macbook touchpad configuration (bcm5974)

Post by smokey01 »

Dear smokey01
please provide a link to the CatDude script
Thanks

I don't think he has made it available yet but I will check.

Maybe we should move this conversation to a Skype thread?

viewtopic.php?t=10339

Post Reply

Return to “FatDog64”