GNOME'da xkb özelleştirmelerini nasıl otomatik olarak yükleyebilirim?


11

Takip etmek Wayland anahtar eşleşmeleri özelleştirme hakkında sorumu ki ben öğrendim xmodmapgörünüşe uygun bulunmamaktadır, ancak xkb Wayland "çalışması gerekir". Ne yazık ki, xkb çok daha karmaşık ve buna bağlı olarak daha kötü belgelenmiştir. Ben alınan bilgilere dayanarak gerek stanzas dışarı çalışmalarına başardınız takas ilgili bir soruyu CmdveCtrl , başka kapaklar soru kilitlemek cevapları ve benim sistem dosyalarından bağlantılardan bazılarını okuyarak, ama onları nasıl uygulanacağını bilmiyorum otomatikleştirilebilecek ve GNOME ile çelişmeyecek şekilde.

Bunlar çalıştığım ve başarıyla test ettiğim stanzalar 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) ]
    };
};

Ben ilk iki /usr/share/X11/xkb/symbols/macbookve üçüncü shiftcapsaynı dizine koymak ve xkbcompvb standart gb(mac)düzeni üzerine yüklendiğinde çalışır vb .

Bir güncelleme yapmak ve cevabımı netleştirmek için bunu düzenliyorum. Benim kiloluk özelleştirme son zamanlarda çalışmayı durdurdu, bu yüzden gb (mac) neyin değiştiğini kontrol ettim , threesuperiorve key <AE03>hatta eklemek zorunda olduğumu fark ettim .

Ben evdev.xmlgnome-tweak-tool tarafından bu seçenekleri GUI'de kullanılabilir hale getirmek için kullanıldığını düşünüyorum . İşte eklediğim:

<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 seçeneklerinizi görmeniz gerekir (ve onurlandırmak dconfaltında anahtarı değerlerini org.gnome.desktop.input-sources) Eğer XKB eklemek gibi sistem doğru dosyalara, yani kullandığı kuralları sürece, benim yayını görmesini burada
don_crissti

Teşekkürler. Evdev dosyalarındaki seçenekleri tanımlamak bulmacanın eksik parçasıydı ve şimdi dconf-editor'ü kullanarak istediğimi yapmam gerekiyor.
realh

Sistemimde (Debian) da buldum /usr/share/X11/xkb/rules/evdev.xml. Ne için olduğundan emin değilim; GNOME ayarları uygulaması, içinde bir sözdizimi hatası yaptıysam Klavye seçeneklerini açarken kilitleniyordu, ancak aslında GUI'deki seçenekleri bulamıyorum. İçeren satırdan sonra uygun satırlar ekledim <optionList>. Yorumlardaki sınırlamalar nedeniyle onları buraya gönderemiyorum.
realh

XmBmap'in 1996'da XKB geldiğinde kullanımdan kaldırıldığını eklememe izin verin. Wayland'ın icadından yıllar önce.
Robert Siemer

Yanıtlar:


1

don_crissti'nin diğer soruya cevabı bulmacanın eksik parçasını sağladı. Evdev dosyalarındaki seçenekleri tanımlandığı gibi tanımladım ve bunları org.gnome.desktop.input-sources.xkb-optionsgsetting'e ekledim. Mükemmel çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.