그놈에서 xkb 사용자 정의를 자동으로 로드하는 방법은 무엇입니까?

그놈에서 xkb 사용자 정의를 자동으로 로드하는 방법은 무엇입니까?

후속 조치Wayland의 사용자 정의 키 매핑에 대한 질문나는 이것이 xmodmap분명히 더 이상 사용되지 않는다는 것을 알았지만 xkb는 Wayland에서 "작동해야 합니다". 불행하게도 xkb는 더 복잡하고 해당 문서는 더 열악합니다. 나는 에서 얻은 정보를 바탕으로 나에게 필요한 섹션을 알아냈습니다.Cmd교환금액에 관한 질문Ctrl,또 다른 Caps Lock 문제, 답변의 일부 링크와 내 시스템 파일을 읽었지만 자동화할 수 있고 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 사용자 정의가 최근에 작동을 멈췄기 때문에 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에 추가했습니다. 완벽하게 작동합니다.

관련 정보