You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Linux系统中的每个物理键盘分别配置不同的布局?

如何为Linux系统中的每个物理键盘分别配置不同的布局?

看起来你碰到了多键盘布局的麻烦事儿——自带的笔记本物理键盘是法语布局,外加的蓝牙小键盘却按键乱跳,比如$出4、(出9,之前试了改键绑定也没搞定,确实给每个物理键盘单独配置布局才是对症的办法。针对你的Debian Bullseye+Enlightenment 17环境,我给你整理了具体步骤:

第一步:确认每个键盘的设备标识

你已经找到了蓝牙键盘的几个设备ID(12、13、19),不过为了精准配置,建议先完整列出所有输入设备,确认主键盘和蓝牙键盘的产品名或ID:

xinput list

从输出里你能看到主键盘(Dell Latitude E6430自带的)的具体标识,比如类似AT Translated Set 2 keyboard这样的名称,蓝牙键盘的标识就是你提到的Bluetooth Keyboard。

第二步:临时测试单独布局配置

用setxkbmap命令可以针对单个设备设置布局,先临时测试看看效果:

  • 给主键盘设置法语布局(替换成你的主键盘ID或产品名):
    setxkbmap -device [主键盘ID] fr
    
  • 给蓝牙键盘设置正确的布局(比如如果你的蓝牙键盘是美式布局,就用us,根据实际按键对应情况调整):
    setxkbmap -device 13 us
    

测试下蓝牙键盘的按键,比如$、(、)这些符号是否正常显示了。如果某个设备ID不行,试试蓝牙键盘的其他ID(比如12或19),因为蓝牙键盘可能会拆分出多个控制设备,主输入设备一般是id=13那个。

第三步:让配置永久生效

临时配置重启后会失效,你可以用两种方式持久化:

方式一:添加到Enlightenment启动项

  1. 打开Enlightenment的设置面板,找到启动应用程序选项
  2. 添加两个启动命令,分别对应主键盘和蓝牙键盘的布局设置,比如:
    • 命令1:setxkbmap -device [主键盘ID] fr
    • 命令2:setxkbmap -device 13 us
  3. 保存设置,下次重启系统就会自动加载

方式二:用Xorg配置文件(更稳定)

创建一个自定义的Xorg配置文件,让系统启动时自动给对应键盘加载布局:

  1. 新建配置文件:
    sudo nano /etc/X11/xorg.conf.d/90-custom-keyboard.conf
    
  2. 写入以下内容(替换成你实际的键盘标识和需要的布局):
    Section "InputClass"
        Identifier "Main Laptop Keyboard"
        MatchProduct "AT Translated Set 2 keyboard" # 这里替换成你主键盘的产品名
        Option "XkbLayout" "fr"
    EndSection
    
    Section "InputClass"
        Identifier "Bluetooth Keypad"
        MatchProduct "Bluetooth Keyboard"
        Option "XkbLayout" "us" # 根据你的蓝牙键盘实际布局调整
    EndSection
    
  3. 保存退出,重启系统后配置就会生效

补充说明

之前你尝试键绑定失败,大概率是因为全局键绑定会作用于所有键盘,而这种针对单个设备的布局配置,能精准区分不同物理键盘的输入规则,更适合你的场景。如果蓝牙键盘的布局还是不对,可以试试调整XkbLayout的参数,比如换成其他布局代码(比如fr是法语,us是美式,gb是英式等)。

备注:内容来源于stack exchange,提问作者Benoit-Pierre DEMAINE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 15:23:00