P: Jak przełączać się między metodami wprowadzania dla różnych języków, gdy używasz niestandardowego układu klawiatury?
Muszę edytować tekst w dwóch różnych językach. Chciałbym móc używać moich skrótów klawiszowych w obu językach, z wyjątkiem oczywiście wstawiania tekstu do bufora. Wygląda na to, że powinienem być w stanie toggle-input-method
( C-\
) i wybrać inny język.
Jak dotąd prawie tak dobrze.
Oto rub: używam angielskiego układu Dvorak, który ustawiam na poziomie systemu operacyjnego (tj. Z setxkbmap
). Kiedy ja toggle-input-method
, tekst, który wstawiam, byłby poprawny, gdybym miał układ QWERTY (standard w USA), ale okazuje się bełkotliwy, ponieważ jestem na Dvorak. (FWIW, kiedy zmieniam układ na standardowy w USA, działa dobrze.)
Więc: jak mam poinformować Emacsa, że używam Dvoraka, aby toggle-input-method
znajomi tłumaczyli moje naciśnięcia klawiszy na prawidłowe znaki w innym języku?
źródło
Odpowiedzi:
Istnieje metoda zmiany definicji układu fizycznego dla metody wprowadzania poprzez ustawienie
quail-keyboard-layout-type
. Ale wygląda na to, że Dvorak nie jest jednym z możliwych kandydatówquail-keyboard-layout-alist
w moim Emacsie 24.4.Możesz albo zdefiniować nowy fizyczny układ klawiatury, patrząc na definicję
quail-keyboard-layout-alist
w,quail.el
albo utworzyć nową metodę wprowadzania, definiując odpowiednie klawisze arabskie dla układu Dvoraka.Nie mam doświadczenia w pierwszym, ale mogę potwierdzić, że drugie podejście jest łatwiejsze niż myślisz. (Musiałem stworzyć turecką metodę wprowadzania na wierzchu Farsi.) Skopiuj
arabic.el
(która znajduje się w moim systemie Debian na/usr/share/emacs/24.4/lisp/leim/quail/arabic.el.gz
) do swojego domusite-lisp
i zmień klucze zgodnie z własnymi preferencjami. Nie zapomnij również zmienić nazw metod wprowadzania itp. Właśnie stworzyłeś nową metodę wprowadzania Dvorak-arabską.Mogę zaktualizować odpowiedź o więcej szczegółów, jeśli coś wydaje się skomplikowane.
źródło
...-alist
wersji.quail-. *-alist
do działu rozwoju Emacsa. Jestem pewien, że są inni użytkownicy Dvoraka, którzy z tego skorzystają.@EmreSahin postawił mnie na właściwej ścieżce, aby odpowiedzieć na to pytanie, dlatego przedstawiam trochę szczegółów na wypadek, gdyby ktokolwiek inny musiał sam rozwiązać taki problem.
Jak wskazuje Emre, musimy dodać układ Dvoraka
quail-keyboard-layout-alist
. Okazuje się, żequail
biblioteka nie jest dobrze udokumentowana w podręczniku , w którym wspomniano o dwóch powiązanych funkcjach podczas przekazywania na jednym węźle.Jednak po zapoznaniu się z tym wątkiem pomocy, a zwłaszcza ze stroną EmacsWiki na temat rosyjskiego z Dvorakiem (z której ta odpowiedź pochodzi), wydaje mi się, że udało mi się to rozgryźć.
Dokumentacja zmiennej
quail-keyboard-layout
opisuje, co musimy włożyćquail-keyboard-layout-alist
. Jest to długi ciąg odpowiadający 6 rzędom po 15 kluczy każdy. Każdy wiersz odpowiada nieprzesuniętym i przesuniętym wartościom każdego klucza, w sumie 30 znaków na wiersz. Nie jestem pewien co do następującego punktu, ale wydaje się, że dla tego, co nazywam „pół-standardowymi” klawiaturami z 4 rzędami klawiszy, pierwszy i szósty rząd powinny mieć po 30 pustych miejsc.Wielkie odkrycie:
źródło