我喜欢将 AltGr 键设置为 Ctrl这样我就可以把 Ctrl 键放在我的右手拇指下面。另外,我将 AltGr 右侧的键设置为 AltGr,所以我仍然可以使用它来插入波浪符号和其他西班牙语和加泰罗尼亚语字母。问题是,在我的上一个键盘上,这个键是 Windows 键,所以我只使用了以下命令,一切正常:
setxkbmap -layout us -model pc105 -variant altgr-intl -option ctrl:ralt_rctrl -option lv3:rwin_switch
我猜 Lv3 是 AltGr 键映射的名称。
但在我的新键盘上,AltGr 右边的键是 PrtSc,并查看 /usr/share/X11/xkb/rules/evdev.lst 文件:
lv3 Key to choose the 3rd level
lv3:switch Right Ctrl
lv3:menu_switch Menu
lv3:win_switch Any Win
lv3:lwin_switch Left Win
lv3:rwin_switch Right Win
lv3:alt_switch Any Alt
lv3:lalt_switch Left Alt
lv3:ralt_switch Right Alt
lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt Right Alt never chooses 3rd level
lv3:enter_switch Enter on keypad
lv3:caps_switch Caps Lock
lv3:bksl_switch Backslash
lv3:lsgt_switch <Less/Greater>
lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser
lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser
lv3:lsgt_switch_latch <Less/Greater>; acts as onetime lock when pressed together with another 3rd level chooser
好像 PrtSc 不能设置为 AltGr (lv3)。还有其他方法吗?
提前谢谢您!
答案1
尝试:
xmodmap -e "keycode 78 = ISO_Level3_Shift"
这将 lvl3 移位映射到键码 78。在我的系统上,打印屏幕按钮注册为键码 78。
如果出于某种原因,这对您不起作用。请检查系统上的打印屏幕键码。使用此命令:
xev -event keyboard
它创建一个窗口。如果在该窗口聚焦时按下某个键,它会将按键信息打印到终端中。所按下按键的键码位于该信息文本中。在该窗口聚焦时按下 print-screen 并在终端中找到其键码。
如果您的系统上的密钥代码是 X 而不是 78。只需在第一个命令中将 X 替换为 78 即可。
要使更改永久生效,请将第一个命令放入启动配置中,无论它是什么。从问题判断,您可能知道它在哪里。
或者,您可以定义自定义键盘布局。有关此内容,请参阅第二个链接。
查看链接:
https://lukaszzagroba.com/creating-a-custom-keyboard-layout-in-linux/ http://karols.github.io/blog/2013/11/18/creating-custom-keyboard-layouts-for-linux/