16.04 - What do I need to configure if an input device is attached through a KVM switch? - Ask Ubuntu


i've got kvm switch employer (aten cs782dp) works fine far can tell. however, seems causing problem input device (thinkpad usb compact keyboard trackpoint) on both ubuntu 16.04 , 16.10. i'm unable middle-click anymore , neither can scroll vertically (horizontally works fine).

in particular, how xinput output looks when keyboard attached directly:

⎡ virtual core pointer                      id=2    [master pointer  (3)] ⎜   ↳ virtual core xtest pointer                id=4    [slave  pointer  (2)] ⎜   ↳ tpps/2 ibm trackpoint                     id=14   [slave  pointer  (2)] ⎜   ↳ lenovo thinkpad compact usb keyboard trackpoint  id=10   [slave  pointer  (2)] ⎜   ↳ aten kvm v1.1.104                         id=17   [slave  pointer  (2)] ⎜   ↳ synps/2 synaptics touchpad                id=13   [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)]     ↳ sleep button                              id=8    [slave  keyboard (3)]     ↳ integrated camera                         id=11   [slave  keyboard (3)]     ↳ @ translated set 2 keyboard              id=12   [slave  keyboard (3)]     ↳ thinkpad buttons                    id=15   [slave  keyboard (3)]     ↳ lenovo thinkpad compact usb keyboard trackpoint  id=9    [slave  keyboard (3)]     ↳ aten kvm v1.1.104                         id=16   [slave  keyboard (3)] 

this how xinput output looks when attached throught kvm:

⎡ virtual core pointer                      id=2    [master pointer  (3)] ⎜   ↳ virtual core xtest pointer                id=4    [slave  pointer  (2)] ⎜   ↳ tpps/2 ibm trackpoint                     id=14   [slave  pointer  (2)] ⎜   ↳ lenovo thinkpad compact usb keyboard trackpoint  id=9    [slave  pointer  (2)] ⎜   ↳ lenovo thinkpad compact usb keyboard trackpoint  id=16   [slave  pointer  (2)] ⎜   ↳ synps/2 synaptics touchpad                id=13   [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)]     ↳ sleep button                              id=8    [slave  keyboard (3)]     ↳ integrated camera                         id=11   [slave  keyboard (3)]     ↳ @ translated set 2 keyboard              id=12   [slave  keyboard (3)]     ↳ thinkpad buttons                    id=15   [slave  keyboard (3)]     ↳ lenovo thinkpad compact usb keyboard trackpoint  id=10   [slave  keyboard (3)] 

as far can see, looks fine except weird duplication of pointer device (ids 9 , 16). i'm going assume has kvm being bit usb hub , ignore duplication now.

i've tried running xinput test both devices , found out first device accepts movement , left , right clicks (mouse button 1 , 3), while second device horizontal scrolling (button 6 , 7). neither accepts middle button (button 2) or vertical scrolling (buttons 4 , 5).

the output of xinput list-props looks identical both devices:

device 'lenovo thinkpad compact usb keyboard trackpoint':     device enabled (152):   1     coordinate transformation matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000     device accel profile (284): 0     device accel constant deceleration (285):   1.000000     device accel adaptive deceleration (286):   1.000000     device accel velocity scaling (287):    10.000000     device product id (272):    6127, 24647     device node (273):  "/dev/input/event17"     evdev axis inversion (288): 0, 0     evdev axes swap (290):  0     axis labels (291):  "rel x" (162), "rel y" (163), "rel horiz wheel" (282), "rel vert wheel" (283)     button labels (292):    "button left" (155), "button middle" (156), "button right" (157), "button wheel up" (158), "button wheel down" (159), "button horiz wheel left" (160), "button horiz wheel right" (161), "button side" (280), "button extra" (281), "button unknown" (275), "button unknown" (275), "button unknown" (275), "button unknown" (275)     evdev scrolling distance (293): 1, 1, 1     evdev middle button emulation (294):    1     evdev middle button timeout (295):  50     evdev third button emulation (296): 0     evdev third button emulation timeout (297): 1000     evdev third button emulation button (298):  3     evdev third button emulation threshold (299):   20     evdev wheel emulation (300):    1     evdev wheel emulation axes (301):   6, 7, 4, 5     evdev wheel emulation inertia (302):    10     evdev wheel emulation timeout (303):    200     evdev wheel emulation button (304): 2     evdev drag lock buttons (305):  0 

the default trackpoint configuration in ubuntu (/usr/share/x11/xorg.conf.d/11-evdev-trackpoint.conf) looks this:

section "inputclass"         identifier      "trackpoint catchall"         matchispointer  "true"         matchproduct    "trackpoint|dualpoint stick"         matchdevicepath "/dev/input/event*"         option  "emulate3buttons"       "true"         option  "emulatewheel"  "true"         option  "emulatewheelbutton"    "2"         option  "xaxismapping"  "6 7"         option  "yaxismapping"  "4 5" endsection 

so according rule, both devices should identical configuration, accept movement, 3 buttons , both types of scrolling. not case, illustrated above. directly attached keyboard works flawlessly.

so missing, need make external keyboard work through kvm switch?

believe or not, i've solved one. solution not specific either aten kvm or thinkpad compact keyboard , might in generic "my keyboard not work kvm switch properly".

so idea this: kernel driver trying initialize specific device (e.g. keyboard). however, kvm switch provides convenience shortcuts switching , other features. in case of aten there shortcut double-click on scroll wheel. switch needs filter usb commandos working intefers kernel's ability set configuration bits on device. in case, failed configure scrolling functionality.

the soluton simple: disable conflicting mode. aten, it's called "mouse emulation mode". having disabled that, started working properly.


Comments

Popular posts from this blog

download - Firefox cannot save files (most of the time), how to solve? - Super User

windows - "-2146893807 NTE_NOT_FOUND" when repair certificate store - Super User

sql server - "Configuration file does not exist", Event ID 274 - Super User