我的键盘布局设置如下:
setxkbmap -layout us -variant altgr-intl -option '' -option caps:escape -option altwin:swap_alt_win lv3:rwin_switch
只要我不插入和拔出外部键盘,或者按下“切换键盘布局”键,这就可以了。在这些情况下,我必须转到终端并重新执行此命令。
我希望这些选项更加永久,所以我尝试在“调整工具”中设置它们。但我找不到与“lv3:rwin_switch”相对应的选项,该选项将我的 lv3 键(用于国际字符)设置为我的右 win 键。
我尝试了一下,但选项有点混乱。可以在调整工具中完成吗?
答案1
也许可以添加udev当键盘命令可能解决问题时运行相同命令的规则。
首先连接外置键盘,然后
lsusb
查找硬件 ID。它看起来像Bus 002 Device 002: ID 04f2:0402 Chicony Electronics Co., Ltd Genius LuxeMate i200 Keyboar
.id 是04f2:0402。然后我们添加一个 UDEV 规则。要编辑文件,请执行
sudo nano /etc/udev/rules.d/00-usb-keyboards.rules
以下操作,在文本文件中填写以下内容:ACTION=="add", ATTRS{idVendor}=="YOUR_VENDOR(04f2 for me)", ATTRS{idProduct}=="YOUR_PRODUCT(0402 for me)", RUN+="/usr/local/bin/kbd_udev", OWNER="USERNAME"
请注意,您应该更改用户名字段。通过这个,我们告诉 udev 每当具有匹配的供应商和产品 ID 的设备连接时,运行该脚本。
现在我们进入脚本文件
/usr/local/bin/kbd_udev
,执行sudo nano /usr/local/bin/kbd_udev
并填写下面的脚本#!/bin/bash export DISPLAY=:0 su YOURUSERNAME -c "setxkbmap -layout us -variant altgr-intl -option '' -option caps:escape -option altwin:swap_alt_win lv3:rwin_switch" &> /tmp/kbd_temp
再次确保更改您的用户名使用您的用户名。
编写脚本后,您需要使其可执行。为此...
sudo chmod 755 /usr/local/bin/kbd_udev
最后,告诉 udev 重新加载它的规则,运行
udevadm control --reload-rules
可选,但您可以通过查看目录来测试命令是否有效
/tmp/
。执行cat /tmp/kbd_temp
,如果有任何错误,您应该能够看到它们。