Tags Posts tagged with "compose key"

compose key

przez -
8 2145
Klawiatura

Pisząc na polskiej klawiaturze (polskim układzie) mamy 4 poziomy znaków: małe, duże (+Shift), małe “polskie” (+Alt Gr) i duże “polskie” (+Alt Gr + Shift). Wielu użytkowników Linuksa zapewne zauważyło, że prawy alt można wykorzystać z każdym znakiem i uzyskać można dużo więcej znaków, niż tylko polskie, m.in. Ω, ĸ, ħ, “, º, ², ⅛, ®(kombinacje zarówno z samym Altem, jak i z Shiftem).

Ale co to jest ten Compose Key? Stare klawiatury starych komputerów (nie PC) posiadały klawisza o takiej nazwie, obecne PC-towe klawiatury nie posiadają “sprzętowych” odpowiedników. Klawisz ten służy, jak sama nazwa wskazuje, do komponowania znaków.

Gdzie on jest?

To że nigdzie nie jest napisane Compose Key, nie znaczy że go nie ma. Domyślnie może być ustawiony na Shift + Alt Gr, lecz niestety nie w polskim układzie. Klawisz ten ustawić można w ustawieniach środowiska, przykładowo w KDE:

Ustawienia systemowe → Urządzenia wejściowe → Klawiatura → Zaawansowane → Położenie klawisza Compose

Podobnie w środowisku Cinnamon i innych. Wystarczy poszukać ustawień układu klawiatury. Ja ustawiłem sobie ten klawisz na Caps Lock. Wymagany jest restart X’ów.

Co nam da ten klawisz?

Compose Key otwiera nam całą paletę dodatkowych znaków ukrytych nie pod trudnymi do zapamiętania unikodami, tylko intuicyjnymi skrótami!

Przykładowo:

  • <Compose>+<o>+<r>/<c> = ® / ©
  • Strzałki: ←, ↓, →, ↑ (<compose> + 2*strzałka)
  • Ułamki: ½, ¾, ⅘ (<compose> + 2 liczby, nie ma ułamków skracalnych np. 2/4)
  • Znak funta – Przekreślone L: <Compose> + <L> + <-> (lub na odwrót): £
  • Euro – to znak C, lub E ze znakiem = pośrodku, więc <Compose> + <e> (lub <c>) + <=> (lub na odwrót): €
  • Emotikony również się znajdą: ☺ (<Compose> + <:> + <)>)
  • Spróbuj znaleźć metodą prób i błędów skróty dla symboli: ÷, ≠, ≤, ☺, ×, ², ³, &#177

Przede wszystkim Compose Key służy do pisania niestandardowych, znaków znając ich proste skróty, zamiast długich numerów. Listę znaków, jakie można skomponować, można zobaczyć m.in. na stronie http://www.hermit.org/Linux/ComposeKeys.html, choć lepiej zajrzeć do swojego pliku /usr/share/X11/locale/en_US.UTF-8/Compose (dostępny również tutaj: Compose Key – razi. Plik nieco skrócony, waży prawie 500 KiB).

Znajomość tego klawisza może zaoszczędzić wiele czasu, które normalnie trzeba by poświęcić na znalezienie danego znaku w tablicy znaków.

Aby wejść w tryb komponowania znaków, wystarczy nacisnąć ten klawisz, nie trzeba trzymać. Następnie wpisać kombinację, jeśli nie znajdzie danej kombinacji, wprowadzanie zostanie przerwane i wrócimy do normalnego pisania. Tryb się też kończy w momencie gdy zostanie już ukończona kombinacja. Znaki mogą składać się z więcej niż 2 znaków “składowych”.

Modyfikowanie tablicy

Tablica klawiszy komponowanych wczytywana jest z pliku ~/.XCompose. Trzeba najpierw mieć jednak podstawę. Najprościej „ukraść” ją z jednej z istniejących w systemie, np.:

cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose

Następnie edytujemy plik ~/.XCompose. Jego składnia w skrócie:

<klawisze> : "<znak>"  <Unicode> #komentarz

gdzie <Multi_key> to klawisz Compose (mała nieścisłość w nazewnictwie), od niego powinien się zaczynać każdy skrót (chyba że chcecie wyeliminować dany znak z prostego użytku).

Można również stworzyć pusty plik i podobnie jak w języku C: zaincludować inny plik:

include /usr/share/X11/locale/en_US.UTF-8/Compose

“Domyślne reguły” (czyli ten plik) jest też pod “zmienną” %L.

Przy pisaniu sprawozdań z laboratoriów z fizyki używałem greckiego układu klawiszy, przerzucanie układów nie było zbyt wygodne, zrzuciłem sobie więc najczęściej używane greckie litery do tego pliku:

<Multi_key> <O> <m> : "Ω"  U03A9
<Multi_key> <o> <m> : "ω"  U03C9
<Multi_key> <p> <i> : "π"  U03C0
<Multi_key> <D> <e> : "Δ"  U0394
<Multi_key> <d> <e> : "δ"  U03B4
<Multi_key> <l> <a> : "λ"  U03BB

Unikod na końcu jest raczej tylko informacją dodatkową, ponieważ w cudzysłowach można spokojnie zamieścić więcej literek, tworząc np. makra do podpisywania się, czy też przypisując dłuższe słowa kluczowe (lub „stałe fragmenty”) w programowaniu, a bez unikodu również działa. Przy definiowaniu „skrótu” trzeba niestety używać angielskich nazw znaków. Niestety po każdej zmianie potrzebny jest restart X’ów.

Profile tablic

Pewnie zniechęciłem ostatnim zdaniem, ale to nie jest do końca prawda. Uruchamiający się program może działać na nowej tablicy Compose, wystarczy uruchomić go ze zmienną XCOMPOSEFILE ze ścieżką do nowego pliku z tablicą, przykładowo:

XCOMPOSEFILE=~/.XC1 kwrite

A czy da się przypisać na stałe? Może nie bezpośrednio, ale da: trzeba zmodyfikować plik .desktop dorzucając przed nazwę programu „XCOMPOSEFILE=/sciezka/do/tablicy/.XC1”.

Problemy w GTK+

O ile w KDE i aplikacjach w Qt wszystko działa pięknie, niektóre GTK+ stwarzają problemy, używają własnych tablic. Jest na to jednak sposób:

export GTK_IM_MODULE=xim

Tą linijkę należy dodać do autostartu, na przykład poprzez:

echo "export GTK_IM_MODULE=xim" >> ~/.bashrc

Polecane

Jesień Linuksowa

1 716
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...