Awesome WMでModキーを変更する


9

私はMODキーをWindowsキーからPause、Scroll Lock、Escapeのいずれかに変更しようとしました。

すべてのキーについて、rc.lua構成ファイルのエントリを変更しようとしました。ロックをクリアするためにxmodmapを使用してみましたadd mod4 = ...

しかし、私が何をしても、キーが「スティッキー」になる(奇妙な一貫性のない方法で)、つまり、コンピューターが常に押されているかのように動作してからキーを押すと、キーが「スティッキー」になる場合があります。

この動作を変更する合理的な方法はありますか?

回答:


2

家に次の2行のファイルがあります。

clear lock 
keysym Caps_Lock = Super_L

次のようにrc.luaから呼び出されます。

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")

modskeyとしてcapslockを使いたくありません。このclear lockコマンドはシフトロックをクリアします。質問の最初の行に記載されているいずれのキーにもシフトロックがあってはなりません。
Archie

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では、この動作を無効にすることはできません。

テンキーの0キーなどのキー、または通常は状態ロックキーとして設計されていないキーでこれを試してみて、機能することを確認してから、目的のキーに切り替えてみてください。


0

私は3年遅れていることを知っていますが、これが誰かに役立つ場合は、切り替えます

modkey = "Mod4"

modkey = "Mod1"

それが基本的な概念ですが、彼がリストした特定のキーは、rc.luaのような単純な変更では使用できません。rc.luaのmodkey設定は、xmodmapが修飾キー(shiftやctrlなど)として扱うキーにのみ設定でき、 'x'などに設定することはできません。
mtalexan 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.