一些+快捷方式不适用于 Xubuntu 22.04

一些+快捷方式不适用于 Xubuntu 22.04

我全新安装了 Xubuntu 22.04,但遇到了一些问题。我使用Super+Letter键定义了一些自定义键盘快捷键,但其中一些不起作用。我之前使用的是 Xubuntu 16.04,没有遇到这个问题。

问题

举一个简单的例子,Super+W快捷键不会启动我的网络浏览器:如果焦点窗口是终端,它会打印w(就像我只按下了 一样w)。

  • 重要细节:我有一个外部 AZERTY 键盘(所以w键位于左键的正上方Super)。
  • 有趣的细节 1:如果我更改与此快捷方式关联的命令,它会运行良好......直到下次重新启动。
  • 有趣的细节 2:一些带有Super+ 的快捷方式Letter可以使用,具体取决于Letter我使用的键。

受此问题影响的信件

为了更全面地了解情况,我使用键盘上的所有字母测试了快捷键,并查看了终端窗口以查看是否打印了字母。以下是打印的字母(因此带有Super+ 这些键的快捷键不起作用):

-----yuio-
q---ghjk-m
wxcvbn

我将它们表示在键盘的行上(3 行字母),这-意味着相应的字母不会打印任何内容(因此使用这些字母的快捷方式可以工作)。

如果有助于理解,以下是起作用的字母(我的终端窗口中没有打印字母):

azert----p
-sdf----l-
------

更多细节

我试着看看会发生什么,然后发现了xev命令。这是按下+
的结果(快捷方式不起作用):xev -event keyboardSuperW

KeyPress event, serial 28, synthetic NO, window 0x4c00001,
    root 0x6c9, subw 0x0, time 7273892, (165,-11), root:(1036,524),
    state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x4c00001,
    root 0x6c9, subw 0x0, time 7274156, (165,-11), root:(1036,524),
    state 0x50, keycode 52 (keysym 0x77, w), same_screen YES,
    XLookupString gives 1 bytes: (77) "w"
    XmbLookupString gives 1 bytes: (77) "w"
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x4c00001,
    root 0x6c9, subw 0x0, time 7274244, (165,-11), root:(1036,524),
    state 0x50, keycode 52 (keysym 0x77, w), same_screen YES,
    XLookupString gives 1 bytes: (77) "w"
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x4c00001,
    root 0x6c9, subw 0x0, time 7274396, (165,-11), root:(1036,524),
    state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

xev -event keyboard以下是和Super+的结果W重新定义执行的命令后(快捷方式有效):

KeyPress event, serial 28, synthetic NO, window 0x5000001,
    root 0x6c9, subw 0x0, time 8245188, (166,-9), root:(1037,526),
    state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeymapNotify event, serial 28, synthetic NO, window 0x0,
    keys:  4294967241 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           32  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

KeyRelease event, serial 28, synthetic NO, window 0x5000001,
    root 0x6c9, subw 0x0, time 8245796, (166,-9), root:(1037,526),
    state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

我的分析

我猜系统无法处理某些Super+Letter键组合。重新定义快捷键后,它就可以正常工作了。所以有些不同,但我不知道是什么(而且这不是永久性的,因为问题在重启后再次出现)。
我清楚地看到事件keymapNotify没有触发,但我不知道为什么(我也不知道它是如何工作的)。

我希望有人能帮助我。如果您需要更多详细信息,请随时询问。

相关内容