如何保留每个键盘的布局设置?


4

我正在使用xmodmap(有时是xkbcomp代替)来调整我的键盘布局(例如,将Caps Lock映射到Mod3修改器)。

当我将USB键盘插入笔记本电脑或插入YubiKey(其作用类似于键盘)时,笔记本电脑键盘的设置立即丢失,这使我处于Mod3停止工作且无法再使用窗口管理器的情况。

如何使我的xmodmap/ xkbcomp设置在每个X会话中对我的内置键盘而言是永久的,或者至少是永久的,以便无论我是否附加其他键盘,它都能保持布局?

Answers:


2

您可以尝试inputplug,它是一个守护程序,该守护程序连接到您的X服务器并监听XInput事件。它可以运行您的脚本来重新加载键盘映射:

inputplug -c ~/.xkb_load_hook

~/.xkb_load_hook在我的情况是:

#!/bin/sh

xkbcomp -I$HOME/.xkb ~/.xkb_keymap :0 2>/dev/null 1>/dev/null
xmodmap ~/.xmodmaprc

sun_id=$(xinput list | grep "HID 0430:0005" | grep -o 'id=[0-9]*' | cut -d = -f 2)

if [ -n "$sun_id" ]
then
    xkbcomp -i "$sun_id" -I$HOME/.xkb ~/.xkb_keymap_sun :0 2>/dev/null 1>/dev/null
fi

最后一位检测到Sun Type 6键盘并为其应用不同的设置。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.