在淘宝上买了一个欧版 thinkpad 键盘,Z 左边的键标了三个符号:分别是>
,<
,|
,如下图所示。
可见这个按键可以输出三种符号,试了一下,不按Shift
的时候输出的是<
,按了Shift
输出>
,那问题来了,如果我想输出|
怎么办?
顺便说一下,用的是 arch linux,在 windows 下面是正常的,按 Shift + 这个键输出的是|
,这就是我想要的结果,但是在 linux 下面不是这样的,有人知道怎么调整吗?
1
TuringGunner 2017-09-15 22:09:21 +08:00 via iPhone
Xmodmap
|
2
param 2017-09-15 23:37:11 +08:00 via Android
Arch wiki 有讲
|
3
redsonic 2017-09-15 23:50:37 +08:00
字符终端的布局选择在 /etc/sysconfig/keyboard
里面有个 XXX.map.gz 的配置文件,可以到 /usr/share/kbd/keymap 里面去找,然后解压->修改->打包。 X11 下的键盘布局是 xkb 管理的。 比字符终端的复杂一些 先用 setxkbmap -print 看一下配置,比如 xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete+numpad(mac)" }; xkb_compat { include "complete" }; xkb_symbols { include "macintosh_vndr/apple(alukbd)+macintosh_vndr/us+inet(evdev)+terminate(ctrl_alt_bksp)+macintosh_vndr/apple(alupckeys)" }; xkb_geometry { include "macintosh(applealu_ansi)" }; }; xkb 的分层的:scancode,keycode,symbol 每一层都能修改达到目的,但一般改 symbol 就好。 找到你当前的 symbol 比如 macintosh_vndr/apple(alukbd) 就在 /usr/share/X11/xkb/symbols/macintosh_vndr/apple,编辑 xkb_symbols "alukbd" {} 中的内容,具体怎么编辑可以看看这个 https://www.linux.com/news/creating-custom-keyboard-layouts-x11-using-xkb 另外还有两个调试工具:xev, 把鼠标放在框里面按键会显示调试信息,比如组合键状态和 symbol 一楼提到的 xmodmap,直接修改 keycode 到 symbol,也可以用参数-pk 直接打印出当前键盘布局全貌。 |
4
redsonic 2017-09-15 23:53:50 +08:00
补充一个更直观的查看布局的方法 ,xkbprint $DISPLAY mykeyboard.ps 直接生成 ps 图片
|