I have investigated a bit more. Using xinput list-props
, I get for the broken keyboard:
xinput list-props 10
Device 'Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint':
Device Enabled (170): 1
Coordinate Transformation Matrix (172): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (301): 0
libinput Natural Scrolling Enabled Default (302): 0
libinput Scroll Methods Available (308): 0, 0, 1
libinput Scroll Method Enabled (309): 0, 0, 0
libinput Scroll Method Enabled Default (310): 0, 0, 1
libinput Button Scrolling Button (311): 2
libinput Button Scrolling Button Default (312): 2
libinput Button Scrolling Button Lock Enabled (313): 0
libinput Button Scrolling Button Lock Enabled Default (314): 0
libinput Middle Emulation Enabled (315): 0
libinput Middle Emulation Enabled Default (316): 0
libinput Accel Speed (317): 0.600000
libinput Accel Speed Default (318): 0.000000
libinput Accel Profiles Available (319): 1, 1, 1
libinput Accel Profile Enabled (320): 1, 0, 0
libinput Accel Profile Enabled Default (321): 1, 0, 0
libinput Accel Custom Fallback Points (322): <no items>
libinput Accel Custom Fallback Step (323): 0.000000
libinput Accel Custom Motion Points (324): <no items>
libinput Accel Custom Motion Step (325): 0.000000
libinput Accel Custom Scroll Points (326): <no items>
libinput Accel Custom Scroll Step (327): 0.000000
libinput Left Handed Enabled (303): 0
libinput Left Handed Enabled Default (304): 0
libinput Send Events Modes Available (286): 1, 0
libinput Send Events Mode Enabled (287): 0, 0
libinput Send Events Mode Enabled Default (288): 0, 0
Device Node (289): "/dev/input/event9"
Device Product ID (290): 6127, 24585
libinput Drag Lock Buttons (305): <no items>
libinput Horizontal Scroll Enabled (306): 1
libinput Scrolling Pixel Distance (328): 15
libinput Scrolling Pixel Distance Default (329): 15
libinput High Resolution Wheel Scroll Enabled (307): 1
For the working keyboard, I get:
xinput list-props 23
Device 'ThinkPad Compact Bluetooth Keyboard with TrackPoint':
Device Enabled (170): 1
Coordinate Transformation Matrix (172): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (286): 1, 0
libinput Send Events Mode Enabled (287): 0, 0
libinput Send Events Mode Enabled Default (288): 0, 0
Device Node (289): "/dev/input/event10"
Device Product ID (290): 6127, 24648
One thing I noticed is that xinput
cannot distinguish the pointer and keyboard portions of the non-working keybaord, but does so for the working bluetooth keyboard:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=9 [slave pointer (2)]
⎜ ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=10 [slave pointer (2)]
⎜ ↳ keyd virtual pointer id=19 [slave pointer (2)]
⎜ ↳ ThinkPad Compact Bluetooth Keyboard with TrackPoint id=17 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ keyd virtual keyboard id=18 [slave keyboard (3)]
↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=20 [slave keyboard (3)]
↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=21 [slave keyboard (3)]
↳ ThinkPad Compact Bluetooth Keyboard with TrackPoint id=23 [slave keyboard (3)]
Is this assignment made on the driver level or configured elsewhere?