# touchpad setup with libinput



## Pardub (Apr 17, 2021)

Hi everyone,

I installed FreeBSD 13.0 and Mate desktop installed but I have 2 issues wit the touchpad which is a Alps model (at least, that's how it was described under W10 by cheeking the settings).

The touchpad itself is working, the left and right button as well. 

1) But I’m unable to modify permanently the touchpad acceleration speed.

The following command `xinput set-prop 12 "libinput Accel Speed" 0.9` does modify the acceleration speed but as expected, the change doesn’t survive after a reboot.

Under /usr/local/etx/X11/xorg.conf.d/ I created the file 30-mylibinput.conf and added the following lines.


```
Section "InputClass"
Identifier "libinput touchpad catchall"
Driver "libinput"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "AccelSpeed" "0.5"
Option "ClickMethod" "clickfinger"
Option "DisableWhileTyping" "on"
Option "HorizontalScrolling" "on"
Option "LeftHanded" "off"
Option "NaturalScrolling" "off"
Option "ScrollMethod" "twofinger"
Option "Tapping" "on"
Option "TappingDrag" "on"
Option "TappingDragLock" "off"
EndSection
```


2) The second issue is I can’t set up the 2 fingers scrolling.

In the file above 30-mylibinput.conf, the method `Option "ScrollMethod" "twofinger"` doesn't seem to produce any change after a reboot.

If I run the command `xinput set-prop 12 289 1`, there is the output:



```
example% xinput set-prop 12 289 1
X Error of failed request:  BadAccess (attempt to access private resource denied)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Serial number of failed request:  20
  Current serial number in output stream:  21
example%
```


Some extra outputs:

xinput list

```
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ System mouse                                id=6    [slave  pointer  (2)]
⎜   ↳ GlidePoint                                  id=12    [slave  pointer  (2)]
⎜   ↳ Atmel maXTouch Digitizer                    id=13    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ System keyboard multiplexer                 id=7    [slave  keyboard (3)]
    ↳ ACPI video extension                        id=8    [slave  keyboard (3)]
    ↳ Power Button                                id=9    [slave  keyboard (3)]
    ↳ Sleep Button                                id=10    [slave  keyboard (3)]
    ↳ AT keyboard                                 id=11    [slave  keyboard (3)]
```

`xinput list-props 12` after reboot


```
Device 'GlidePoint':
    Device Enabled (160):    1
    Coordinate Transformation Matrix (161):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (283):    0
    libinput Natural Scrolling Enabled Default (284):    0
    libinput Scroll Methods Available (285):    0, 0, 1
    libinput Scroll Method Enabled (286):    0, 0, 0
    libinput Scroll Method Enabled Default (287):    0, 0, 0
    libinput Button Scrolling Button (288):    3
    libinput Button Scrolling Button Default (289):    3
    libinput Button Scrolling Button Lock Enabled (290):    0
    libinput Button Scrolling Button Lock Enabled Default (291):    0
    libinput Accel Speed (294):    0.000000
    libinput Accel Speed Default (295):    0.000000
    libinput Accel Profiles Available (296):    1, 1
    libinput Accel Profile Enabled (297):    1, 0
    libinput Accel Profile Enabled Default (298):    1, 0
    libinput Left Handed Enabled (299):    0
    libinput Left Handed Enabled Default (300):    0
    libinput Send Events Modes Available (301):    1, 0
    libinput Send Events Mode Enabled (302):    0, 0
    libinput Send Events Mode Enabled Default (303):    0, 0
    Device Node (304):    "/dev/input/event7"
    Device Product ID (305):    2, 1
    libinput Drag Lock Buttons (306):    <no items>
    libinput Horizontal Scroll Enabled (307):    1
```

Thank you for your help.


----------



## cube23 (Jun 13, 2021)

Hello,
I have the same problem on the Dell Latitude E6440. Freshly installed freebsd (13.0-RELEASE-p1), drm-kmod, xorg, chromium. Everything works fine. But two-finger scrolling does not work on the touchpad. I tried add:
/boot/loader.conf

