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


11

Wayland에서 키 매핑을 사용자 정의하는 것에 대한 내 질문에 이어 나는 xmodmap분명히 더 이상 사용되지 않지만 xland는 Wayland에서 "작동해야"한다는 것을 알았습니다. 불행히도 xkb는 훨씬 더 복잡하고 문서화가 잘되어 있지 않습니다. 내가 정보를 기반으로 필요한 스탠자에서 작업을 관리했습니다 교환에 대한 질문 CmdCtrl , 또 다른 모자는 질문을 잠글 답변에서 내 시스템 파일에서 링크 중 일부를 읽고,하지만 난을 적용하는 방법을 모른다 자동화되고 그놈과 충돌하지 않는 방식으로

이것들은 내가 운동하고 성공적으로 테스트 한 스탠자입니다 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.xmlGUI에서 이러한 옵션을 사용할 수 있도록 gnome-tweak-tool에서 사용 한다고 생각 합니다. 여기 내가 추가 한 내용이 있습니다.

<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
gnome은 시스템이 사용하는 xkb 규칙, 즉 올바른 파일에 추가하는 한 옵션을 확인하고 ( dconf아래 의 키 값을 존중 org.gnome.desktop.input-sources) 여기에
don_crissti

감사. evdev 파일에서 옵션을 정의하는 것은 퍼즐의 한 조각이 아니며 dconf-editor를 사용하여 지금 원하는 것을 수행하도록했습니다.
realh

내 시스템 (데비안)에서도 찾았습니다 /usr/share/X11/xkb/rules/evdev.xml. 그것이 무엇인지 잘 모르겠습니다. 키보드 옵션에서 구문 오류가 발생하면 키보드 옵션을 열 때 그놈 설정 앱이 충돌하지만 실제로 GUI에서 옵션을 찾을 수 없습니다. 을 포함하는 줄 뒤에 적절한 줄을 추가했습니다 <optionList>. 의견에 대한 제한으로 인해 여기에 게시 할 수 없습니다.
realh

XKB가 등장했을 때 1996 년경에 xmodmap이 더 이상 사용되지 않는다고 덧붙여 보겠습니다. 즉, 웨이 랜드가 발명되기 몇 년 전.
Robert Siemer

답변:


1

다른 질문에 대한 don_crissti의 대답 은 퍼즐의 누락 된 부분을 제공했습니다. 설명 된대로 evdev 파일에서 옵션을 정의하고 gsetting에 추가했습니다 org.gnome.desktop.input-sources.xkb-options. 완벽하게 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.