İle oynamak xmodmap
ben duymamıştım bir değiştirici tuşa karşılaştı: Mode_switch
. Özel karakterler eklemekle ilgisi var gibi görünüyor.
Bir anahtara atadım ama etkisinin yok gibi görünüyor. Bu ne için? ISO_Level3_Shift
(Alt Gr) dan farklı mı ?
İle oynamak xmodmap
ben duymamıştım bir değiştirici tuşa karşılaştı: Mode_switch
. Özel karakterler eklemekle ilgisi var gibi görünüyor.
Bir anahtara atadım ama etkisinin yok gibi görünüyor. Bu ne için? ISO_Level3_Shift
(Alt Gr) dan farklı mı ?
Yanıtlar:
Mode_switch
AltGrBirçok klavye düzeninde çağrılan tuşun eski stil (XKB öncesi) adıdır . Bu benzer Shift, o eğer bir karaktere karşılık, farklı bir karakter olsun bir tuşa bastığınızda Shiftveya AltGrda basılır. Aksine Shift
, Mod_switch
X11 anlamında bir değiştirici değildir , çünkü normalde işlev tuşlarına değil karakterlere uygulanır, bu nedenle uygulamaların yalnızca istenen efekti elde etmek için bir karakter araması yapmaları gerekir.
ISO_Level3_Shift
bu anahtarın XKB sürümüdür. Genel olarak konuşursak, XKB çok daha karmaşık ve bazı ekstra şeyler yapabilir. XKB'nin mekanizması, klavye düzenlerinin hangi değiştiricilerin hangi tuşlardan etkilendiğini değiştirmesine izin verdiği için daha geneldir, yapışkan ( CapsLockstil) ve eşzamanlı bas ( Shiftstil) değiştiricileri genelleştirir .
ISO_Level3_Shift
'Yapışkan' davranabileceğini bilmek harika, uzun zamandır bu işlevselliği arıyordum: unix.stackexchange.com/questions/39014/…
AltGr
ve Mode_switch
aynı anahtarlar? Olmazsa, bu bağlantıda , aynı şeylermiş gibi ses çıkarırlar. Bunu biraz açıklayabilir misiniz?
Mode_switch
ve ISO_Level3_Shift
aynı şeyi biraz farklı şekillerde yapın. Farklılıkları anladığımı iddia etmiyorum; çoğu zaman farketmezler ama xmodmap'ı XKB isimleriyle karıştırmanın bazen değiştiricilerin doğru çalışmamasına neden olduğunu hatırlıyorum.
us(cz_sk_de)
özellikleri veya olmamasına bağlı olarak bazı tuşlar için özel xmodmap eşleştirmeleri (örneğin virgül) ile AltGr
olan Mode_switch
veya ISO_Level3_Shift
aynı anda her iki özellikleri almak mümkün değil.
CapsLock
tarzı değildir . Yapışkan tuşlara “mandal”, kilit tuşlarına kilit denir. Yapışkan tuşlar bir sonraki değiştiriciye basıldıktan sonra serbest bırakılırken, tuşlar tekrar basılana kadar etkinleşir.
Bu cevap @Gilles'in cevabına aykırı değil, ancak cevabında "az aydınlatılmış" olduğunu düşündüğüm xkb Giriş işleminin başka bir yönünü açıklamak içindir .
Hem ISO_Level3_Shift
(Alt-Gr) hem Mode_switch
de aynı anda farklı sonuçlarla kullanabilirsiniz . Bazı yapılandırmalar gerektirir, ancak her ikisine de sahip olabilir ve fiziksel klavye tuşu başına 6 farklı anahtar üretmek için bunları kullanabilirsiniz !
Şunları yapabilirsiniz örneğin yapılandırmak Tabiçin olmak Mode_switch
ile tuttuğunda xcape ⌂ ve xmodmap'teki sonra aşağıdaki karakterler / tuşları üretebilir klavyede "H" etiketli anahtarı örneğin,:
h
H
← (Cursor)
← (Symbol)
┘
┐
with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH
: Yani, Sorunuza geri gelmeyi IL3S
ve Mode_switch
imleç tuşları ve sahip böylece, farklı anlamlara şekilde yapılandırılabilir ~ 200 kullanışlı karakterler üzerinde (aksanlı) dilleri, kutu çizimden ve teknik karakter kümesi 35 tuşları arasında 3 harfli satırlar.
Yukarıdakileri gerçekleştirmek için:
# Initial Setup
xmodmap -e 'keycode 23 = Mode_switch ISO_Left_Tab Tab ISO_Left_Tab Tab ISO_Left_Tab'
xmodmap -e 'keycode any = Tab'
xcape -e "Mode_switch=Tab"
örnek H:
xmodmap -pke | grep 'h H'
# Make note of the keycode, note the 8 columns after the `=`,
# then edit and feed back into xmodmap with:
xmodmap -e 'keycode 43 = h H lowrightcorner uprightcorner Left leftarrow h H'
fn: A → B
.
ISO_Level5_Shift
. Bu 8 seviye üretiyor, 7. seviye lvl3+lvl5+H
& c.
Mode_shift
Xkb'dekiler, gruplar veya paftalar için bir kaydırma tuşudır. Birden fazla gruba sahip bir düzeniniz varsa, bir sonraki gruba erişmek için bu tuşu basılı tutabilirsiniz. Birkaç düzeniniz varsa, düzenler arasında geçiş yapmak için bu tuşu basılı tutabilirsiniz († 1).
Bu yüzden (veya ve
, ve anahtar teslimi adlarını kullanmak için) seviyelerin Mode_shift
ne olduğunu gruplamaktır .ShiftShift_L
Shift_R
Bunun Mode_shift
bir takma adı olduğunu düşünürsek bu daha belirgin hale gelebilir ISO_Group_Shift
(† 2). Denilen tuşlar da vardır
ISO_Group_Latch
ve ISO_Group_Lock
hangi tekabül
ISO_Level2_Latch
(mandal vardiya) ve Shift_Lock
sırasıyla († 3).
Ayrıca farklı scriptler için birkaç takma ad vardır:
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
† 1: Bu, Xkb'nin “grupları” ve “düzenleri” hakkındaki düşüncelerime dayanıyor. Öyle görünüyor ki aynı tuşlarla aralarında seçim yaptıkları gibi aynı muamele görüyorlar.
† 2: Ben kayıtlı bu dayandırarak keysymdef.h
içinde bu Git depo
revizyon ab8666661fc6 de (2017-05-10 “XF86XK_AudioPreset Ekle”). Kurulumlarda muhtemelen bu dosyayı bulacaksınız
/usr/include/X11/keysymdef.h
.
† 3: Ayrıca bir anahtar ISO_Lock
, bir tür genel amaçlı kilit anahtarı da vardır.
AltGr
Anahtarın anlamıGilles , cevabındaAltGr anahtarla olan bağlantısından bahsetti :
Mode_switch
AltGrBirçok klavye düzeninde çağrılan tuşun eski stil (XKB öncesi) adıdır .
Bu, “AltGr” Mode_switch
nin grupları değiştirmek için kullanıldığı için “alternatif / alternatif grup” anlamına gelebileceğinden şüphelenmeme yol açtı . Ancak bunun yanlış olduğu ortaya çıktı. Anahtardaki Wikipedia sayfasınaAltGr göre
, “AltGr” IBM klavyelerinden geliyor gibi görünüyor ve el kitaplarında “alternatif grafikler” in kısaltması olduğunu söylüyor. Bu mantıklıdır, çünkü “grafik” çizmek için klavyeyi kullanmanın (metin kullanıcı arayüzlerinde kullanılan kutu çizme karakterleri) çok iyi senaryolar arasında hızlı bir şekilde geçiş yapmak için iyi bir destek almadan önce iyi geldiği görülmüştür.