入力デバイスがKVMスイッチを介して接続されている場合、何を構成する必要がありますか?


8

私の雇用者(Aten CS782DP)からKVMスイッチを入手しました。しかし、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)]

これは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)]

私が見る限り、ポインタデバイス(ID 9および16)の奇妙な重複を除いて、これも問題ありません。これは、KVMがUSBハブのようなものであることを前提とし、今のところこの重複を無視します。

私はxinput test両方のデバイスで実行してみましたが、最初のデバイスは動きと左クリックと右クリック(マウスボタン1と3)を受け入れ、2番目のデバイスは水平スクロールのみ(ボタン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)のデフォルトのトラックポイント構成は次のようになります。

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

したがって、このルールによれば、両方のデバイスは同じ構成を取得する必要があります。つまり、動き、3つのボタンすべて、および両方のタイプのスクロールを受け入れる必要があります。ただし、上記のように、これは当てはまりません。直接接続されたキーボードは問題なく動作します。

では、何が欠けているのですか、このKVMスイッチを介して外部キーボードを正しく機能させるには何をする必要がありますか?


Aten KVMスイッチを使用していますが、モデルが異なります。何の問題もありませんでした。ハードウェアまたは一部のファームウェアの問題であり、解決が難しい場合があります。たぶん、別のキーボード(別のブランド名とモデル)を試すことができます。
sudodus 2016年

回答:


0

信じられないかもしれませんが、私はこれを解決しました。この解決策は、Aten KVMまたはThinkpad Compactキーボードに固有のものではなく、一般的な「キーボードがKVMスイッチで正しく機能しない」という問題に役立つ可能性があります。

つまり、アイデアはこれです。カーネルドライバーは特定のデバイス(キーボードなど)を初期化しようとしています。ただし、KVMスイッチは通常、切り替えやその他の機能に便利なショートカットを提供します。Atenの場合、スクロールホイールをダブルクリックするためのショートカットがあります。スイッチ自体は、これを機能させるためにUSBコマンドをフィルタリングする必要があります。これは、デバイスに特定の構成ビットを設定するカーネルの機能と明らかに干渉します。私の場合、スクロール機能の設定に失敗しました。

解決策は単純です。競合モードを無効にします。アテンの場合、「マウスエミュレーションモード」と呼ばれます。それを無効にすると、すべてが適切に機能し始めました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.