公司二手电脑内购,买了一台2018年产的 惠普PROBOOK 430 G3笔记本,自带Win10企业版,同时找IT同学安装了Ubuntu双系统。

默认启动Windows,开机时按F9,可以选择进入Ubuntu。

当时挑选了一台外观品相最好的机器,但拿回来使用时,发现gh两个键位失灵…折腾许久判定是硬件问题,IT说可以更换不给维修,毕竟都装了Ubuntu,也不确定再换一台指不定有更严重问题。心想算了,改一下键位映射,也能用。


Windows


Ubuntu


准备把使用频率较低的f2,f7映射为g和h

cat /usr/share/X11/xkb/keycodes/evdev >> 当前键位对应关系.txt

但此时还是没法判断g/h的键位,下一步通过xev查询 keycode:

xev

通过输出g和h周边的f,j等, 可以得出,g和h的keycode分别为42,43。 (f2,f7的keycode为 68,73)

sudo vim /usr/share/X11/xkb/keycodes/evdev

左侧是物理区位,右侧是keycode,即这个位置的键,对应的内容。

将f2这个键,改成g对应的keycode 42,f7改成h对应的 43。

重启生效。


还有另一种比较多用的方案,Xodmap

在此使用这种方式,将Ctrl和Alt,映射为Mac上的Control和Command

xmodmap -pke > ~/.Xmodmap

code ~/.Xmodmap,输入

1
2
3
4
5
6
remove mod1 = Alt_L 
remove control = Control_L
keysym Control_L = Alt_L
keysym Alt_L = Control_L
add mod1 = Alt_L
add control = Control_L

运行: xmodmap ~/.Xmodmap

(重置: setxkbmap)


参考:

linux系统下键盘按键的重新映射——xmodmap工具和xev工具

Xmodmap (简体中文))

xmodmap使用指南

Ubuntu xmodmap 键位映射