awesome の mod キーを Windows キーから Pause、Scroll Lock、Escape のいずれかに変更しようとしました。
すべてのキーについて、設定ファイルのエントリを変更しようとしましたrc.lua
。xmodmapを使用してロックを解除しようとしました。add mod4 = ...
しかし、何をしてもキーが「粘着性」を持つ (奇妙な一貫性のない方法で時々) ようで、つまり、キーを一度押すと、コンピューターはキーが常に押されているかのように動作します。
この動作を変更する合理的な方法はありますか?
答え1
私の家には、次の 2 行を含むファイルがあります。
clear lock
keysym Caps_Lock = Super_L
私のrc.luaこのような:
awful.util.spawn("xmodmap /home/username/your_xmodmap.file")
答え2
かなり遅くなりましたが、他の人の参考のために:
問題は、xmodmap が修飾キーとしてリストしたキーを識別していないことのようです。したがって、AwesomeWM では、修飾キーとして使用できません。
使用したいキーを Mod3 として追加してみてください (これは、私が見たほとんどのシステムでは何も使用されていないようです)。すると、rc.lua は modkey を「Mod3」としてリストできます。
修飾キーとして追加
修飾キーは で確認できますxmodmap
。デフォルトでは、おそらく次のようになります。
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
xev
を使用すると、実行中に押したキーの名前を確認できます。Scroll Lock の場合は次のように表示されます。
KeyPress event, serial 36, synthetic NO, window 0x2200001,
root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x2200001,
root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
キーシムの名前が であることに気づくでしょうScroll_Lock
。Mod3
に追加するには、 を作成するか、 に追加する必要があります~/.Xmodmap
。この行を追加すると、Mod3 が Scroll_Lock キーのみに設定されます。
add Mod3 = Scroll_Lock
変更をテストし、.Xmodmapファイル内のエラーを確認するには、次のコマンドを実行します。
xmodmap ~/.Xmodmap
rc.lua の更新
すでにお分かりのとおり、rc.lua ファイル (通常は~/.config/awesome/rc.lua
) の上部に という行がありますmodkey = "Mod4"
。これを に変更しますmodkey = "Mod3"
。
警告
Esc キーは、AwesomeWM によっていくつかのキー マッピングに使用されます。競合があまり発生しない可能性が高いため、代わりに Scroll Lock または Pause を試すことをお勧めします。実際、AwesomeWM は、Esc が現在の操作をキャンセルするために予約されていると想定しているようです。Scroll
Lock は、Caps Lock と同様に、魔法のようにロック キーとして扱われているようです。違いは、Caps Lock のロック動作を無効にするのは比較的簡単ですが、Scroll Lock では、私が知る限り、この動作を無効にすることはできないことです。Numpad
の 0 キーなど、通常は状態ロック キーとして設計されていないキーでこれを試し、機能することを確認してから、必要なキーに切り替えてみることをお勧めします。
答え3
3年遅れているのは分かっていますが、これが誰かの役に立つなら、
modkey = "Mod4"
と
modkey = "Mod1"