2016-03-25 9 views
0

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) 
+0

'xmodmap'の出力は何ですか? –

+0

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

+0

コメントとして扱いにくいので、最初の投稿の最後に追加してください。 – Revo86er

答えて

1

それは:)

ワーキングガット

私はその後、私は〜/の末尾に追加

xmodmap -pke > ~/.Xmodmap 

により、キーマップファイルを作成しました。xmodmapを:私は以下のコマンドを実行

clear  lock 
clear  mod1 
clear  mod2 
clear  mod3 
clear  mod4 
clear  mod5 
keycode  66 = Hyper_L 
add  control = Control_L Control_R 
add  mod1 = Alt_L Alt_R Meta_L 
add  mod2 = Num_Lock 
add  mod3 = Hyper_L 
add  mod4 = Super_L Super_R 
add  mod5 = Mode_switch ISO_Level3_Shift 

setxkbmap -option caps:hyper &&  xmodmap ~/.Xmodmap 

、それはxmodmapをの

新しい出力がある作品、

shift  Shift_L (0x32), Shift_R (0x3e) 
lock  
control  Control_L (0x25), Control_R (0x69) 
mod1  Alt_L (0x40), Alt_R (0x6c), Alt_L (0xcc), Meta_L (0xcd) 
mod2  Num_Lock (0x4d) 
mod3  Hyper_L (0x42), Hyper_L (0xcf) 
mod4  Super_L (0x85), Super_R (0x86), Super_L (0xce) 
mod5  ISO_Level3_Shift (0x5c), Mode_switch (0xcb) 

だけ奇妙なことは、このOpenBoxでは、周りの取り"xmodmap〜/ .Xmodmap"コマンドを実行するのに10〜15秒かかります。 CPUが実行されているように、私は百タブごとに3つのFirefoxセッションを開始しているようです:o そして、〜/ .config/openbox/autostartにコマンドを置くと、ぎっしりしたパネルが壊れてしまいます。

+0

変更したくないものをクリアしてリセットする必要はありません。 –

関連する問題