Jak psát české uvozovky?

10. 10. 2011 11:23 (aktualizováno) | Petr Krčmář

Docela často se na internetu objevuje otázka, jak v Linuxu psát české uvozovky. Nejde to přímo, ale jednoduchou úpravu zvládne každý.

Žijeme v době UTF-8, takže vůbec není problém napsat do textu speciální znaky všeho druhu. Občas (jako třeba v nadpisu mého minulého blogpostu) potřebujeme napsat české uvozovky. To jsou ty, které vypadají jako 99 a 66, tedy „uvozovky“.

Poměrně často se na to uživatelé ptají, naposled dnes ve fóru. Rozhodl jsem se tedy napsat jednoduchý návod pro všechny, kteří mají zájem si modifikovat klávesnici tak, aby na ní české znaky měli. Není to nic těžkého, nebojte. Pojmeme to jako návod „krok za krokem“.

1) Zjistíme kódy modifikovaných kláves

Nejprve se musíte rozhodnout, na které klávesy si uvozovky (či libovolné jiné znaky, fantasii se meze nekladou) dáte. Já je mám na klávesách hned vedle Enteru, na kterých je napsáno „ů“ a „§“. Pokud je stisknu společně s AltGr, objeví se právě zmíněné uvozovky. Kódy kláves zjistíte pomocí programu xev. Musíte si ho spustit v terminálu a pak zmáčknout příslušnou klávesu. Dozvíte se asi toto:

KeyPress event, serial 34, synthetic NO, window 0x3a00001,
    root 0xb0, subw 0x0, time 1274812285, (75,79), root:(681,449),
    state 0x10, keycode 47 (keysym 0x1f9, uring), same_screen YES,
    XLookupString gives 2 bytes: (c5 af) "ů"
    XmbLookupString gives 2 bytes: (c5 af) "ů"
    XFilterEvent returns: False

Nás zajímá zmíněný keycode, v tomto případě 47. Vedlejší klávesa má pak 48.

2) Přemapujeme si znaky, které klávesa píše

K samotnému přemapování nám bude stačit přidat do souboru ~/.Xmodmap jediný řádek. Ten obsahuje kód klávesy, který jsme si právě zjistili a pak seznam znaků, které klávesa vrátí v různé kombinaci s dalšími klávesami. Pořadí je velmi důležité, postupně zleva doprava jsou to:

  1. samostatná klávesa
  2. shift+klávesa
  3. ctrl+klávesa
  4. ctrl+shift+klávesa
  5. altgr+klávesa
  6. altgr+shift+klávesa

Pokud chceme zachovat původní znaky na klávesách a modifikovat jen jednu kombinaci, budeme potřebovat zkopírovat zápis všech znaků a změnit jen jeden. Doporučuji proto navštívit Dokumentační projekt (případně zavolejte xmodmap -pke) a nalistovat kapitolu 8.3. Tam je česká klávesová mapa převedená do formátu, který potřebujeme. Tam také například vykoukáte, že „ů“ je uring a středník je  semicolon.

3) Vytvoříme si vlastní modifikaci

Teď už nám nic nebrání v tom, vymyslet si vlastní funkci pro zvolené klávesy. Já nepoužívám všechny kombinace, především ne ty z controlem. Takže jsem tam napsal cokoliv (jedničku), protože tam něco být musí a v tomto případě je jedno co. Zkopíroval jsem si z Dokumentačního projektu standardní podobu kláves a přidal si tam naše české uvozovky (unicode znaky U201E a U201C) a ještě zmíněný středník.

Můj soubor ~/.Xmodmap tedy obsahuje následující řádky:

keycode 47 = uring quotedbl dollar 1 U201E semicolon
keycode 48 = section exclam ssharp 1 U201C apostrophe

Pokud chceme změny načíst, zavoláme:

$ xmodmap .Xmodmap

Pokud jste něco ošklivě rozbili a chcete načíst originální klávesovou mapu, spusťte setxkbmap cz. Při větších experimentech doporučuji mít tenhle příkaz už napsaný v nějakém terminálu, abyste mohli jedním Enterem zachránit situaci.

Pří příštím startu systému by se vám měly změny automaticky načíst. Pokud to vaše distribuce nedělá, poštelujte si /etc/gdm/Xsession nebo obecně konfiguraci svého přihlašovacího manageru.

DigiZone.cz: Jaká je Swisscom TV Air Free

Jaká je Swisscom TV Air Free

DigiZone.cz: Další programatické formáty

Další programatické formáty

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Lupa.cz: Co všechno je Facebook schopný cenzurovat?

Co všechno je Facebook schopný cenzurovat?

Vitalia.cz: 5 důvodů, proč jet na výlov rybníka

5 důvodů, proč jet na výlov rybníka

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Root.cz: Hořící telefon Samsung Note 7 zapálil auto

Hořící telefon Samsung Note 7 zapálil auto

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Lupa.cz: Adblock Plus začal prodávat reklamy

Adblock Plus začal prodávat reklamy

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Lupa.cz: Odkazy na pirátský obsah mohou být nelegální

Odkazy na pirátský obsah mohou být nelegální

Vitalia.cz: Nová vakcína proti chřipce se aplikuje nosem

Nová vakcína proti chřipce se aplikuje nosem

Vitalia.cz: Antibakteriální mýdla nepomáhají, spíš škodí

Antibakteriální mýdla nepomáhají, spíš škodí

DigiZone.cz: Sat novinky: NASA Ultra HD (4K)

Sat novinky: NASA Ultra HD (4K)

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Vitalia.cz: Tradiční čínská medicína a rakovina

Tradiční čínská medicína a rakovina

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT