问题:
Alt-Gr 是在 X11 下不起作用。按 Alt-Gr 后似乎未设置键盘级别 3(用于“at”、“euro”、“大括号”等)。在里面文本控制台(通过 Right-Shift Right-Alt 1 达到),则不会出现此问题。
应用如下设置:
xmodmap -e "keysym q = q Q at"
并不能解决问题。
这个问题很关键!该系统在 X-Windows 中几乎无法使用。
可以做什么?
设置:
名称-v:Ub#45~20.04.1-Ubuntu SMP Fri Jan 15 11:35:04 UTC 2021
该文件/etc/default/keyboard
包含:
XKBMODEL="pc105"
XKBLAYOUT="de"
XKBVARIANT=""
XKBOPTIONS=""
使用xkeycaps/xev
表明:
- Alt-Gr 发送键码“108”
交付xmodmap
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
xev
Alt-Gr的输出。
KeyPress event, serial 37, synthetic NO, window 0x3200001,
root 0x251, subw 0x0, time 6145247, (1781,-38), root:(1804,42),
state 0x10, keycode 108 (keysym 0xff20, Multi_key), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: True
KeyRelease event, serial 37, synthetic NO, window 0x3200001,
root 0x251, subw 0x0, time 6145491, (1781,-38), root:(1804,42),
state 0x10, keycode 108 (keysym 0xff20, Multi_key), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
答案1
问题是切换键盘配置文件时,不知何故使xmodmap
设置变得混乱。此外,Multi_Key
似乎并不能正确取代 3 级键盘。所以,我$HOME/.Xmodmap
通过应用创建了一个文件
> xmodmap -pke > .Xmodmap
我更改了.Xmodmap
处理键代码 108 的行,即xev
标识为 Alt-Gr 键的行:
keycode 108 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
然后通过重新加载它
> xmodmap .Xmodmap
我等了几分钟。瞧!我的 @ 符号、大括号和 € 符号又回到了键盘上。