You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 24.04下如何将右Shift键映射为斜杠/,并实现左Shift+右Shift映射为问号?

Ubuntu 24.04下如何将右Shift键映射为斜杠/,并实现左Shift+右Shift映射为问号?

我之前也踩过这个坑——用Input Remapper、Tweak或者XModMap设置后,桌面程序正常但终端完全没反应,属实头疼。这是因为Ubuntu 24.04默认的Wayland环境下,很多终端(比如GNOME Terminal)会绕过上层的输入映射工具,直接读取底层的键盘事件。下面这个用底层设备规则的方法,能实现全局生效,包括终端:

  • 第一步:确认键盘按键的keycode
    先安装evtest工具来查看按键对应的代码:

    sudo apt install evtest
    

    运行后会列出所有输入设备,选择你的键盘(比如带有“keyboard”字样的设备),然后按下右Shift键,你会看到类似Event: time 12345.6789, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1Event: time 12345.6789, type 1 (EV_KEY), code 62 (KEY_RIGHTSHIFT), value 1的输出,记下这里的code 62(右Shift的keycode通常是62,左Shift一般是50,如果你的不一样就换成自己的数值)。

  • 第二步:创建自定义键盘规则文件
    创建一个udev硬件数据库文件,路径是/etc/udev/hwdb.d/90-custom-keyboard.hwdb,用编辑器打开:

    sudo nano /etc/udev/hwdb.d/90-custom-keyboard.hwdb
    

    粘贴以下内容(如果你的keycode不是62/50,记得替换):

    evdev:input:b*v*p*e*
      KEYBOARD_KEY_62=slash
      KEYBOARD_KEY_50+62=question
    

    解释一下:第一行匹配所有键盘设备,第二行把右Shift(keycode62)映射为斜杠/,第三行把左Shift(keycode50)+右Shift(keycode62)的组合映射为问号?

  • 第三步:更新规则并生效
    执行以下命令更新硬件数据库并重新加载规则:

    sudo systemd-hwdb update
    sudo udevadm trigger
    

    最后重启一下系统,或者重新插拔你的键盘,设置就会全局生效了——不管是桌面程序还是终端里,按右Shift就能打出/,左Shift+右Shift就能打出?

备注:内容来源于stack exchange,提问作者Ananta

火山引擎 最新活动