Próbuję utworzyć linuksowy odpowiednik ergonomicznego układu klawiatury telugu o nazwie Sarala (Hard la). Do tej pory udało mi się zmapować wszystkie klucze. Układ używa następujących kombinacji klawiszy dla różnych poziomów.
None (Base): Level1
Shift: Level2
Ctrl + Alt: Level3
Ctrl + Alt + Shift:Level4
Gdzie jako Linux używa następujących poziomów dla różnych poziomów.
None (Base): Level1
Shift: Level2
RAlt: Level3
RAlt + Shift:Level4
Aby móc dopasować kombinacje klawiszy z moim układem, musiałbym zmapować AltGrza pomocą Ctrlznaku + Alt. Pomyślnie przeszukałem różne pliki w /usr/share/X11/xkb/
. Czy jakieś ciało wie, jak mogę związać ISO_Level3_Shift
z Ctrl+ Alt?
key <RALT> {
symbols[Group1]= [ Mode_switch, Multi_key ],
virtualMods= AltGr
};
Jeśli chcesz spojrzeć na układ, jest tutaj
xorg
keyboard-layout
xkb
ShaggyInjun
źródło
źródło
xkb
konfiguracji.Odpowiedzi:
Musisz zdefiniować nowy typ xkb. Przykłady możesz zobaczyć w swoim katalogu xkb / types (zwykle
/usr/share/X11/xkb/types
). Tam możesz zdefiniować dowolne kombinacje modyfikatorów, aby uzyskać różne poziomy przesunięcia. W przypadku swojego problemu możesz użyć czegoś takiego:Następnie w pliku symboli możesz ustawić ten typ jako domyślny lub ustawić dla każdego klucza, jaki to typ. Zwróć uwagę, że typ musi znajdować się w pliku w katalogu typów, a definicja klucza w pliku w katalogu symboli - xkb używa ścisłej hierarchii systemu plików, aby znaleźć każdy składnik.
Zrobiłem sporo hakowania na układach klawiatury, aby zbudować własny układ ( https://github.com/willghatch/hatchak ), który przeszedł różne iteracje, w których eksperymentowałem z dziwnymi rzeczami. XKB bywa czasem dość drobiazgowy i dziwny, ale wciąż jest to najbardziej konfigurowalny system klawiatury, jaki do tej pory widziałem. Najlepsze referencje, jeśli masz więcej problemów, to:
[edytuj: oryginalne linki są obecnie wyłączone, ale na szczęście istnieje Archive.org]
https://web.archive.org/web/20150722164820/http://www.charvolant.org/~doug/xkb/html/index.html
i
https://web.archive.org/web/20190419170426/http://pascal.tsu.ru/en/xkb/
Uwaga - choć jest to najlepsza dokumentacja, jaką znalazłem, pozostawia wiele mrocznych przypadków. Powodzenia.
źródło
key.type
. Prawdopodobnie możesz zobaczyć przykład na/usr/share/X11/xkb/symbols/srvr_ctrl
(lub w innym miejscu), w sekcji „no_srvr_keys”. Oto, co mam: xkb_symbols "no_srvr_keys" {key.type = "TWO_LEVEL"; klawisz <FK01> {[F1, F1]}; klawisz <FK02> {[F2, F2]}; <etc ...>};Wydaje mi się, że potrzebujesz układu klawiatury obsługującego AltGr, więc możesz po prostu zmienić skrót w „Klawiatura> Skróty> Klawisz alternatywnych znaków” w menu konfiguracji. Zwykle można to zobaczyć, zmieniając układ, który „ma martwe klawisze” lub jest napisany „Martwe klawisze AltGr”
źródło