xbindkeys のデフォルトのサンプル構成には、キーコードを直接指定する例があります。
# set directly keycode (here control + f with my keyboard) #"xterm" # c:41 + m:0x4
c:
とはどういうm:
意味ですか? xbindkeysのドキュメントにはこれについて何も記載されていません。
そして、xbindkeys -k
鍵を見つけるために使用できるコードも知っています。これがうまくいかない場合(非標準のfnキーの1つの場合、コマンドはキーの押下に応答しませんが、一般的な操作を実行します)、xbindkeys
キーを処理できません。キーコードshowkey -k
(私の場合は217)を知っていますが?
答え1
c:41 + m:0x4
xbindkeys -k
バインドするキーを押したときに報告される内容です。
これがうまくいかない場合(非標準のfnキーの1つの場合、コマンドはキーの押下に応答しませんが、通常の操作を実行します)、xbindkeysがキーを処理できないことを意味しますか?
おそらく。
しかし、システムのどの部分がキーを「盗んだのか」に従って動作させることもできます。
X11アプリケーションの場合、キーを盗むことを「キャッチ」と呼びます。残念ながら、鍵を持っている人を識別するのは難しいです。。クロールを無効にすると、xbindkeysはクロールする機会があります。
X11アプリケーションでない場合(またはX11アプリケーションであっても)、システムログを確認して、キーを押したときに記録されたエントリがあることを確認してください。これは、誰がキーストロークを処理しているかについての重要な手がかりを提供します。
showkey -k(私の場合は217)のキーコードを知っていてもどうなりますか?
これは必要な重要なコードではありません。showkey
Linuxのキーコードが表示されますが、Xorgには独自のキーコードがあります。 Xorgのキーコードは通常8つずつ移動し、キーコードは225です。しかし、xbindkeys -k
これがキーコードの表示方法です。これがうまくいかない場合は、xbindkeysがキーを検出できないことを意味します。
答え2
これは文書化されていないようですが、3つの修飾子、b:
およびc:
それぞれm:
がマウスボタン、キーコード、および修飾子マスクの数値を導入します。だから
c:41 + m:0x4
「コード41のあるキー」(fキーボード)、修飾子4、つまり Ctrl。修飾子の値は以下で定義されます/usr/include/X11/X.h
。
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
state in various key-, mouse-, and button-related events. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
2番目の質問に対する答えはわかりませんがc:217
。