Wayland ile klavye eşlemeleri nasıl özelleştirilir


20

Linux'u Macbook üzerinde UK / GB klavye ile kullanıyorum ve Apple'ın garip klavye düzeninin neden olduğu bazı sorunları çözmek için tuş haritasını özelleştiriyorum. Bunu xmodmapyapmak için kullanıyorum . Wayland'ı denemek istiyorum, ama xmodmapişe yaramıyor. Wayland'da nasıl benzer bir sonuç elde edebilirim? Kullandığım .Xmodmapdosya aşağıdakileri içeriyor:

keycode  12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock

Satır 1: İngiltere klavyelerinde Shift- 3£, yani # genellikle kendi anahtarına sahiptir Return. Ama Mac # ile Altgr- elde edilir 3. Bir programcı olarak £ 'dan çok daha fazla kullanıyorum, bu yüzden bu satır onları değiştiriyor. ABD düzenini seçmek de bunu başarır, ancak Linux'ta bunu yapmak yaygın olarak kullanılan bazı anahtarları da değiştirirken OS X'te bu anahtarlar ABD / İngiltere'den etkilenmez.

Satır 2-5: Sağ Cmdtuşun Sağ- gibi davranmasını sağlayın Ctrl, çünkü bu klavyede fiziksel sağ Ctrltuş yoktur .

Satır 6: CapsLockYalnızca üzerine basarsanız çalışır Shift. Mac'e özgü değil, bu tüm işletim sistemleri ve klavyeler için standart bir seçenek olmalıdır.


Ben orada partway değilim: görünüşe göre Wayland xkb kullanır ve xmodmap zaten X içinde kullanımdan kaldırılmıştır. Ne yazık ki xkb çok daha karmaşıktır ve GNOME, kullanıcıların bunu özelleştirmesi gerekebileceğini hiç düşünmedi, bu yüzden ikinci bir soru soruyorum .
realh

Yanıtlar:


11

Ne yazık ki sistem XKB veritabanını değiştirmek /usr/share/X11/xkbtek yoldur; senin dan başka soruya o kısmı çalışma kazanılmış ettik gibi görünüyor.

Sınırlama çoğunlukla Wayland'ın olgunlaşmamış olmasından ve XKB'deki tasarım gözetiminden kaynaklanmaktadır.

  • Aramak için kullanıcı tanımlı bir veritabanı ekleme (örneğin veya sistem veritabanı gibi düzenlenmiş dosya ve alt dizinlerle) gibi setxkbmapve bu gibi araçlar xkbcompsağlar . Bu araçlar X sunucusuyla etkileşime girer, bu nedenle Wayland altında X uygulamalarını çalıştırmak için uyumluluk katmanını yapılandırmak yararlı olabilir . Ancak şu anda Wayland protokollerini konuşmuyorlar.-I~/.xkb~/.config/xkbXwayland

  • Wayland protokolleri hala olgunlaşıyor. Şu anda öyle görünüyor input-methodve text-inputprotokoller en alakalı ve her ikisi de kararsız. Ayrıca, tanımlanmış bir anahtar haritasının değiştirilmesi hakkında hiçbir şeyden söz etmeyin; bu detaylar besteciye bırakılmıştır.

  • GNOME ve KDE'nin her ikisi de, sistem XKB seçeneklerini işleyecek, anında değiştirme de dahil olmak üzere klavye işleme ayarları cinleri sağlıyor. Bildiğim kadarıyla, kullanıcı özelleştirmeleri hakkında bilgi vermenin bir yolu yok. Bildiğim kadarıyla, Weston ve diğer besteciler başlangıçta XKB seçeneklerini ayarlamak için yapılandırma dosyalarına veya ortam değişkenlerine güveniyorlar ve çıkış ve yeniden başlatma dışında bunları değiştirmenin bir yolu yok.

  • XKB'nin kendisinde bile, bu tam olarak desteklenmemektedir. Özel semboller dosyanız includediğer sistem sembolleri dosyalarını içerebilir . Ancak şu anda includeXKB kural dosyaları için herhangi bir işlevsellik yok , bu nedenle Wayland bestecisiyle konuşacak ve kişisel özelleştirmelerinize bakacak bir aracınız olsa bile, kullanmak istediğiniz tüm kuralları el ile eklemeniz gerekir (örneğin, kopyalama rules/evdev*sistem XKB'den değiştirin ve değiştirin). libxkbcommonsahip bir açık sorununu bu konu ve üzerinde ilgili hata .


