Openboxのキーボード操作のためのショートカット定義で少し問題があります。 ショートカットを実行する接頭辞としてcaps lockキーを使用したいと思います。Openbox ArchLinuxのキーバインドRC.xmlのCapsLock
私はスワップキャップとハイパー前XEV から setxkbmap -option caps:hyper
出力によって行われ、私は、ハイパーキーにCapsLockのキーをリマップうと思った:
KeyRelease event, serial 48, synthetic NO, window 0x3400001,
root 0xf6, subw 0x0, time 2262248, (-560,518), root:(585,681),
state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
後XEV からの出力をスワップキャップとハイパー:
KeyRelease event, serial 48, synthetic NO, window 0x3400001,
root 0xf6, subw 0x0, time 2364568, (-112,127), root:(1033,290),
state 0x40, keycode 66 (keysym 0xffed, Hyper_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
申し分なく、これまでのところ、とても良い。 RCXでハイパーキーでアクションを定義すると、
</keybind>
<keybind key="H-x">
<action name="Execute">
<command>gmrun</command>
</action>
</keybind>
実際に動作します!
しかし、スーパーキーを使用してプッシュすると、gmrunも実行されます。何らかの形で、スーパーキーもハイパーとして機能します。うーん、それは正しい仮定ですか、私はここで見逃していますか?
BtwここではSuperからのxev出力ですので、明らかに別のキーです。
さて、setxkbmapコマンドを使用した後、caps lockのキーコードが変更されていないことに気付きました。どちらの条件でも、キーコード66(setxkbmap -option caps:none
の後でも)。 http://openbox.org/wiki/Help:Bindings#Keysに頼る
それはキーコードを使用することが実際に可能だ、私は私にRC.xml例を変更:
</keybind>
<keybind key="0x42-x">
<action name="Execute">
<command>gmrun</command>
</action>
</keybind>
しかし、これはまったく機能しません。 keycodeを使うのはいいですね。setxkbmapを扱うことはできませんが、いずれの方法でも私が逃した部分が分からず、すべてのヒントに感謝しています! 乾杯
EDIT: 'setxkbmap -optionキャップとxmodmapを:ハイパー' 出力が xmodmapを:修飾あたり5つのキー(カッコ内のキーコード)まで:
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Hyper_L (0x42), Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
'xmodmap'の出力は何ですか? –
HyperおよびSuperが「mod4」の行に表示されているようです。 setxkbmap -optionキャップと :ハイパーそれは: xmodmapを:修飾子あたり最大5キー(括弧内のキーコード): シフトShift_L(0x32の)、Shift_R(0x3e) ロック 制御Control_L(0x25)、Control_R( 0x4)、Super_L(0x86)、Super_L(0xce)、Hyper_L(0x00)、0x00(0x00)、0x00)、0x00、0x00、0x00、 0x34f) mod5 ISO_Level3_Shift(0x5c)、Mode_switch(0xcb) – Revo86er
コメントとして扱いにくいので、最初の投稿の最後に追加してください。 – Revo86er