입력 장치가 KVM 스위치를 통해 연결된 경우 무엇을 구성해야합니까?


8

내가 알 수있는 한 잘 작동하는 고용주 (Aten CS782DP)의 KVM 스위치가 있습니다. 그러나 Ubuntu 16.04 및 16.10의 입력 장치 (TrackPoint가있는 ThinkPad USB Compact Keyboard)에 문제가있는 것 같습니다. 더 이상 가운데 버튼을 클릭 할 수 없으며 세로로 스크롤 할 수 없습니다 (가로가 제대로 작동 함).

특히, 이것은 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 throught를 부착 할 때 출력 외모가 좋아 :

⎡ 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)]

내가 볼 수있는 한, 이것은 포인터 장치 (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

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

따라서이 규칙에 따라 두 장치 모두 동일한 구성을 가져야합니다. 즉, 움직임, 세 개의 버튼 및 두 가지 유형의 스크롤을 모두 수용해야합니다. 그러나 위에서 설명한 것처럼 그렇지 않습니다. 직접 연결된 키보드는 완벽하게 작동합니다.

무엇을 놓쳤습니까?이 KVM 스위치를 통해 외부 키보드가 올바르게 작동하려면 어떻게해야합니까?


Aten KVM 스위치가 있지만 다른 모델이 있습니다. 나는 그것에 아무런 문제가 없었습니다. 하드웨어 나 일부 펌웨어에 문제가있을 수 있으며 해결하기가 어렵습니다. 다른 키보드 (다른 브랜드 이름 및 모델)를 사용해 볼 수도 있습니다.
sudodus

답변:


0

믿거 나 말거나, 나는 이것을 해결했다. 이 솔루션은 Aten KVM 또는 Thinkpad Compact 키보드에만 국한된 것이 아니며 일반적인 "내 키보드가 KVM 스위치와 제대로 작동하지 않습니다"에 도움이 될 수 있습니다.

커널 드라이버가 특정 장치 (예 : 키보드)를 초기화하려고합니다. 그러나 KVM 스위치는 일반적으로 전환 및 기타 기능에 편리한 단축키를 제공합니다. Aten의 경우 스크롤 휠을 두 번 클릭하기위한 바로 가기가 있습니다. 스위치 자체는 USB 코만도를 필터링하여 장치가 특정 구성 비트를 설정하는 커널의 기능을 방해하는이 작업을 수행해야합니다. 필자의 경우 스크롤 기능을 구성하지 못했습니다.

해결 방법은 간단합니다. 충돌 모드를 비활성화하십시오. Aten의 경우 "마우스 에뮬레이션 모드"라고합니다. 이를 비활성화하면 모든 것이 제대로 작동하기 시작했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.