```
hw.psm.elantech_support="1"
```
/etc/sysctl.conf

```
kern.evdev.rcpt_mask=6
```
or

```
kern.evdev.rcpt_mask=12
```
but it didn't work.
I also tried this 
	

	







						GitHub - wulf7/iichid: Generic HID layer for FreeBSD. Including I2C and USB backends.
					

Generic HID layer for FreeBSD. Including I2C and USB backends. - GitHub - wulf7/iichid: Generic HID layer for FreeBSD. Including I2C and USB backends.




					github.com
				



I only added touchpad.conf to config xorg but it doesn't work:

```
Section "InputDevice"
    Identifier "HID device"
    Driver "libinput"
    Option "Device" "/dev/input/event6"
    Option "AutoServerLayout" "true"
    Option "ScrollMethod" "twofinger"
EndSection
```
I have installed:
libinput-1.16.4                Generic input library
xf86-input-libinput-0.30.0_1   X.Org libinput input driver
My modules:

```
kldstat
Id Refs Address                Size Name
1  101 0xffffffff80200000  1f11ef8 kernel
2    1 0xffffffff82112000   67feb0 zfs.ko
3    1 0xffffffff82792000    1abe8 geom_eli.ko
4    1 0xffffffff827ad000     ae38 cryptodev.ko
5    1 0xffffffff8348f000     3378 acpi_wmi.ko
6    1 0xffffffff83493000     3250 ichsmb.ko
7    1 0xffffffff83497000     2180 smbus.ko
8    1 0xffffffff8349a000   158458 i915kms.ko
9    1 0xffffffff835f3000    7e4c8 drm.ko
10    2 0xffffffff83672000     cbc8 linuxkpi_gplv2.ko
11    2 0xffffffff8367f000     2328 lindebugfs.ko
12    1 0xffffffff83682000     5bdc ig4.ko
13    2 0xffffffff83688000     433c iicbus.ko
14    1 0xffffffff8368d000     3240 iichid.ko
15    2 0xffffffff83691000     31f8 hidbus.ko
16    1 0xffffffff83695000     2340 uhid.ko
17    1 0xffffffff83698000     4350 ums.ko
18    1 0xffffffff8369d000     3380 usbhid.ko
19    1 0xffffffff836a1000     3320 wmt.ko
20    1 0xffffffff836a5000     4b60 ng_ubt.ko
21    6 0xffffffff836aa000     aac8 netgraph.ko
22    2 0xffffffff836b5000     a238 ng_hci.ko
23    3 0xffffffff836c0000     25a8 ng_bluetooth.ko
24    1 0xffffffff836c3000     e250 ng_l2cap.ko
25    1 0xffffffff836d2000    1ce48 ng_btsocket.ko
26    1 0xffffffff836ef000     3980 ng_socket.ko
27    1 0xffffffff836f3000     2a08 mac_ntpd.ko
```
xinput list:

```
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ HID device                                  id=6    [slave  pointer  (2)]
⎜   ↳ System mouse                                id=7    [slave  pointer  (2)]
⎜   ↳ GlidePoint                                  id=12    [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft Nano Transceiver v2.0    id=14    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ System keyboard multiplexer                 id=8    [slave  keyboard (3)]
    ↳ Power Button                                id=9    [slave  keyboard (3)]
    ↳ Sleep Button                                id=10    [slave  keyboard (3)]
    ↳ AT keyboard                                 id=11    [slave  keyboard (3)]
    ↳ Microsoft Microsoft Nano Transceiver v2.0    id=13    [slave  keyboard (3)]
```
Link to hw-probe:
Dell Latitude E6440 FreeBSD
Dell Latitude E6440 Arch Linux
On ArchLinux, the touchpad was detected correctly, the scrolling with two fingers worked. I tried to switch to FreeBSD several times, but without the correct touchpad working, I returned to Linux. Maybe someone can help us. Thx.


----------

