Przedmowa : To nie ma nic wspólnego z Vimem jako takim, ale pokażę ci, co uważam za „najlepszy” sposób na wstawienie tych znaków; System digrafów Vima jest mniej więcej taki sam, ale działa tylko z Vimem. Działa to we wszystkich aplikacjach.
Działa to tylko w systemach X11 (Linux, BSD itp.). W systemie Windows jest AllChars . Od jakiegoś czasu nie był aktualizowany, ale mogę potwierdzić, że działa dobrze z Windows 7 (użyłem go w mojej poprzedniej pracy). Wierzę, że OS X ma również dobre możliwości, aby to zrobić wbudowane w system operacyjny; jeśli używasz OS X, zachęcam do ich sprawdzenia, ale ponieważ tak naprawdę nigdy nie korzystałem z OS XI, nie mogę cię do nich wskazać.
Poniżej znajduje się (część) szkicowego artykułu blogu, który mam w przygotowaniu. Niestety naprawdę nie ma jeszcze wyczerpującego przewodnika (poniżej), a poniżej nie opisano wszystkich funkcji, które oferuje (na przykład brakuje niektórych części dotyczących martwych kluczy) i można by je lepiej napisać w niektórych częściach, ale myślę, że to wciąż „wystarczająco użyteczne”.
„Sekwencja tworzenia” to naciśnięcie Composeklawisza, a następnie jednego lub więcej znaków, aby utworzyć znak, którego nie można znaleźć na klawiaturze, na przykład naciśnięcie Compose, natychmiast po nim "i amoże dać znak ä
.
Domyślnie Composenie jest powiązany z żadnym kluczem 1 ; prawy Altklawisz (aka. Alt Gr) jest często używany, ale ustawiasz go na dowolny klucz, który chcesz.
Ustaw za pomocą xmodmap
Możesz użyć tego xmodmap
do ustawienia:
$ xmodmap -e 'keysym Alt_R = Multi_key' # Set it right Alt
$ xmodmap -e 'keysym Caps_Lock = Multi_key' # Set it to Caps Lock
$ xmodmap -e 'keysym F12 = Multi_key' # You're free to use *any* key, like F12
Prawdopodobnie chcesz to dodać do ~/.Xmodmap
pliku 2 :
! Set compose key
keysym Alt_R = Multi_key
Ustaw za pomocą XKB
Możesz także ustawić klucz tworzenia jako opcję dla XKB za pomocą
setxkbmap
:
setxkbmap -option compose:ralt # Right alt
setxkbmap -option compose:caps # Caps Lock
Aby ustawić je na stałe, dodaj polecenie do pliku startowego X lub alternatywnie możesz również ustawić /etc/X11/xorg.conf
:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbOptions" "compose:ralt"
#Option "XkbOptions" "compose:caps"
EndSection
Lub, w bardziej „nowoczesnym” stylu, możesz utworzyć plik
/etc/X11/xorg.conf.d/90-compose.conf
:
Section "InputClass"
Identifier "Set compose key"
MatchIsKeyboard "on"
Option "XkbOptions" "compose:ralt"
EndSection
Lista możliwych wartości znajduje się w xkeyboard-config(7)
sekcji „Pozycja klawisza Compose” 3 .
Konfigurowanie martwych kluczy
Martwy klucz służy głównie do dodania akcentu lub znaku diakrytycznego do litery (np. Umlaut, grób akcentujący itp.), Chociaż można go użyć do utworzenia dowolnej postaci. Działa ... TODO
'
keycode 133 = dead_greek NoSymbol SuperR
http://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
http://stackoverflow.com/questions/14922007/how-to-enter-greek-alpha-under-xor
keycode 48 = dead_grave apostrophe
<dead_grave> <space> : "`" grave # GRAVE ACCENT
<dead_grave> <dead_grave> : "`" grave # GRAVE ACCENT
<dead_grave> <a> : "À" agrave # LATIN CAPITAL LETTER A WITH GRAVE
Tworzenie pliku ~ / .XCompose
Domyślny plik tworzenia, jeśli go ~/.XCompose
brakuje, to
/usr/share/X11/locale/$LANG/Compose
. Posiadanie własnego ~/.XCompose
zastępuje wartość domyślną, ale nadal można dołączyć wartość domyślną do:
include "%L"
Zmiany dowolnego pliku tworzenia są uwzględniane po ponownym uruchomieniu aplikacji. Nie musisz ponownie uruchamiać X.
Skomponuj klucz
„Sekwencja tworzenia” polega na naciśnięciu Composeklawisza, a następnie co najmniej jednego znaku, aby utworzyć znak, na przykład:
<Multi_key> <quotedbl> <a> : "ä" adiaeresis
Oznacza to, że naciśnięcie Compose, zaraz po nim następuje "i
atworzy ä
.
<Multi_key>
oznacza, że używamy Composeklucza. po tym następuje lista jednego lub więcej kluczy, które muszą być keysyms
symbolicznymi reprezentacjami kluczy używanych przez X (zobacz sekcję Keysyms).
Po nim :
następuje, a następnie wynik.
Wynik:
<Multi_key> <a> : "ä" adiaeresis
<Multi_key> <b> <b> : "ä" adiaeresis
<Multi_key> <c> <c> <c> : "ä" adiaeresis
<Multi_key> Alt <d> : "ä" adiaeresis
<Multi_key> Ctrl <e> : "ä" adiaeresis
Uwaga : w pliku tworzenia jest rozróżniana wielkość liter, więc nieA
jest to to samo, co a
.
Martwe klucze
DO ZROBIENIA
Niech działa w GTK i Qt
Ustaw zmienne środowiskowe GTK_IM_MODULE
i QT_IM_MODULE
na xim
.
Skorupa Bourne'a:
# Make compose key work for GTK, Qt
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
Powłoka C:
# Make compose key work for GTK, Qt
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
Zobacz też
Mój ~/.XCompose
Tego ~/.XCompose
używam ; Użyłem skryptu, aby to wygenerować, ale przypadkowo nadpisałem to podczas kompilacji> _ <Więc muszę go przepisać.
Zwróć również uwagę na ten wiersz:
<Multi_key> <i> <b> : "NL65AEGO0721647952"
Naciśnięcie Compose ibspowoduje wstawienie tego ciągu (losowy numer IBAN testu); bardzo przydatny do testowania aplikacji, w których taka liczba jest wymagana do utworzenia jakiegoś obiektu (Osoba, Organizacja); XCompose może również służyć jako narzędzie „fragmentu” :-)
Przypisy
1: Niektóre klawiatury UNIX miały dedykowany Composeklawisz ( jak ten SUN ), ale obecnie jest to dość rzadkie.
2: W zależności od istniejącej konfiguracji może to być odczytane przy starcie, w zależności od konfiguracji, dodaj linię xmodmap ~/.Xmodmap
do jednego
~/.xinitrc
lub ~/.xsession
;
zobacz także wiki ArchLinux .
3: Reprodukowane dla Twojej korzyści:
Position of Compose key
+------------------------------------------------------+
|Option Description |
+------------------------------------------------------+
|compose:ralt Right Alt |
|compose:lwin Left Win |
|compose:lwin-altgr 3rd level of Left Win |
|compose:rwin Right Win |
|compose:rwin-altgr 3rd level of Right Win |
|compose:menu Menu |
|compose:menu-altgr 3rd level of Menu |
|compose:lctrl Left Ctrl |
|compose:lctrl-altgr 3rd level of Left Ctrl |
|compose:rctrl Right Ctrl |
|compose:rctrl-altgr 3rd level of Right Ctrl |
|compose:caps Caps Lock |
|compose:caps-altgr 3rd level of Caps Lock |
|compose:102 <Less/Greater> |
|compose:102-altgr 3rd level of <Less/Greater> |
|compose:paus Pause |
|compose:prsc PrtSc |
|compose:sclk Scroll Lock |
+------------------------------------------------------+