Ako napísať ... 02.

Dnes | 15:35 | rozsypané korálky | kamowski

Toto je voľné pokračovanie článku Ako napísať maďarské písmená ő/ű a ö/ü, české ů/Ů a nemecké ß na slovenskej klávesnici?

Pracujem s rôznym textom a často potrebujem aj ďalšie písmená alebo znaky, ktoré bežne na mojej klávesnici nenájdem.

Mapa znakov

LibreOffice má funkciu "Vložiť-Špeciálny znak" ale keďže pracujem viac s textovým editorom, ktorý toto nemá, v LinuxMinte si z Menu vyvolám "Mapu znakov" alebo z terminálu "gucharmap".

Vkladanie často používaných znakov pomocou tak krkolomných postupov mi ale nevyhovuje.

Unicode znaky

Iste mnohí poznáte "Unicode znaky". V Linuxe ich píšeme pomocou:

ľavý Ctrl + ľavý Shift + u + 1234 (štvormiestne číslo) + Enter

Skúste si napr.: U+0159 - mali by ste dostať: ř
Funguje to, ale pamätať si Unicode čísla znakov nie je práve pohodlné.

Našťastie existuje jednoduchší spôsob. Viem si nastaviť vlastné klávesové sekvencie pre tieto písmená a znaky.

XCompose

Je to špeciálna funkčná klávesa, ktorá funguje ako začiatok malej sekvencie. Vlastne ňou hovorím: "tak a teraz si idem poskladať svoj vlastný znak" Compose nemusím inštalovať, podpora je v Linuxe bežnou súčasťou systému. Potrebujem ho len zapnúť/nastaviť:

Zapnutie/nastavenie XCompose

#popisujem to v LinuxMint XFCE

Menu > správca nastavení > Klávesnica > Rozloženie > Klávesa Compose

Tu som si nastavil "Pravý Win" – nikde inde a nijak inak som túto klávesu nepoužíval. Niekto ju možno ani nemá na klávesnici. V takom prípade by som z ponuky zvolil pravý Ctrl alebo pravý Shift.
Určite nie pravý AltGr !! - ten je užitočný pri písaní!!

Je tam možnosť "Zmeniť voľby rozloženia" – tu nemám nastavené nič, klávesové skratky potrebujem na iné funkcie.

Bonus: prepínanie rozložení klávesnice v paneli

Do spodného panela som si pridal položku "Rozloženie klávesnice". K tomu ale musíte mať nainštalované rozšírenie:

sudo apt install xfce4-goodies

Ak si pridám ďalšiu klávesnicu – dajú sa až 4 – tu si to ľahko prepínam kliknutím alebo kolieskom myšky.

Poskladajme si teda prvé vlastné pravidlo

1. Vyberme si znak

Vyberme si znak "≥". Nájdeme ho v Mape znakov (2265) a skopírujme si ho niekam. Toto bude výsledok nášho prvého pravidla.

2. Vytvorme súbor XCompose

2.1. Najprv si vytvorme súbor ~/.XCompose

touch ~/.XCompose

2.2. Do tohoto súboru na prvý riadok zapíšeme:

include "%L"

3. Poskladajme Compose pravidlo

Chcem mať klávesovú sekvenciu pre symbol , teda "väčší, nanajvýš rovný", zápis bude:

<Multi_key> <greater> <equal> : "≥" # U+2265

kde:

# ako vidíte, Compose skladá znaky zhora dole, > + = dajú

4. Ako zistíme názov klávesu?

Ak je v pravidle <o> a <k> je zrejmé, že sú to klávesy "o" a "k" ale odkiaľ viem, že znak ">" sa v XCompose zapisuje ako <greater> a znak "=" ako <equal>???

Na toto spustíme v termináli nástroj:

xev
KeyPress event, serial 37, synthetic NO, window 0x7a00001,
    root 0x49b, subw 0x0, time 23026828, (157,-18), root:(1690,206),
    state 0x90, keycode 60 (keysym 0x3e, greater), same_screen YES,
    XLookupString gives 1 bytes: (3e) ">"
    XmbLookupString gives 1 bytes: (3e) ">"
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x7a00001,
    root 0x49b, subw 0x0, time 23032837, (157,-18), root:(1690,206),
    state 0x10, keycode 20 (keysym 0x3d, equal), same_screen YES,
    XLookupString gives 1 bytes: (3d) "="
    XmbLookupString gives 1 bytes: (3d) "="
    XFilterEvent returns: False

a v nich riadok s údajom keysym: (keysym 0x3e, greater) (keysym 0x3d, equal) a pod týmito máme aj symboly, ktoré potrebujeme: ">" a "="

Máme teda všetko potrebné na prvé vlastné Compose pravidlo.

5. Dokončíme a uložíme pravidlo

# rôzne znaky, ktoré vaša klávesnica dokáže zapísať a o ktorých ste ani netušili si môžete pozrieť po zapnutí "Klávesnica na obrazovke" a prepínaním Shift, Alt, AltGr + jazykov 🙂

A teraz si vytvorte vlastné sekvencie

Na záver vám sem vložím ako inšpiráciu časť mojej zbierky, smelo si ju skopírujte do svojho súboru ~/.XCompose a môžete skúšať.

include "%L"

# matematika
<Multi_key> <minus> <equal> : "≠"   # U+2260
<Multi_key> <less> <equal>  : "≤"   # U+2264
<Multi_key> <greater> <equal> : "≥" # U+2265
<Multi_key> <plus> <minus> : "±"    # U+00B1

# šípky
<Multi_key> <minus> <greater> : "→" # U+2192
<Multi_key> <less> <minus> : "←"    # U+2190
<Multi_key> <minus> <v>       : "↓" # U+2193
<Multi_key> <v> <minus>       : "↑" # U+2191

# symboly
<Multi_key> <c> <o> : "©"  # U+00A9
<Multi_key> <r> <o> : "®"  # U+00AE
<Multi_key> <o> <k> : "👍" # U+1F44D
<Multi_key> <o> <n> : "👎" # U+1F44E
<Multi_key> <s> <r> : "❤"  # U+2764
<Multi_key> <u> <s> : "🙂" # U+1F642
<Multi_key> <f> <a> : "✓"  # U+2713
<Multi_key> <z> <l> : "✗"  # U+2717
<Multi_key> <asciitilde> <asciitilde> : "≈"  # U+2248

# Ak si pozriete "symboly", volil som kombinácie písmen, ktoré sú aspoň trochu intuitívne: <o> <k> napíše 👍

    • RE: Ako napísať ... 02. Dnes | 16:26
      Avatar Pavel Q4OS, Debian  Administrátor

      Pekný blog, vďaka :-) Len tak ma napadlo, existuje aj niečo ako dolný index? Všimol som si že niektorí ho používajú pri názvoch YT videí napríklad pri označovaní krajiny.

      • RE: Ako napísať ... 02. Dnes | 17:13
        Avatar kamowski Linux Mint  Používateľ

        iste, napr.: pre H₂O U+2082 v "Mape znakov" hľadaj 2082, je tam toho viac ako "subscript"

        • RE: Ako napísať ... 02. Dnes | 17:36
          Avatar kamowski Linux Mint  Používateľ

          hral som sa s tým a:

          <Multi_key> <Down> <2> : "₂"    # U+2082

          <2> sa ale nedáva na numerickej ale v hornom číselomj rade pod F klávesami
          a na sk klávesnici teda cez shift 🙂