シンプルなフットスイッチを購入し、キーを他の何かに再マッピングしようとしています。現在、フットスイッチはキーコード56(文字b)にバインドされています。フットスイッチを押すと、xevは次を返します。
KeyPress event, serial 36, synthetic NO, window 0x1000001,
root 0x81, subw 0x0, time 29926629, (-485,502), root:(713,618),
state 0x10, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XmbLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1000001,
root 0x81, subw 0x0, time 29927029, (-485,502), root:(713,618),
state 0x10, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
すべてのキーボードの「b」キーを再マップしたくないので、xkbcompを機能させようとしています。
私はもう試した xkbcomp -i 14 ~/Documents/footswitchlayout.xkb $DISPLAY
およびレイアウトを手動で編集し、xkbcomp -i 1 $DISPLAY ~/Documents/footswitchlayout.xkb
しかし、注目すべき変更。まだ「b」キーを入力します。
xinputが返す
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ A4Tech PS/2+USB Mouse id=13 [slave pointer (2)]
⎜ ↳ RDing FootSwitch1F1. id=14 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_2HDM id=11 [slave keyboard (3)]
↳ Dell Dell QuietKey Keyboard id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
↳ Dell WMI hotkeys id=17 [slave keyboard (3)]
私は何を間違えていますか?誰かが私を正しい方向に向けることができますか?
多くの手間とキーの再バインドがxkbcompで機能しませんでした(他のキーボードでも機能しますが、おそらくフットスイッチがマウスと見なされるため)。問題を完全に解決し、使いやすい小さなターミナルプログラムを見つけました。
プログラムは footswitch
by Radoslav Gerganov と呼ばれます。
次のコマンドを実行してインストールできます。
Sudo apt-get install libhidapi-dev
git clone https://github.com/rgerganov/footswitch.git
cd footswitch
make
Sudo make install
インストールが完了したら、Sudo footswitch -r
そしてSudo footswitch -k <key>
。事前にプログラムされたすべてのキーは、common.c
。
編集:この再マッピングは、基本的にフットスイッチの再プログラミングであり、ITはPCのフットスイッチに影響します。したがって、これを使用し、Windowsで別のキーが必要な場合は、LinuxまたはMacでフットスイッチキーを変更するたびに、Windows用に再マップする必要があります。