Що мені потрібно налаштувати, якщо пристрій введення підключено через комутатор KVM?


8

У мене від роботодавця є перемикач KVM (Aten CS782DP), який добре працює, наскільки я можу сказати. Однак, схоже, це викликає проблеми з моїм пристроєм введення (Компактна клавіатура USB Thinkpad з 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)]

Наскільки я бачу, це також виглядає чудово, за винятком дивного дублювання вказівного пристрою (ідентифікатори 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?


У мене є перемикач Aten KVM, але інша модель. У мене з цим не було жодних проблем. Це може бути проблема з апаратним забезпеченням або деякою прошивкою, яку важко вирішити. Можливо, ви можете спробувати іншу клавіатуру (інша марка та модель).
sudodus

Відповіді:


0

Вірите чи ні, я вирішив це. Рішення не характерне ні для клавіатури Aten KVM, ні для клавіатури Thinkpad Compact, і може допомогти в загальному випадку "моя клавіатура не працює належним чином з перемикачем KVM".

Тож ідея така: драйвер ядра намагається ініціалізувати конкретний пристрій (наприклад, клавіатуру). Однак перемикач KVM, як правило, пропонує зручні комбінації клавіш для перемикання та інші функції. У разі Aten є ярлик для подвійного клацання по колесі прокрутки. Сам комутатор потребує фільтрації USB-командос, щоб отримати цю роботу, яка, очевидно, має на увазі можливість ядра встановлювати певні біти конфігурації на пристрої. У моєму випадку не вдалося налаштувати функцію прокрутки.

Солютон простий: вимкніть конфліктний режим. Для Aten це називається "режим емуляції миші". Відключивши це, все почало працювати належним чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.