Alps PS/2
From Gentoo Wiki
To get the Alps touchpad working, the kernel option ALPS PS/2 mouse protocol extension ( CONFIG_MOUSE_PS2_ALPS ) needs to be activated.
Device Drivers --->
Input device support --->
-*- Generic input layer (needed for keyboard, mouse, ...)
[*] Mice --->
--- Mice
<*> PS/2 mouse
[*] ALPS PS/2 mouse protocol extension
[ ] BYD PS/2 mouse protocol extension
It can be operated using the libinput driver and the default configuration as set in /usr/share/X11/xorg.conf.d/40-libinput.conf should work sufficiently in most cases. Customization can be done via /etc/X11/xorg.conf.d/30-touchpad.conf.
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "on"
Option "Accel Speed" "1.0"
EndSection
For more detailed instruction/description, see https://wiki.archlinux.org/index.php/Libinput#Common_options
In dmesg it will appear like:
user $
dmesg
[ 2.282316] input: AlpsPS/2 ALPS DualPoint Stick as /devices/platform/i8042/serio1/input/input14 [ 2.296204] input: AlpsPS/2 ALPS DualPoint TouchPad as /devices/platform/i8042/serio1/input/input8
lsinput (sys-apps/input-utils) detects it as
root #
lsinput
12: 0002:0008 I8042 isa0060/serio1/i AlpsPS/2 ALPS DualPoint KEY REL ABS 13: 0002:0008 I8042 isa0060/serio1/i AlpsPS/2 ALPS DualPoint KEY ABS
xinput and libinput list-devices can be used to show the touchpad's characteristics:
root #
libinput list-devices | sed -n '/DualPoint/,/^$/p'
Device: AlpsPS/2 ALPS DualPoint Stick Kernel: /dev/input/event12 Group: 6 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: AlpsPS/2 ALPS DualPoint TouchPad Kernel: /dev/input/event13 Group: 6 Seat: seat0, default Size: 80x44mm Capabilities: pointer 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: none Rotation: n/a
user $
xinput
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=12 [slave pointer (2)] ⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=13 [slave pointer (2)]
user $
xinput list --long 13
AlpsPS/2 ALPS DualPoint TouchPad id=13 [slave pointer (2)] Reporting 7 classes: Class originated from: 13. Type: XIButtonClass Buttons supported: 7 Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" Button state: Class originated from: 13. Type: XIValuatorClass Detail for Valuator 0: Label: Rel X Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 13. Type: XIValuatorClass Detail for Valuator 1: Label: Rel Y Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 13. Type: XIValuatorClass Detail for Valuator 2: Label: Rel Horiz Scroll Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 13. Type: XIValuatorClass Detail for Valuator 3: Label: Rel Vert Scroll Range: -1.000000 - -1.000000 Resolution: 0 units/m Mode: relative Class originated from: 13. Type: XIScrollClass Scroll info for Valuator 2 type: 2 (horizontal) increment: 15.000000 flags: 0x0 Class originated from: 13. Type: XIScrollClass Scroll info for Valuator 3 type: 1 (vertical) increment: 15.000000 flags: 0x0
user $
xinput list-props 13
Device 'AlpsPS/2 ALPS DualPoint TouchPad': Device Enabled (125): 1 Coordinate Transformation Matrix (127): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Tapping Enabled (281): 0 libinput Tapping Enabled Default (282): 0 libinput Tapping Drag Enabled (283): 1 libinput Tapping Drag Enabled Default (284): 1 libinput Tapping Drag Lock Enabled (285): 0 libinput Tapping Drag Lock Enabled Default (286): 0 libinput Tapping Button Mapping Enabled (287): 1, 0 libinput Tapping Button Mapping Default (288): 1, 0 libinput Accel Speed (263): 0.000000 libinput Accel Speed Default (264): 0.000000 libinput Natural Scrolling Enabled (268): 0 libinput Natural Scrolling Enabled Default (269): 0 libinput Send Events Modes Available (248): 1, 1 libinput Send Events Mode Enabled (249): 0, 0 libinput Send Events Mode Enabled Default (250): 0, 0 libinput Left Handed Enabled (270): 0 libinput Left Handed Enabled Default (271): 0 libinput Scroll Methods Available (272): 1, 1, 0 libinput Scroll Method Enabled (273): 1, 0, 0 libinput Scroll Method Enabled Default (274): 1, 0, 0 libinput Disable While Typing Enabled (289): 1 libinput Disable While Typing Enabled Default (290): 1 Device Node (251): "/dev/input/event13" Device Product ID (252): 2, 8 libinput Drag Lock Buttons (279): <no items> libinput Horizontal Scroll Enabled (280): 1
Troubleshooting
- Due to kernel bug 204541, some kernel versions from gentoo-sources:4.19.63 also needed IBM Trackpoint PS/2 mouse protocol extension ( CONFIG_MOUSE_PS2_TRACKPOINT ). This is fixed since gentoo-sources:4.19.68