Nik*_*nko 8 keyboard kvm-switch trackpoint 16.04 16.10
我从我的雇主那里得到了一台 KVM 切换器(Aten CS782DP),据我所知,它运行良好。但是,它似乎在 Ubuntu 16.04 和 16.10 上导致我的输入设备(Thinkpad USB Compact Keyboard with TrackPoint)出现问题。我无法再单击中键,也无法垂直滚动(水平工作正常)。
特别是,这是xinput
直接连接键盘时输出的外观:
? 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 with 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)]
? AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
? ThinkPad Extra Buttons id=15 [slave keyboard (3)]
? Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=9 [slave keyboard (3)]
? ATEN KVM V1.1.104 id=16 [slave keyboard (3)]
Run Code Online (Sandbox Code Playgroud)
这是xinput
通过 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 with TrackPoint id=9 [slave pointer (2)]
? ? Lenovo ThinkPad Compact USB Keyboard with 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)]
? AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
? ThinkPad Extra Buttons id=15 [slave keyboard (3)]
? Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=10 [slave keyboard (3)]
Run Code Online (Sandbox Code Playgroud)
据我所知,除了指针设备(ID 9 和 16)的奇怪重复之外,这看起来也不错。我将假设这与 KVM 有点像 USB 集线器有关,暂时忽略这种重复。
我试过xinput test
在两种设备上运行,发现第一个设备接受移动和左右点击(鼠标按钮 1 和 3),而第二个设备只能水平滚动(按钮 6 和 7)。都不接受中间按钮(按钮 2)或垂直滚动(按钮 4 和 5)。
xinput list-props
两种设备的输出看起来相同:
Device 'Lenovo ThinkPad Compact USB Keyboard with 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
Run Code Online (Sandbox Code Playgroud)
Ubuntu ( /usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf
) 中的默认 TrackPoint 配置如下所示:
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
Run Code Online (Sandbox Code Playgroud)
所以根据这个规则,两个设备应该得到相同的配置,即接受移动、所有三个按钮以及两种类型的滚动。然而,情况并非如此,如上所示。直接连接的键盘完美无缺。
那么我错过了什么,我需要做什么才能通过这个 KVM 切换器使我的外部键盘正常工作?
不管你信不信,我已经解决了这个问题。该解决方案并不特定于 Aten KVM 或 Thinkpad Compact 键盘,并且可能有助于解决“我的键盘无法与 KVM 切换器正常工作”的问题。
所以想法是这样的:内核驱动程序正在尝试初始化特定设备(例如键盘)。然而,KVM切换器通常为切换和其他功能提供方便的快捷方式。对于 Aten,有一个双击滚轮的快捷方式。交换机本身需要过滤 USB 突击队才能使其正常工作,这显然会干扰内核在设备上设置某些配置位的能力。就我而言,它无法配置滚动功能。
解决办法很简单:禁用冲突模式。对于Aten,它被称为“鼠标模拟模式”。禁用该功能后,一切都开始正常工作。
归档时间: |
|
查看次数: |
1000 次 |
最近记录: |