我发现
可以为特定的键盘设备分配特定的布局。
我想将键盘用作纯热键/宏键盘(用于命令 GIMP、Photoshop 或 MangaStudio 的功能),通过创建由其他键盘之外的 Unicode 字符组成的键盘布局,然后使用 Autokey 创建实际的宏调用。
不像 Windows 中的 HidMacros 那样无缝,但仍然可以管理(此外,Autokey 对窗口名称有一个过滤器,可以保持快捷方式布局统一,无论使用什么应用程序)。
第一步是检查系统中 setxkbmap 的行为。
我继续检查我的 xinput 列表,获得
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:400e id=10 [slave pointer (2)]
⎜ ↳ Wacom Intuos2 12x18 stylus id=11 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=14 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=15 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=17 [slave pointer (2)]
⎜ ↳ Wacom Intuos2 12x18 eraser id=19 [slave pointer (2)]
⎜ ↳ Wacom Intuos2 12x18 cursor id=20 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ CNF7051 id=9 [slave keyboard (3)]
↳ CHESEN USB Keyboard id=12 [slave keyboard (3)]
↳ CHESEN USB Keyboard id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]
↳ Toshiba input device id=18 [slave keyboard (3)]
↳ SIGMACHIP USB Keyboard id=22 [slave keyboard (3)]
现在,我想要做的是为两个“CHESEN USB 键盘”分配不同的布局 -一个是媒体键,我在组装时“物理消除”了它,而不管- 其余键盘保留当前布局(西班牙语,带静音波浪号)。
特别是,我用作主键盘/指针的 Logitech 无线 K400(非常舒适)。
奇怪的是,我没有在 xinput 列表中看到 K400 键盘,只有一个 Logitech 统一设备的条目,以指针形式列出。
因此,作为测试,我尝试插入命令
~$ setxkbmap -device 12 -layout us
而且,老实说,它确实像广告中说的那样好用......但只适用于 K400。
显然,K400 没有自己的布局......它只是使用了上一个键盘的布局。
因此,如果我现在按下 Chesen 上的一个键,Logitech 会突然切换到美国布局(其中 ñ 符号被 ; 替换),而当我按下 sigmachip 键盘上的一个键时,它就会恢复为西班牙布局。
这是怎么回事?我有办法修复 K400 的行为吗?