我使用的是联想 ThinkPad (X220i),和所有 ThinkPad 用户一样,我在 BIOS 中交换了“控制”和“功能”。现在我买了一个联想的外置 USB 键盘,其键盘布局与内置键盘类似,但不幸的是,“控制”和“功能”只在内置键盘上交换,而在外置键盘上没有交换。这能以某种方式修复吗?也许使用setxkbmap
或xmodmap
?顺便说一句,我正在运行 Debian 9 (stretch)。如果这很重要的话。
答案1
自 2020 年 9 月起,无需进行硬件修改即可进行Ctrl交换Fn马丁描述。
说明可以找到这里感谢原帖作者,为了完整起见,我将重新叙述一下:
- 从以下网址下载固件更新程序联想,版本 3.30(截至 2020 年 9 月的最新版本)
- 在十六进制编辑器中,将字节
0x74004
从0xba
更改为0xf5
,并将字节0x740BA
从0xf5
更改为0xba
。 - 运行更新程序并将固件刷入您的键盘。
这仅适用于旧版 TrackPoint 键盘的 USB 版本,称为“ThinkPad Compact USB Keyboard with TrackPoint”。不适用于新版“TrackPoint Keyboard II”。请自行承担风险。
答案2
回答我自己的问题:
感谢来自加拿大的联想论坛用户 blackdot54,有一个硬件改装解决方案,对我来说很有效:
你需要
- 导电银漆和非常细的刷子
- 锋利的刀具
- 胶带
- 一把小平头螺丝刀
- 可选:欧姆表、Q 尖
- 必需:一点平静和稳定的手
照片上看起来很难,但其实并没有那么难。
答案3
也许你不需要归还键盘......
你可以试试,
xev
然后小心并合理地按下 ctrl 键,然后按下 Fn 键。
并记下按下 ctrl 然后按下 Fn 键时的输出。
然后运行以下命令:(对我有用应该对你来说也一样)
xmodmap -e "keycode 151 = Control_L" ( changes Fn key to Ctrl func. )
xmodmap -e "keycode 37 = XF86WakeUp" (changes Ctrl key to Fn func. )
希望它能帮助你,当然,如果没有,请将这些恢复回原始设置