按键代码(kbdscan)和按键映射(keyboard mapping)
我在 在ThinkPad X220笔记本上运行FreeBSD 遇到一个非常奇怪的问题,无法使用 Windows
按键。因为我使用 FreeBSD Sway桌面 , Windows
健失效也就导致无法使用快捷键。但是,为何会出现这个情况呢?
按键扫描获取按键代码
首先我想要确认键盘物理工作正常与否: 因为为了更换 ThinkPad X220笔记本 风扇,整个笔记本被整个拆卸过。虽然可能性不大
kdbscan
是一个非常好的终端工具(无需X),在FreeBSD中首先安装:
安装kdbscan
pkg install kbdscan
然后在终端中直接运行 kbsscan
命令,此时终端中按下任何一个键会自动打印按键对应的编码
备注
xev
程序也能够获得按键代码,不过是在X环境中使用
从 Modifier keys 提供了特殊按键代码,对比上述 kdbscan
获得的按键代码,整理如下
按键 |
ThinkPad x220 keyCode |
Linux keyCode |
---|---|---|
|
29 |
37 |
|
105 |
133 |
|
56 |
64 |
|
93 |
108 |
|
107 |
135 |
|
90 |
105 |
按键映射
FreeBSD使用了 /usr/share/vt/keymaps
目录下的键盘配置文件,按照你安装过程选择,默认可能是 us.kbd
备注
我很困扰如何修改这个配置
暂时有点倦怠,暂时不想折腾 FreeBSD Sway桌面 和 FreeBSD hikari桌面 ,我想把时间集中到开发和 Machine Learning ,所以我回退到 FreeBSD XFCE桌面
参考
Modifier keys 提供了特殊按键代码,例如在Linux中
Super_L
的keycode是 133