缘由
我的 MacBook-Pro 键盘上的 R 键上个周开始按键失灵。其他的键按上去都有清脆的声音,唯独R键敲上去软绵绵的。从某宝上询价一番,各家店铺回复的口径一致。只换一个R键并不能够解决问题,必须整体更换内置键盘。报价最低也要500。
于是,我先插了外加键盘凑合了几天,用起来实在不顺手。
又到某宝上询价,A1502的型号的内置键盘需要110大洋,而且换起来特别麻烦,有意外的风险。
因此,索性不换了。更改键位的布局。
![a62fe67cad91e1b816b9225f837134ac.png](https://img-blog.csdnimg.cn/img_convert/a62fe67cad91e1b816b9225f837134ac.png)
更改键位的布局:
Linux 系统的键盘映射编辑文件是 /usr/share/X11/xkb/symbols/pc。我们简要窥探一番。
$ cat /usr/share/X11/xkb/symbols/pc | head -n 20default partial alphanumeric_keys modifier_keysxkb_symbols "pc105" { key { [ Escape ] }; // The extra key on many European keyboards: key { [ less, greater, bar, brokenbar ] }; // The following keys are common to all layouts. key { [ backslash, bar ] }; key { [ space ] }; include "srvr_ctrl(fkey2vt)" include "pc(editing)" include "keypad(x11)" key { [ BackSpace, BackSpace ] }; key { [ Tab, ISO_Left_Tab ] }; key { [ Return ] }; .... key {[ Caps ]}; ...
我们需要修改的部位是:
key {[ Caps ]};
初次尝试
第一次修改是只将 替换为了 r 键。
key {[ r ]};
然后运行:
sudo rm -rf /var/lib/xkb/*
并且重启。
重启之后,r 键倒是能正常工作了,但是 shift+r 键不能输入大写的R。
二次尝试
将上述的问题反馈到 StackOverflow 上,收到解答说要将大写大R也带上。
key {[ r R]};
修改完毕,重复上述步骤。
不幸的是,麻烦来了。在登录界面,键盘完全失效。初步判断,在修改 CAPS 键的时候,可能会不小心误触其他部分的内容。
最后不得不进入终端模式。
![69812c1dc55af9e6a68f8a1027bf275f.png](https://img-blog.csdnimg.cn/img_convert/69812c1dc55af9e6a68f8a1027bf275f.png)
三次尝试
发现问题出在:
key {[ r R]};
中间需要加逗号,修改为
key {[ r, R]};
然后重启或者
sudo apt install --reinstall xkb-datasudo service gdm restart
收尾
简单修改键位映射,节省了600大洋。等第二个键再损坏的时候考虑整体更换键盘。
![3bd24bcce35c15792183e5801cf06506.png](https://img-blog.csdnimg.cn/img_convert/3bd24bcce35c15792183e5801cf06506.png)