ฉันมีสวิตช์ KVM จากนายจ้างของฉัน (Aten CS782DP) ซึ่งทำงานได้ดีที่สุดเท่าที่ฉันจะบอกได้ อย่างไรก็ตามดูเหมือนว่าจะทำให้เกิดปัญหากับอุปกรณ์อินพุตของฉัน (Thinkpad USB Compact Keyboard กับ TrackPoint) บนทั้ง Ubuntu 16.04 และ 16.10 ฉันไม่สามารถคลิกกลางได้อีกต่อไปและฉันไม่สามารถเลื่อนในแนวตั้ง (ใช้ได้ในแนวนอน)
โดยเฉพาะนี่คือ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)]
นี่คือ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)]
เท่าที่ฉันเห็นนี่ก็ดูดียกเว้นการทำซ้ำของอุปกรณ์ตัวชี้ (IDs 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
การกำหนดค่า TrackPoint เริ่มต้นใน Ubuntu ( /usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf
) มีลักษณะดังนี้:
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
ดังนั้นตามกฎนี้อุปกรณ์ทั้งสองควรได้รับการกำหนดค่าเหมือนกันซึ่งก็คือการยอมรับการเคลื่อนไหวปุ่มทั้งสามและการเลื่อนทั้งสองแบบ อย่างไรก็ตามนี่ไม่ใช่กรณีดังที่แสดงไว้ด้านบน คีย์บอร์ดที่ต่อตรงทำงานได้อย่างไร้ที่ติ
ดังนั้นฉันหายไปฉันต้องทำอย่างไรเพื่อให้แป้นพิมพ์ภายนอกทำงานอย่างถูกต้องผ่านสวิตช์ KVM นี้