Gry z xmodmap
natknąłem modyfikator klucza nie słyszał o: Mode_switch
. Wydaje się, że ma to coś wspólnego z wstawianiem znaków specjalnych.
Przypisałem go do klucza, ale wydaje się, że nie ma żadnego efektu. Po co to jest? Czy różni się od ISO_Level3_Shift
(Alt Gr) ?
Odpowiedzi:
Mode_switch
to nazwa klucza w starszym stylu (wcześniejsza niż XKB), która jest wywoływana AltGrna wielu układach klawiatury. Jest ona podobna do Shift, że po naciśnięciu przycisku, który odpowiada charakter, otrzymasz inny charakter, jeśli Shiftlub AltGrteż przycisku. W przeciwieństwie doShift
,Mod_switch
nie jest modyfikatorem w sensie X11, ponieważ zwykle dotyczy znaków, a nie klawiszy funkcyjnych, więc aplikacje muszą tylko wyszukiwać znaki, aby uzyskać pożądany efekt.ISO_Level3_Shift
jest wersją tego klucza w wersji XKB. Ogólnie rzecz biorąc, XKB jest o wiele bardziej skomplikowane i może robić dodatkowe wymyślne rzeczy. Mechanizm XKB jest bardziej ogólny, ponieważ pozwala na różne układy klawiatury, w zależności od tego, które klawisze mają wpływ na jakie modyfikatory, uogólnia modyfikatory lepkie ( CapsLockstyl) i jednoczesne naciśnięcie ( Shiftstyl) i tak dalej.źródło
ISO_Level3_Shift
Dobrze wiedzieć, że może działać „lepko”, od dłuższego czasu szukałem tej funkcji: unix.stackexchange.com/questions/39014/…AltGr
iMode_switch
te same klucze? Jeśli nie, w tym linku brzmią, jakby były tymi samymi rzeczami. Czy mógłbyś to trochę wyjaśnić?Mode_switch
iISO_Level3_Shift
zrób to samo na nieco inne sposoby. Nie twierdzę, że rozumiem różnice; przez większość czasu nie mają znaczenia, ale pamiętam, że mieszanie xmodmap z nazwami XKB czasami powodowało, że modyfikatory nie działały prawidłowo.us(cz_sk_de)
funkcjach, albo na niestandardowych mapowaniach xmodmap dla niektórych kluczy (na przykład przecinków) w zależności od tego, czy obie funkcjeAltGr
są, ale nie mogą uzyskać jednocześnie.Mode_switch
ISO_Level3_Shift
CapsLock
stylu. Lepkie klucze nazywane są „zatrzaskami”, a klucze do zamków nazywane są zamkami. Lepkie klawisze są zwalniane po naciśnięciu następnego niemodyfikatora, podczas gdy klawisze blokady działają aż do ponownego naciśnięcia.Ta odpowiedź nie ma odpowiedzi w sprzeczności @Gilles', ale ma opisywać inny aspekt xkb Podawanie który czuję jest «niedostatecznie oświetlone» w swojej odpowiedzi.
Możesz używać jednocześnie
ISO_Level3_Shift
(Alt-Gr) iMode_switch
jednocześnie z różnymi wynikami . Wymaga to pewnej konfiguracji, ale możesz mieć je obie i użyć ich do wyprodukowania 6 różnych klawiszy na fizyczny klawisz klawiatury!Można np configure Tabsię
Mode_switch
podczas rozmowy z xcape ⌂ i xmodmap , następnie np klawisz oznaczony „H” na klawiaturze może powodować następujące znaki / klawisze:h
H
← (Cursor)
← (Symbol)
┘
┐ with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH
Tak więc, aby wrócić wokół na pytanie:
IL3S
aMode_switch
może być skonfigurowany tak, aby oznaczać różne rzeczy, więc można mieć kursorów i ~ 200 użytecznych znaki z (akcentowane) języków, box-rysunku i zestaw znaków technicznej na 35 kluczy z 3 rzędy liter.Aby osiągnąć powyższe:
przykład dla H:
źródło
fn: A → B
.ISO_Level5_Shift
. Daje to 8 poziomów, siódmym jestlvl3+lvl5+H
& c.Mode_shift
w Xkb jest klawiszem Shift dla grup lub układów. Jeśli masz układ z wieloma grupami, możesz przytrzymać ten klawisz, aby uzyskać dostęp do następnej grupy. Jeśli masz kilka układów, możesz przytrzymać ten klawisz, aby przełączać się między układami († 1).Podobnie
Mode_shift
jest z grupami, co Shift(lubShift_L
iShift_R
używanie nazw kluczy) oznacza poziomy.Może to stać się bardziej jasne, jeśli weźmiemy pod uwagę, że
Mode_shift
ma on alias o nazwieISO_Group_Shift
(† 2). Istnieje również klawisze zwanychISO_Group_Latch
iISO_Group_Lock
które odpowiadająISO_Level2_Latch
(zatrzask przesunięcia) iShift_Lock
odpowiednio († 3).Istnieje również szereg aliasów dla różnych skryptów:
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
† 1: Opiera się to na moim zrozumieniu „grup” i „układów” Xkb. Wygląda na to, że są one traktowane tak samo, jak wybór między nimi za pomocą takich klawiszy.
† 2: Opieram to na pliku
keysymdef.h
w tym repozytorium Git w wersji ab8666661fc6 („Dodaj XF86XK_AudioPreset”, 10.05.2017). Podczas instalacji prawdopodobnie znajdziesz ten plik na/usr/include/X11/keysymdef.h
.† 3: Istnieje również klucz
ISO_Lock
, rodzaj klucza zamka ogólnego przeznaczenia.Znaczenie
AltGr
kluczaGilles w swojej odpowiedzi wspomniał o związku z AltGrkluczem:
Doprowadziło mnie to do podejrzenia, że „AltGr” może oznaczać „alternatywną / alternatywną grupę”, ponieważ
Mode_switch
służy do przenoszenia grup. Okazało się to jednak błędne. Według strony Wikipedia na AltGrklucz , „AltGr” wydaje się pochodzić z klawiatur IBM, a w ich podręcznikach jest napisane, że jest to skrót od „alternate grafika”. Ma to sens, ponieważ wydaje się prawdopodobne, że używanie klawiatury do rysowania „grafiki” (znaki rysowania ramek używane w tekstowych interfejsach użytkownika) przyszło na długo przed dobrym wsparciem szybkiego przełączania między wieloma skryptami.źródło