ฉันจะปรับแต่ง xkb อัตโนมัติใน GNOME ได้อย่างไร


11

การติดตามคำถามของฉันเกี่ยวกับการปรับแต่งการจับคู่คีย์ใน 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.xmlใช้โดย gnome-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
คำพังเพยควรเห็นตัวเลือกของคุณ (และเคารพdconfค่าคีย์ใต้org.gnome.desktop.input-sources) ตราบใดที่คุณเพิ่มกฎ xkb ที่ระบบของคุณใช้อยู่เช่นไฟล์ที่ถูกต้องดูโพสต์ของฉันที่นี่
don_crissti

ขอบคุณ การกำหนดตัวเลือกต่าง ๆ ในไฟล์ evdev เป็นส่วนที่ขาดหายไปของตัวต่อและฉันได้มันมาทำสิ่งที่ฉันต้องการในตอนนี้โดยใช้ dconf-editor
realh

ในระบบของฉัน (Debian) /usr/share/X11/xkb/rules/evdev.xmlฉันยังพบ ฉันไม่แน่ใจว่ามันมีไว้สำหรับ; แอปการตั้งค่า GNOME จะพังเมื่อเปิดตัวเลือกแป้นพิมพ์ถ้าฉันทำข้อผิดพลาดทางไวยากรณ์ แต่ไม่พบตัวเลือกใน GUI <optionList>ฉันจะเพิ่มสายที่เหมาะสมหลังจากบรรทัดที่มี ฉันไม่สามารถโพสต์ไว้ที่นี่เนื่องจากมีข้อ จำกัด ในความคิดเห็น
realh

ให้ฉันเพิ่ม xmodmap ที่เลิกในปี 1996 เมื่อ XKB มา คือปีก่อนการประดิษฐ์ Wayland
Robert Siemer

คำตอบ:


1

คำตอบของ don_crissti สำหรับคำถามอื่นนั้นเป็นปริศนาที่ขาดหายไป ฉันได้กำหนดตัวเลือกในไฟล์ evdev ตามที่อธิบายและเพิ่มลงในorg.gnome.desktop.input-sources.xkb-optionsgsetting มันทำงานได้อย่างสมบูรณ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.