使用 xkbcomp 为特定设备设置键盘布局

使用 xkbcomp 为特定设备设置键盘布局

我正在用来xkbcomp交换Apple 键盘上的Alt和键。Win

这有效:

xkbcomp -w0 -I"$DIR" "$DIR/keymap/mykbd" $DISPLAY

...但它改变了所有键盘的布局,而这不行,因为我经常在站姿和坐姿之间切换(以及更换键盘)。

我费了好大劲才指定了设备。xkbcomp帮助文本显示:-i <deviceid> Specifies device ID (not name) to compile for

xkbcomp -w0 -I"$DIR" -i 16 "$DIR/keymap/mykbd" $DISPLAY

...但这似乎没有产生任何效果!

16我从 中提取了 id xinput list | grep Magic\ Keyboard。我还尝试/dev/input/event18过从 中提取 id xinput list-props 16 | grep 'Device Node',但这并没有产生更好的效果。

更新:

令人惊讶的是,当我提供 idVirtual core keyboard而不是 时Magic Keyboard,我产生效果:新的映射应用到我的妙控键盘上,如果我继续在集成笔记本电脑键盘上打字,键盘映射然后恢复为原始配置。

我无法解释这一点。有人知道吗?

答案1

您可能希望采用所描述的技术这里

或者,为每个设备创建一个单独的 .xkb 文件(可以使用描述的方法这里为每个设备创建一个新设备(每个设备都有一个新设备),并在桌面上为每个设备设置快捷方式。持久性并不那么重要,因为预期的是按键布局(设备)是手动选择的。

相关内容