1
Bunu hemen hemen çözdüğümü daha net hale getirmeliydim. Diğer soruda bunu söyledim, ama bilgi biraz ayrık. Web siteme bir blog eklemeye geldiğimde bunu daha açık bir şekilde belgelemek istiyorum, o zaman buraya bağlantı vermeyi hatırlamak zorunda kalacağım.
realh

emin, ama yine de cevaplanmamış bir soru oldu, bu yüzden Wayland-eşdeğer- .Xmodmapyönünü ele çalıştı .
quixotic

3
Şimdi bunu bir blog yazısında ayrıntılı olarak belgeledim .
realh

5

Bunun için Linux için Interception Tools'u başarıyla kullanıyorum ve özel eşlemeleri için başka eklentiler üreten insanları da biliyorum . caps2esc , her gün kullandığım ilk kavram kanıtı eklentisidir ve hem X hem de Wayland'da çalışır. Araç her zamanki haritalama yazılımından biraz daha düşük seviyededir, ancak oldukça esnektir ve bir sonraki eklenti için planım genelleştirilmiş bir akorlama haritalama aracıdır.

Feragatname: Ben yazarım.


Müdahale Araçları gerçekten ilginç görünüyor! Çalışmanız için teşekkürler!
balu

1
Tüm klavye
girişimi

4

2018'de buraya gelenler için (Ubuntu 17.10), bunun en kritik kısmı GNOME Tweak Tool kullanılarak gerçekleştirilebilir.

Gnome Tweak Tool> Klavye ve Fare> Ek Düzen Seçenekleri> Ctrl, Win tuşlarına (ve normal Ctrl tuşlarına) eşlenir.


2
"Gnome Tweak Tool (Gnome Tweak Tool)" (ne olursa olsun) kullanmak, diğer Windows yöneticileri / ortamları / grafik kabukları için de yeni eşlemeler ayarlıyor mu?
Mali Remorker

Gnome Tweak Tool Caps Lock'u yeniden eşleyemez.
andyn

@andyn gnome-tweaks-3.34.0-1.fc31.noarch, Caps Lock'u yeniden eşleyebilir - örn. 'Caps Lock aynı zamanda bir Ctrl', 'Caps Lock ek bir Esc yap', 'Caps Lock Ctrl olarak Caps' ve daha fazlası.
maxschlepzig

2

Bu cevap quickotic'in cevabı ile aynı fikre sahiptir, ancak daha ayrıntılı bir örnekle:

Gnome Tweaks, xkb ile yapabileceğiniz 20 veya 30 klavye tweaks listesine sahiptir. Bazen aradığınız tweak'i varsayılan olarak bulabilirsiniz. Benim durumumda, Printcreen tuşunu Menu ile değiştirmek istedim.

Xkb aracılığıyla kullanılabilen printcr anahtarını değiştirmek için tek seçenek, Win_R ile değiştirmekti. Bu konudaki Gunnar Hjalmarsson bana xkb'nin değişikliklerini, baskılarcr / win_r yerine baskılarcr / menü yapmamı önerdi. Birlikte bir çözüm bulduk ve burada tekrar ileteceğim:

Terminalde şunu girin:

sudo su
nano /usr/share/X11/xkb/symbols/altwin

Dosyanın altında şunları bulacaksınız:

// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
    replace key <PRSC> { [ Super_R, Super_R ] };
    modifier_map Mod4 { <PRSC>, <RWIN> };
};

Bu bölümü silin ve bununla değiştirin:

// Menu is mapped to the PrtSc key (and the usual Win key).
xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Menu, Menu ] };
     modifier_map Mod4 { <PRSC>, <MENU> };
};

Nano'da silmek için geri silme tuşunu kullanın (vurgulama ve silme işe yaramaz). Yapıştırmak için shift-ctrl-v kullanın. Çıkmak ve kaydetmek için ctrl-x tuşlarına basın, üzerine yazmak için evet seçeneğini seçin ve enter tuşuna basın.

Yeniden Başlatma. Gnome / Ubuntu'da gnome-tweak araçlarına git Tweak araçlarında Klavye ve Fare bölümüne gidin, Ek Düzen Seçenekleri düğmesine basın ve Alt / Win tuş davranışını genişletin. En alttaki seçeneği belirleme: Win, printcr ile eşlenir (yalnızca bu davranışı, print ve Win yerine print ve Menu'yi değiştirmek için değiştirdiğimizi unutmayın). (KDE'de modded xkb seçeneğini açmanın bir yolu olduğundan eminim ama kullanmıyorum, bu yüzden size tam prosedürü veremiyorum).

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.