Re: Touchpad

From: Chris <bsd-lists_at_bsdforge.com>
Date: Tue, 08 Nov 2022 17:48:25 UTC
On 2022-11-08 01:12, Andrea Venturoli wrote:
> Hello.
> 
> I'm almost there with my new laptop: one of the last missing thing is 
> touchpad
> properly working.
> ATM it doesn't work in terminal (but I can live with that), and it partially 
> works
> in X: movement is ok, two finger vertical scrolling works, tapping works, 
> but no
> right button or double clicking.
> 
> Actually I'm finding contrasting info on how to try and configure this; also 
> it's
> hard to tell if info is fresh or stale.
> I tried:
> _ hw.psm.synaptics_support="1" + moused_enable="YES" + xorg config, as 
> suggested
> on https://wiki.freebsd.org/SynapticsTouchpad;
> _ no such changes, but using xf86-input-synaptics;
> _ none of the two, just xf86-input-evdev + xf86-input-libinput.
> 
> All three seems to give same results.
> So before I start digging in more deeply: which is the way to go?
I have a Dell laptop whos trackpad gave me quite a bit of grief to get 
working on
FreeBSD. I was given some pointers on the mailing lists && bugzilla. I'll 
share
what now works foe me, in case it will also work for you. FYI like you, I 
also
have no working pointer in the initial terminal;

loader.conf(5):
hw.psm.synaptics_support="1"
hw.usb.usbhid.enable="1"

rc.conf(5):
kld_list="iichid"
moused_enable="YES"
hald_enable="YES"
dbus_enable="YES"
devd_enable="YES"

#/usr/local/etx/X11/xorg.conf.d/driver-synaptics.conf
Section         "InputDevice"
     Identifier  "Touchpad0"
     Driver      "synaptics"
     Option      "Protocol"  "psm"
     Option      "Device"    "/dev/psm0"
EndSection

#/usr/local/etx/X11/xorg.conf.d/driver-touchpad.conf
Section    "InputDevice"
     Identifier  "Touchpad"
     Driver      "Libinput"
     Option      "Device"            "/dev/input/event6"
     Option      "AutoServerLayout"  "true"
EndSection

HTH

