按键代码(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 key code对比

按键

ThinkPad x220 keyCode

Linux keyCode

Control_L

29

37

Super_L

105

133

Alt_L

56

64

Alt_R

93

108

Menu

107

135

Control_R

90

105

按键映射

FreeBSD使用了 /usr/share/vt/keymaps 目录下的键盘配置文件,按照你安装过程选择,默认可能是 us.kbd

备注

我很困扰如何修改这个配置

暂时有点倦怠,暂时不想折腾 FreeBSD Sway桌面FreeBSD hikari桌面 ,我想把时间集中到开发和 Machine Learning ,所以我回退到 FreeBSD XFCE桌面

参考