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

Jel*_*Cat 5 keyboard-layout xkb

我正在使用我的 Apple 键盘上xkbcompAltWin键。

这有效:

xkbcomp -w0 -I"$DIR" "$DIR/keymap/mykbd" $DISPLAY
Run Code Online (Sandbox Code Playgroud)

...但它改变了所有键盘的布局,这不会发生,因为我经常在站立和坐姿之间改变(并交换键盘)。

我不厌其烦地指定了一个设备。该xkbcomp帮助文中说:-i <deviceid> Specifies device ID (not name) to compile for

xkbcomp -w0 -I"$DIR" -i 16 "$DIR/keymap/mykbd" $DISPLAY
Run Code Online (Sandbox Code Playgroud)

……但这似乎没有任何效果!

16xinput list | grep Magic\ Keyboard. 我也试过/dev/input/event18作为 id,取自xinput list-props 16 | grep 'Device Node',但这不会产生更好的效果。

更新:

令人惊奇的是,当我提供的ID Virtual core keyboard,而不是Magic Keyboard,我得到一个效果:新的映射被应用到我的魔术键盘,并且如果我继续我集成的笔记本电脑键盘上打字,键盘布局,然后恢复到原来的配置。

我无法解释这一点。有没有人有任何见解?

u2n*_*u2n 0

您可能希望采用此处描述的技术。

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