我有一个奇怪的问题,我的蓝牙 Logitech MX 键盘自动进入布局,US
即使我的.xinitrc
键盘有:
setxkbmap -layout gb &
我做了一些谷歌搜索,然后有人告诉我我应该运行以下命令:
localectl set-x11-keymap layout [model [variant [options]]]
我不知道什么意思[model [variant [options]]]
,所以我尝试了一些东西并得到:
~ ❯ localectl set-x11-keymap layout gb
Failed to set keymap: Specified keymap cannot be compiled, refusing as invalid.
~ ❯
经过更多阅读后,事实证明我确实需要该变体,但我不知道我的选择是什么,所以我运行了:
~ ❯ localectl list-x11-keymap-variants gb
colemak
colemak_dh
dvorak
dvorakukp
extd
intl
mac
mac_intl
pl
我认识到dvorak
和的键盘布局与我想要的colemak
不同,但我很困惑,它甚至没有列出!如果它被列出来,我就会运行:qwerty
qwerty
localectl set-x11-keymap layout gb qwerty
我当然也不知道这是否有效,但我基本上正在尝试让我的蓝牙键盘成为标准的英国英语键盘。
答案1
我不知道以这种方式设置键盘布局是否可以解决您的蓝牙键盘的初始问题,但我可以告诉您为什么该命令不起作用以及这些变体的用途。
您尝试过:
localectl set-x11-keymap layout gb
遗憾的是,错误消息的细节很少。但是layout
占位符应该替换为所需的布局,例如gb
在您的情况下:
localectl set-x11-keymap gb
关于不存在 QWERTY 变体,这是因为 QWERTY 是 的默认设置gb
,因此您无需指定它。这些变体仅适用于与默认值不同的情况。
除了优秀的 ArchWiki 之外,我还建议您查看手册页以获取有关命令或配置的详细信息,例如本地化在我看来并没有太大帮助,但它们通常写得很好,最后还附有用法示例。如果您man-pages
安装了该软件包,您可以使用例如在终端中打开它们man localectl
。
答案2
我创建了自己的键盘布局:美国和丹麦的混合键盘布局,称为“usdk”,并且由于它没有变体,因此我最初无法通过 localectl 设置选择它。
但经过一些实验后发现,空的带引号的字符串实际上是有效的,所以这就是我现在的做法:
localectl set-x11-keymap usdk pc105 "" caps:escape