illustration

禁用键盘上的按键

我的键盘方向键是这样的


按左右键的时候总是按错就很烦,所以就查了下怎样禁用按键

参考 linux下屏蔽键盘按键

  1. 先用xev来查看目标按键的keycode,终端中输入xev后随着你按不同的键,就会弹出对应的keycode

我这里PgUp是112,PgDn是117

  1. 使用xmodmap更改映射关系
1
2
3
4
5
xmodmap -pke > ~/.xmodmap 
cp ~/.xmodmap ~/.xmodmap.back
vim ~/.xmodmap # 更改keycode 112,keycode117等号后的全删了
xmodmap -e "clear Lock"
xmodmap ~/.xmodmap

这就完成了按键的屏蔽,但这是一次性的,重启之后就会失效

  1. 开机自启动

    这个开机自启动说起来都是泪,试过chkconfig发现ubuntu已经不支持了,然后用systemd然后发现xsever好像不支持,报错有unable to open display或者No protocol specified

    参考Ubuntu 18.04开机启动键盘映射的方法,最后用gnome自带的工具得到解决

    终端输入:

    1
    gnome-session-properties

    点击添加,名称和注释随便填,命令为

    1
    /bin/bash -c "sleep 30; xmodmap  -e \"keycode 112 =\" ;  xmodmap -e \"keycode 117 =\";  notify-send \"auto_ban_pupd\" \"finished\""

    附上未转义的代码

    1
    2
    3
    4
    5
    #!/bin/bash -c
    sleep 30;
    xmodmap -e "keycode 112 =" ;
    xmodmap -e "keycode 117 =";
    notify-send "auto_ban_pupd" "finished";


    然后原文里写的是xmodmap ~/.xmodmap,这个我亲自试过,会有短暂的卡顿现象,所以用xmodmap -e会快许多,notify-send会在你的通知栏显示成功了