为什么我用超键替代 Alt_L 键在所有情况下都不起作用?

为什么我用超键替代 Alt_L 键在所有情况下都不起作用?

在 Thinkpad T400 上,我的左 Alt 键已停止工作。我从来没有在 Ubuntu 16.04 的 LXDE 中使用过超级键,我做了以下操作来修改超级键,就好像它是左 Alt 键一样。

首先我需要通过运行找出有关这两个密钥的相关信息 xev

当我按下左 Alt 键时,xev不会输出任何内容。我只能从右 Alt 键推断出有关左 Alt 键的信息。当我按下右 Alt 键时,

KeyPress event, serial 48, synthetic NO, window 0x2800001,
    root 0xb2, subw 0x0, time 942676, (262,45), root:(264,68),
    state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x2800001,
    root 0xb2, subw 0x0, time 942812, (262,45), root:(264,68),
    state 0x8, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

当我按下超级键时,

KeyPress event, serial 48, synthetic NO, window 0x2800001,
    root 0xb2, subw 0x0, time 943386, (262,45), root:(264,68),
    state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x2800001,
    root 0xb2, subw 0x0, time 943498, (262,45), root:(264,68),
    state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

然后在 bash shell 中运行

xmodmap -e "keycode 133 = Alt_L"

超级键有时可用作左 Alt 键,例如

  • Alt+1当我通过(通过)切换到 Firefox 的第一个选项卡时super+1

但有时超级键不能像左 Alt 键那样工作,例如

  • lxterminal当我切换到by Alt+1(via super+1)的第一个标签时,
  • 当我想通过通过在不同应用程序的窗口之间切换时Alt+tabsuper+tab奇怪的是,Alt_R + tab也不起作用,尽管Alt_L + tab之前使用左 Alt 键时可以工作)。
  • 当我在 Emacs 中工作时,需要经常使用 Alt 键,
  • 当我想调用一个程序时,首先Alt + F2通过super + F2
  • 当我想关闭程序窗口时,可以Alt + F4通过super + F4

我想知道为什么超级键在所有情况下不能用作左 Alt 键?

我跟着https://unix.stackexchange.com/questions/86933/swap-alt-and-super/86936#86936https://askubuntu.com/a/296437/1471,但我可能错过了一些东西,而且我还注意到他们正在尝试交换两个工作密钥,而不是用一个工作密钥替换一个非工作密钥。

谢谢。

相关内容