设置中缺少 Linux 键盘布局

设置中缺少 Linux 键盘布局

我在 Linux 上使用美国默认键盘,但有时需要德语特殊字符。我在添加了字符的文件夹us中创建了自己的文件版本。这有效,但每次更新时都会被覆盖。usr/share/X11/xkb/symbols

我看到文件中有一个“德语、瑞典语和芬兰语(美国)”(de_se_fi)布局us。所以我想我会尝试那个。但是我在设置中找不到美国键盘的任何“德语”变体来选择它们。

更新

我发现它可能缺失了usr/share/X11/xkb/rules/base.lst,所以我尝试添加它:

这些是usr/share/X11/xkb/symbols/us

// German and Swedish characters added as third level symbols to the US keyboard layout
// Author: Stephan Lachnit <[email protected]>, 2019
// the german umlauts are placed over the characters without diaeresis, the sharp-s over the s
// the swedish ao is placed over the p, since it's closed to the position on a swedish keyboard
// the euro sign is placed over the e, as it is usual for german and swedish keyboards
partial alphanumeric_keys
xkb_symbols "de_se_fi"  {

    include "us(basic)"
    include "eurosign(e)"
    name[Group1] = "German, Swedish and Finnish (US)";

    key <AC01> {[ a,            A,          adiaeresis, Adiaeresis ]};
    key <AC02> {[ s,            S,          ssharp,     U1E9E      ]};
    key <AD01> {[ q,            Q,          at                     ]};
    key <AD07> {[ u,            U,          udiaeresis, Udiaeresis ]};
    key <AD09> {[ o,            O,          odiaeresis, Odiaeresis ]};
    key <AD10> {[ p,            P,          aring,      Aring      ]};
    key <AD12> {[ bracketright, braceright, asciitilde             ]};

    include "level3(ralt_switch)"
};

我将这一行添加到base.lst(在! variant部分下):

  de_se_fi        us: German, Swedish and Finnish (US)

我也尝试创建自己的布局usr/share/X11/xkb/symbols/cust_us_de

default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {

    name[Group1]= "Custom US/DE Keyboard Layout";

    include "us(basic)";
    include "eurosign(e)";

    key <AC01> {[ a,            A,          adiaeresis, Adiaeresis ]};
    key <AC02> {[ s,            S,          ssharp,     U1E9E      ]};
    key <AD07> {[ u,            U,          udiaeresis, Udiaeresis ]};
    key <AD09> {[ o,            O,          odiaeresis, Odiaeresis ]};
};

并将此行添加到base.lst(在! layout部分下):

  cust_us_de      Custom US/DE Keyboard Layout

当我寻找它们时,它们都没有出现设置键盘输入源(重启后也不会发生)

有没有办法测试布局文件(例如usr/share/X11/xkb/symbols/cust_us_de)是否正常工作或导致错误?或者有办法查看base.lst实际加载了哪些布局/变体?

编辑上述文件之一后,我是否需要重新启动或执行其他操作才能使更改生效?还是关闭并打开设置对话框就足够了?


系统:Manjaro Gnome(wayland)

答案1

上次我检查时,遗憾的是没有办法在本地轻松完成此操作。我记得你需要添加布局/usr/share/X11/xkb/rules/base.extras.xml。但是每次更新时都会被覆盖。

请参阅此提交的示例:https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/commit/3deb5d2214e2fe7fbf1c4bb259c1c5fd90619290

然后您需要刷新缓存,在基于 Debian 的发行版上,您可以使用 来执行此操作sudo dpkg-reconfigure xkb-data,否则请尝试sudo rm /var/lib/xkb/*.xkm

因为您似乎只想使用一个子集,所以我建议您只使用它而忽略其他键。

答案2

一些布局在 Gnome 的标准设置中被隐藏。要使“德语、瑞典语和芬兰语(美国)”显示在 Gnome 设置中,只需转到:

Gnome Tweaks → 键盘和鼠标并启用“显示扩展输入源”。

重新启动(注销、登录)Gnome 后,您可以在“英语(美国)”下的键盘布局中找到它,其中有子条目“德语、瑞典语和芬兰语(美国)”。

归功于江西

相关内容