私はこの問題に似た多くの議論を見てきましたが、まだこれを機能させることができていません。
私は最近、左の小指をひどく骨折しました。 Fragpedal Quad を取得し、ペダルをcontrolやalt、tabなどに再マッピングしようとしています。
デバイスはマウスのように動作します-デフォルトでは、ペダルは上にスクロール、下にスクロール、右クリック、左クリックにマップされます。 xinputを実行すると、次の結果が得られます。
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Good Work Systems, Inc. GWS IDI Device id=9 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=11 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Good Work Systems, Inc. GWS IDI Device id=10 [slave keyboard (3)]
↳ Lenovo Lenovo Black Silk USB Keyboard id=12 [slave keyboard (3)]
↳ Lenovo Lenovo Black Silk USB Keyboard id=13 [slave keyboard (3)]
ペダルは「Good Work Systems」デバイスです。
私がこれを私が望むように振る舞わせるのに一番近かったのは、.xbindkeys構成を次のように作成および編集することでした:
# Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
b:5
# Cut
"xte 'keydown Control_L' 'key X' 'keyup Control_L"
b:4
# Paste
"xte 'keydown Control_L' 'key V' 'keyup Control_L'"
b:3
# Select All
"xte 'keydown Control_L' 'key A' 'keyup Control_L'"
b:1
しかし、これは私の通常のマウスボタンにも影響します。デバイスごとのキーマッピングを指定するにはどうすればよいですか?
デバイスのマウスボタンを未使用のマウスボタンにマップし、xbindkeysを使用してそれらを参照します。
xinput list
を使用して、デバイスのIDを見つけます。xinput set-button-map
ボタンを他のマウスボタンに再マップします。たとえば、xinput list
は、デバイスのIDが15であり、デバイスに4つのボタンがあることを示します。xinput set-button-map 15 10 11 12 13
。デバイス15のマウスクリックをb:10、b:11、b:12、b:13に設定しました。これは現時点で2年前であり、すでに回答済みですが、今後の参考のために、xte
への呼び出しでデバイスIDを指定できます。
# Copy
"xte -i 9 'keydown Control_L' 'key C' 'keyup Control_L'"
b:5
# Cut
"xte -i 9 'keydown Control_L' 'key X' 'keyup Control_L"
b:4
# Paste
"xte -i 9 'keydown Control_L' 'key V' 'keyup Control_L'"
b:3
# Select All
"xte -i 9 'keydown Control_L' 'key A' 'keyup Control_L'"
b:1
このshouldは、-i
として指定されたIDで識別される単一のデバイスへの変更を制限します。これらのIDはスタートアップごとに異なる方法でマッピングできるため、変更をスクリプト化して、手動で実行できるようにすることができます。
(こちらもご覧くださいhttps://askubuntu.com/a/492745 )