
私は(キーコード=135)(別名右クリック)について話していますMenu。私はそれを使いません
だから私はそれを無効にしたコンテキストメニューXmodmap ツールを使用したアクションでは、メニューが開かず、キーボード ショートカットが引き続き機能します*
また、繰り返しも無効にしました(などのキーは 押している間は繰り返し実行されないxset -r 135
ため)Ctrl
* しかし問題は、 how Ctrl、Shiftdoesなどの他のキーと組み合わせることができないことですAlt。
たとえば、Shift+ Alt+のようなショートカットを作成できますSが、 +somekey ではそのようなことはできませんMenu。他のキーとバインドされません。キーの「コード」を作成することはできますが、それは私が探しているものではありません。
Xmodmap ではできないようです :/
実行すると、、などのxev -event keyboard
キーで何が変化するかがわかりますCtrl。ShiftAltstate
価値は、state 0x0
押すと、state 0x4
( の場合Ctrl L)離すと、Menuキーとその他のバインドできないキーではこのようなことは起こらず、すべてstate 0x0
、これが問題なのでしょうか?
これをどうすれば解決できますか?
ありがとう
答え1
修飾キーを誤解しています。
修飾子が何であるかは で確認できますxmodmap
。
MenuF10は、(使用するソフトウェアに応じて)いくつかのコンテキスト メニューをトリガーできるにもかかわらず、デフォルトでは修飾子ではありません。
state 0x0
の出力を見るとxev
、それが修飾子に効果的に関連していることがわかります。複数の修飾子を同時に押すと、合計が表示されます。
効率的には、xmodmap
必要なものを作成することはできません。Menu有効な修飾子名を使用して修飾子マップに効果的に追加し、xkb
マップを変更してキーシンボルが送信されるようにすることはできますが、これはエレガントな方法ではありません。
代わりに、 という名前のソフトウェアxcape
(Wayland と互換性のあるソフトウェアは他にもありますHyper_R) を使用して、このキーを他のキーと組み合わせて押したとき、および単独で押したときの修飾子をエミュレートすることをお勧めします (たとえば、これを mod マップに追加することを前提とします) Menu。