# Apple magic
evdev:input:b0005v004Cp026C*
KEYBOARD_KEY_700e2=leftmeta
KEYBOARD_KEY_700e3=leftalt
你如何找到这些名字?只需执行sudo evtest找到您的键盘并按您要更改的键.. 输出如下所示:
Event: time 1644400418.762658, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1644400418.762658, type 1 (EV_KEY), code 56 (KEY_LEFTMETA), value 1
使用该输出来构造所需的密钥并进行更改。
接下来,sudo 运行这些命令来更新:
systemd-hwdb update
udevadm control --reload-rules
udevadm trigger
您可以使用
xkbcomp
,详细过程在这里描述。您必须找到要重新映射的键的代码。同一 OP 中的其他答案可能会有用。xkeycaps
可能会派上用场。相关>
总的来说,这是#!^ 答案,因为它缺乏完整性,但我只会使用 setxkbmap 将键交换选项分配给特定键盘。
xinput
会给你你键盘的IDwutang@shaolin:~$ xinput
完全披露我非常懒惰并且不打扰我的虚拟通过我测试过的第二个键盘,甚至更懒惰不设置从实际上显示两个键盘的主机(--> VM)剪切和粘贴.. .(s#!^ answer)
所以你只需要想象我的输出中有第二个键盘具有唯一的 id
如果我只想更改我的一个键盘(AT Translated Set 2 键盘):
setxkbmap -device 11 -option altwin:swap_lalt_lwin
我将假设这不是永久性的。如果您拔下键盘、注销或关闭电源,可能会消失。
不提供选项的 -option 标志会删除所有选项。
原来我的同事也有同样的问题。经他许可,这是立即奏效的解决方案:
首先运行它并滚动到有关键盘运行的信息
cat /proc/bus/input/devices | less
现在通过这种方式构造一个 id:
版本和模式无关紧要。我明白了:
evdev:input:b0005v004Cp026C*
接下来创建这个文件
我不认为名字很重要,但我不确定。
该文件应该包含我们刚刚创建的 ID 和键的重新映射:
你如何找到这些名字?只需执行
sudo evtest
找到您的键盘并按您要更改的键.. 输出如下所示:使用该输出来构造所需的密钥并进行更改。
接下来,sudo 运行这些命令来更新:
然后你就完成了。