令人敬畏的WM忽略非美国布局中的输入

时间:2013-04-26 22:27:58

标签: keyboard-layout awesome-wm

我已经开始使用 Awesome WM ,并且当当前布局不是 US 时发现它忽略了“运行”窗口小部件(mod+R)中的输入而感到烦恼比方说, RU 。此外,它会在其启动器/主菜单和“客户端列表”中忽略和任何输入(鼠标点击,键盘 - 甚至不是特定于布局的键!)等等。 我正在使用Arch Linux,~/.xinitrc有以下行:

setxkbmap -layout "us, ru" -option "grp:caps_toggle, grp_led:caps"

Awesome的rc.lua默认配置既没有布局也没有特定于大写字母的内容,但我试图隔离问题并从我的xinitrc中删除了capslock toggle选项。这根本没有用。

xev输出显示,当我切换布局(带有大写字母)时,只有事情发生变化才是'状态':

- 鼠标左键单击(当前布局:美国,一切正常) -

LeaveNotify event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13419931, (151,498), root:(835,518),
    mode NotifyGrab, detail NotifyAncestor, same_screen YES,
    focus YES, state 256

EnterNotify event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13419931, (151,498), root:(835,518),
    mode NotifyUngrab, detail NotifyAncestor, same_screen YES,
    focus YES, state 256

KeymapNotify event, serial 33, synthetic NO, window 0x0,
    keys:  4294967189 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

ButtonPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13419931, (151,498), root:(835,518),
    state 0x0, button 1, same_screen YES

ButtonRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13420028, (151,498), root:(835,518),
    state 0x100, button 1, same_screen YES

- 大写锁定(更改布局US - > RU) -

KeyPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13420911, (151,498), root:(835,518),
    state 0x0, keycode 66 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13420998, (151,498), root:(835,518),
    state 0x2000, keycode 66 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

- 鼠标左键单击(现在Awesome无法在其小部件/对话框中看到鼠标点击/ ...) -

LeaveNotify event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13422624, (151,498), root:(835,518),
    mode NotifyGrab, detail NotifyAncestor, same_screen YES,
    focus YES, state 8448

EnterNotify event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13422625, (151,498), root:(835,518),
    mode NotifyUngrab, detail NotifyAncestor, same_screen YES,
    focus YES, state 8448

KeymapNotify event, serial 33, synthetic NO, window 0x0,
    keys:  4294967189 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

ButtonPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13422624, (151,498), root:(835,518),
    state 0x0, button 1, same_screen YES

ButtonRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13422721, (151,498), root:(835,518),
    state 0x2100, button 1, same_screen YES

- 大写锁定(更改布局RU - >美国) -

KeyPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13423836, (151,498), root:(835,518),
    state 0x2000, keycode 66 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13423947, (151,498), root:(835,518),
    state 0x0, keycode 66 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

- escape(例如,关闭awesome的主菜单) -

KeyPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13426419, (151,498), root:(835,518),
    state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""
    XmbLookupString gives 1 bytes: (1b) ""
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13426514, (151,498), root:(835,518),
    state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""
    XFilterEvent returns: False

- 大写锁定(更改布局US - > RU) -

KeyPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13427017, (151,498), root:(835,518),
    state 0x0, keycode 66 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13427096, (151,498), root:(835,518),
    state 0x2000, keycode 66 (keysym 0xfe08, ISO_Next_Group), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

- 逃避(忽略) -

KeyPress event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13427782, (151,498), root:(835,518),
    state 0x2000, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""
    XmbLookupString gives 1 bytes: (1b) ""
    XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x1600001,
    root 0x95, subw 0x0, time 13427877, (151,498), root:(835,518),
    state 0x2000, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""
    XFilterEvent returns: False

P.S。:我也想知道在哪里可以找到令人敬畏的关键部分(例如 Shift_R )以及这些Mod1,Mod2等究竟是什么意思。

UPD:这与this question中描述的问题大致相同,但是作者只谈到了大写字母切换,而不是关于默认( Alt - Shift )切换。

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

我正在复制对此处接受的答案的评论,以提高可见度。

解决方法是编辑文件/usr/share/X11/xkb/compat/basic并删除或注释掉这些行:

group 2 = AltGr;
group 3 = AltGr;
group 4 = AltGr;

建议here