如何在 GNOME 中自动加载 xkb 自定义设置?

如何在 GNOME 中自动加载 xkb 自定义设置?

跟进我关于在 Wayland 中自定义键映射的问题我发现这xmodmap显然已被弃用,但 xkb 在 Wayland 中“应该可以工作”。不幸的是,xkb 更加复杂,相应的文档也更加匮乏。我已经根据来自的信息设法找出了我需要的节Cmd关于交换和的问题Ctrl,另一个大写锁定问题,阅读答案中的一些链接和我的系统文件,但我不知道如何以一种可以自动化且不与 GNOME 冲突的方式应用它们。

这些是我已经制定并成功测试过的节xkbcomp

partial alphanumeric_keys
xkb_symbols "pound" {
    // Put sterling on RAlt-3 and numbersign on Shift-3.
    key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
};

// Make right cmd key act as ctrl
partial modifier_keys
xkb_symbols "rcmdctrl" {
    key <RWIN> { [ Control_R ] };
    modifier_map Control { <LCTL>, <RWIN> };
    modifier_map Mod4 { <LWIN> };
};

partial modifier_keys
xkb_symbols "shiftcaps" {
    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ VoidSymbol, Caps_Lock ],
        actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
    };
};

我将前两个/usr/share/X11/xkb/symbols/macbook和第三个放在shiftcaps同一目录中,并且与xkbcomp等一起,它们在加载到标准布局之上时可以工作gb(mac)

我正在编辑此内容以进行更新并澄清我的答案。我的英镑自定义最近停止工作,所以我检查了 gb(mac) 中的更改,并意识到我必须添加, threesuperior到该key <AE03>行。

我认为evdev.xmlgnome-tweak-tool 使用它来使这些选项在 GUI 中可用。这是我添加的内容:

<group allowMultipleSelection="true">
  <configItem>
    <name>macbook</name>
    <description>Macbook customisations</description>
  </configItem>
  <option>
    <configItem>
      <name>macbook:pound</name>
      <description>Hash on Shift-3, Sterling on AltGr-3</description>
    </configItem>
  </option>
  <option>
    <configItem>
      <name>macbook:rcmdctrl</name>
      <description>Right Cmd key acts as Ctrl</description>
    </configItem>
  </option>
</group>
<group allowMultipleSelection="false">
  <configItem>
    <name>shiftcaps</name>
    <description>Caps Lock with Shift</description>
  </configItem>
  <option>
    <configItem>
      <name>shiftcaps:shiftcaps</name>
      <description>Caps Lock requires Shift to toggle</description>
    </configItem>
  </option>
</group>

答案1

don_crissti 的回答另一个问题提供了拼图中缺失的一块。我已按照所述在 evdev 文件中定义了选项,并将它们添加到org.gnome.desktop.input-sources.xkb-optionsgsetting 中。它工作完美。

相关内容