--Chris
> 
> 
> 
>> #dmesg
>> ...
>> psm0: <PS/2 Mouse> irq 12 on atkbdc0
>> psm0: [GIANT-LOCKED]
>> WARNING: Device "psm" is Giant locked and may be deleted before FreeBSD 
>> 14.0.
>> psm0: model Generic PS/2 mouse, device ID 0
>> ...
>> hmt0: <STAR0001:01 093A:0255 TouchPad> on hidbus0
>> hconf0: <STAR0001:01 093A:0255 Configuration> on hidbus0
>> hmt0: Multitouch touchpad with 2 external buttons
>> hmt0: 5 contacts with [C] properties. Report range [0:0] - [1429:809]
>> ...
>> hms0: <STAR0001:01 093A:0255 Mouse> on hidbus0
>> hms0: 2 buttons and [XYWH] coordinates ID=2
> 
> 
> 
>> devinfo -v
>> nexus0
>> ...
>>   acpi0
>>     pcib0 pnpinfo _HID=PNP0A08 _UID=0 _CID=PNP0A03 at handle=\_SB_.PCI0
>>       pci0
>> ...
>>         ig4iic1 pnpinfo vendor=0x8086 device=0x31ba subvendor=0x8086 
>> subdevice=0x31ba class=0x118000 at slot=23 function=3 dbsf=pci0:0:23:3 
>> handle=\_SB_.PCI0.I2C7
>>           iicbus1
>>             iichid0 pnpinfo _HID=STAR0001 _UID=1 _CID=PNP0C50 at addr=0x2c 
>> handle=\_SB_.PCI0.I2C7.H02C
>>               hidbus0
>>                 hms0 pnpinfo page=0x0001 usage=0x0002 bus=0x18 
>> vendor=0x093a product=0x0255 version=0xb002 _HID=STAR0001 at index=0
>>                 hmt0 pnpinfo page=0x000d usage=0x0005 bus=0x18 
>> vendor=0x093a product=0x0255 version=0xb002 _HID=STAR0001 at index=1
>>                 hconf0 pnpinfo page=0x000d usage=0x000e bus=0x18 
>> vendor=0x093a product=0x0255 version=0xb002 _HID=STAR0001 at index=2
>>                 unknown pnpinfo page=0xff00 usage=0x0001 bus=0x18 
>> vendor=0x093a product=0x0255 version=0xb002 _HID=STAR0001 at index=3
>> ...
>>       psm0
>>     psmcpnp0 pnpinfo _HID=PNP0F13 _UID=0 _CID=PNP0F13 at 
>> handle=\_SB_.PCI0.PS2M
> 
> 
> 
>> 
>> libinput list-devices
>> Device:           System mouse
>> Kernel:           /dev/input/event0
>> Group:            1
>> Seat:             seat0, default
>> Capabilities:     pointer Tap-to-click:     n/a
>> Tap-and-drag:     n/a
>> Tap drag lock:    n/a
>> Left-handed:      disabled
>> Nat.scrolling:    disabled
>> Middle emulation: disabled
>> Calibration:      n/a
>> Scroll methods:   button
>> Click methods:    none
>> Disable-w-typing: n/a
>> Accel profiles:   flat *adaptive
>> Rotation:         n/a
>> ...
>> Device:           STAR0001:01 093A:0255 TouchPad
>> Kernel:           /dev/input/event6
>> Group:            7
>> Seat:             seat0, default
>> Size:             110x62mm
>> Capabilities:     pointer gesture
>> Tap-to-click:     disabled
>> Tap-and-drag:     enabled
>> Tap drag lock:    disabled
>> Left-handed:      disabled
>> Nat.scrolling:    disabled
>> Middle emulation: n/a
>> Calibration:      n/a
>> Scroll methods:   *two-finger edge Click methods:    none
>> Disable-w-typing: enabled
>> Accel profiles:   flat *adaptive
>> Rotation:         n/a
>> 
>> Device:           STAR0001:01 093A:0255 Mouse
>> Kernel:           /dev/input/event7
>> Group:            8
>> Seat:             seat0, default
>> Capabilities:     pointer Tap-to-click:     n/a
>> Tap-and-drag:     n/a
>> Tap drag lock:    n/a
>> Left-handed:      disabled
>> Nat.scrolling:    disabled
>> Middle emulation: n/a
>> Calibration:      n/a
>> Scroll methods:   button
>> Click methods:    none
>> Disable-w-typing: n/a
>> Accel profiles:   flat *adaptive
>> Rotation:         n/a
> 
> 
> 
>> cat /var/log/Xorg.0.log
>> ...
>> [    32.278] (II) config/udev: Adding input device System mouse 
>> (/dev/input/event0)
>> [    32.278] (**) System mouse: Applying InputClass "evdev pointer 
>> catchall"
>> [    32.278] (**) System mouse: Applying InputClass "libinput pointer 
>> catchall"
>> [    32.278] (II) LoadModule: "libinput"
>> [    32.278] (II) Loading /usr/local/lib/xorg/modules/input/libinput_drv.so
>> [    32.282] (II) Module libinput: vendor="X.Org Foundation"
>> [    32.282]    compiled for 1.21.1.4, module version = 1.2.0
>> [    32.282]    Module class: X.Org XInput Driver
>> [    32.283]    ABI class: X.Org XInput driver, version 24.4
>> [    32.283] (II) Using input driver 'libinput' for 'System mouse'
>> [    32.283] (**) System mouse: always reports core events
>> [    32.283] (**) Option "Device" "/dev/input/event0"
>> [    32.283] (**) Option "_source" "server/udev"
>> [    32.295] (II) event0  - System mouse: is tagged by udev as: Mouse
>> [    32.296] (II) event0  - System mouse: device is a pointer
>> [    32.297] (II) event0  - System mouse: device removed
>> [    32.297] (**) Option "config_info" "udev:/dev/input/event0"
>> [    32.297] (II) XINPUT: Adding extended input device "System mouse" 
>> (type: MOUSE, id 6)
>> [    32.297] (**) Option "AccelerationScheme" "none"
>> [    32.297] (**) System mouse: (accel) selected scheme none/0
>> [    32.297] (**) System mouse: (accel) acceleration factor: 2.000
>> [    32.297] (**) System mouse: (accel) acceleration threshold: 4
>> [    32.299] (II) event0  - System mouse: is tagged by udev as: Mouse
>> [    32.300] (II) event0  - System mouse: device is a pointer
>> ...
>> [    32.387] (II) config/udev: Adding input device Generic PS/2 mouse 
>> (/dev/input/event4)
>> [    32.387] (**) Generic PS/2 mouse: Applying InputClass "evdev pointer 
>> catchall"
>> [    32.387] (**) Generic PS/2 mouse: Applying InputClass "libinput pointer 
>> catchall"
>> [    32.387] (II) Using input driver 'libinput' for 'Generic PS/2 mouse'
>> [    32.387] (**) Generic PS/2 mouse: always reports core events
>> [    32.387] (**) Option "Device" "/dev/input/event4"
>> [    32.387] (**) Option "_source" "server/udev"
>> [    32.388] (II) event4  - Generic PS/2 mouse: is tagged by udev as: Mouse
>> [    32.389] (II) event4  - Generic PS/2 mouse: device is a pointer
>> [    32.390] (II) event4  - Generic PS/2 mouse: device removed
>> [    32.390] (**) Option "config_info" "udev:/dev/input/event4"
>> [    32.390] (II) XINPUT: Adding extended input device "Generic PS/2 mouse" 
>> (type: MOUSE, id 10)
>> [    32.390] (**) Option "AccelerationScheme" "none"
>> [    32.390] (**) Generic PS/2 mouse: (accel) selected scheme none/0
>> [    32.391] (**) Generic PS/2 mouse: (accel) acceleration factor: 2.000
>> [    32.391] (**) Generic PS/2 mouse: (accel) acceleration threshold: 4
>> [    32.392] (II) event4  - Generic PS/2 mouse: is tagged by udev as: Mouse
>> [    32.393] (II) event4  - Generic PS/2 mouse: device is a pointer
>> [    32.394] (II) config/udev: Adding input device Control Method Lid 
>> Switch (/dev/input/event5)
>> [    32.394] (II) No input driver specified, ignoring this device.
>> [    32.394] (II) This device may have been added with another device file.
>> [    32.394] (II) config/udev: Adding input device STAR0001:01 093A:0255 
>> TouchPad (/dev/input/event6)
>> [    32.394] (**) STAR0001:01 093A:0255 TouchPad: Applying InputClass 
>> "evdev pointer catchall"
>> [    32.394] (**) STAR0001:01 093A:0255 TouchPad: Applying InputClass 
>> "evdev touchpad catchall"
>> [    32.394] (**) STAR0001:01 093A:0255 TouchPad: Applying InputClass 
>> "libinput pointer catchall"
>> [    32.394] (**) STAR0001:01 093A:0255 TouchPad: Applying InputClass 
>> "libinput touchpad catchall"
>> [    32.394] (II) Using input driver 'libinput' for 'STAR0001:01 093A:0255 
>> TouchPad'
>> [    32.394] (**) STAR0001:01 093A:0255 TouchPad: always reports core 
>> events
>> [    32.394] (**) Option "Device" "/dev/input/event6"
>> [    32.394] (**) Option "_source" "server/udev"
>> [    32.396] (II) event6  - STAR0001:01 093A:0255 TouchPad: is tagged by 
>> udev as: Mouse Touchpad
>> [    32.402] (II) event6  - STAR0001:01 093A:0255 TouchPad: device is a 
>> touchpad
>> [    32.403] (II) event6  - STAR0001:01 093A:0255 TouchPad: device removed
>> [    32.405] (**) Option "config_info" "udev:/dev/input/event6"
>> [    32.405] (II) XINPUT: Adding extended input device "STAR0001:01 
>> 093A:0255 TouchPad" (type: TOUCHPAD, id 11)
>> [    32.408] (**) Option "AccelerationScheme" "none"
>> [    32.408] (**) STAR0001:01 093A:0255 TouchPad: (accel) selected scheme 
>> none/0
>> [    32.408] (**) STAR0001:01 093A:0255 TouchPad: (accel) acceleration 
>> factor: 2.000
>> [    32.408] (**) STAR0001:01 093A:0255 TouchPad: (accel) acceleration 
>> threshold: 4
>> [    32.409] (II) event6  - STAR0001:01 093A:0255 TouchPad: is tagged by 
>> udev as: Mouse Touchpad
>> [    32.415] (II) event6  - STAR0001:01 093A:0255 TouchPad: device is a 
>> touchpad
>> [    32.417] (II) config/udev: Adding input device STAR0001:01 093A:0255 
>> Mouse (/dev/input/event7)
>> [    32.417] (**) STAR0001:01 093A:0255 Mouse: Applying InputClass "evdev 
>> pointer catchall"
>> [    32.417] (**) STAR0001:01 093A:0255 Mouse: Applying InputClass 
>> "libinput pointer catchall"
>> [    32.417] (II) Using input driver 'libinput' for 'STAR0001:01 093A:0255 
>> Mouse'
>> [    32.417] (**) STAR0001:01 093A:0255 Mouse: always reports core events
>> [    32.417] (**) Option "Device" "/dev/input/event7"
>> [    32.417] (**) Option "_source" "server/udev"
>> [    32.418] (II) event7  - STAR0001:01 093A:0255 Mouse: is tagged by udev 
>> as: Mouse
>> [    32.419] (II) event7  - STAR0001:01 093A:0255 Mouse: device is a 
>> pointer
>> [    32.421] (II) event7  - STAR0001:01 093A:0255 Mouse: device removed
>> [    32.421] (**) Option "config_info" "udev:/dev/input/event7"
>> [    32.421] (II) XINPUT: Adding extended input device "STAR0001:01 
>> 093A:0255 Mouse" (type: MOUSE, id 12)
>> [    32.421] (**) Option "AccelerationScheme" "none"
>> [    32.421] (**) STAR0001:01 093A:0255 Mouse: (accel) selected scheme 
>> none/0
>> [    32.421] (**) STAR0001:01 093A:0255 Mouse: (accel) acceleration factor: 
>> 2.000
>> [    32.421] (**) STAR0001:01 093A:0255 Mouse: (accel) acceleration 
>> threshold: 4
>> [    32.422] (II) event7  - STAR0001:01 093A:0255 Mouse: is tagged by udev 
>> as: Mouse
>> [    32.423] (II) event7  - STAR0001:01 093A:0255 Mouse: device is a 
>> pointer
>> [    66.908] (II) event0  - System mouse: device removed
>> ...
>> [    66.908] (II) event4  - Generic PS/2 mouse: device removed
>> [    66.908] (II) event6  - STAR0001:01 093A:0255 TouchPad: device removed
>> [    66.909] (II) event7  - STAR0001:01 093A:0255 Mouse: device removed
> 
>  bye & Thanks
> 	av.