Editor Rozložení Klávesnice Pro X Window
Total Page:16
File Type:pdf, Size:1020Kb
Univerzita Pardubice Fakulta elektrotechniky a informatiky Editor rozložení klávesnice pro X Window Bc. Viktor Grešák Diplomová práce 2019 Prohlašuji: Tuto práci jsem vypracoval samostatně. Veškeré literární prameny a informace, které jsem v práci využil, jsou uvedeny v seznamu použité literatury. Byl jsem seznámen s tím, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorský zákon, zejména se skutečností, že Univerzita Pardubice má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle § 60 odst. 1 autorského zákona, a s tím, že pokud dojde k užití této práce mnou nebo bude poskytnuta licence o užití jinému subjektu, je Univerzita Pardubice oprávněna ode mne požadovat přiměřený příspěvek na úhradu nákladů, které na vytvoření díla vynaložila, a to podle okolností až do jejich skutečné výše. Beru na vědomí, že v souladu s § 47b zákona č. 111/1998 Sb., o vysokých školách a o změně a doplnění dalších zákonů (zákon o vysokých školách), ve znění pozdějších předpisů, a směrnicí Univerzity Pardubice č. 9/2012, bude práce zveřejněna v Univerzitní knihovně a prostřednictvím Digitální knihovny Univerzity Pardubice. V Pardubicích dne 15. 5. 2019 Bc. Viktor Grešák Poděkování Děkuji vedoucímu diplomové práce Mgr. Tomáši Hudcovi za cenné rady a připomínky, které pomohly tuto práci vytvořit. Také děkuji své rodině, mé přítelkyni a přátelům za podporu. ANOTACE Práce se zabývá analýzou editorů rozložení klávesnice. Je vypracován přehled způsobů, kterými lze měnit rozložení klávesnice v grafickém prostředí X Window s ohledem na XKB. Hodnotí a porovnává existující editory klávesnic. Je vytvořen nový editor rozložení klávesnice pro X Window. V editoru jsou vytvořena alternativní rozložení klávesnice. Jsou navrženy sekvence X Compose umožňující zadávat znaky pomocí sekvencí kláves. KLÍČOVÁ SLOVA editor, klávesnice, rozložení, X, X Compose, XKB TITLE The Keyboard Layout Editor for X Window ANNOTATION The thesis analyzes keyboard layout editors. It summarizes different ways to change the keyboard layout in the X Window graphical environment taking the XKB into consideration. It compares and evaluates existing keyboard layout editors. A new keyboard layout editor for the X Window is created. Alternative keyboard layouts are created using the editor. The X Compose sequences are designed, allowing user input using multiple subsequent keystrokes. KEYWORDS editor, keyboard, layout, X, X Compose, XKB OBSAH Seznam obrázků9 Seznam tabulek 10 Seznam zkratek 11 Úvod 12 1 Rozložení klávesnice 13 1.1 Historie ..................................... 13 1.2 Typy kláves................................... 15 1.3 Používaná rozložení klávesnice......................... 16 2 Rozložení klávesnice v X11 21 2.1 Nástroj xmodmap ................................ 21 2.2 Nástroj localectl ............................... 23 2.3 X Keyboard Extension............................. 24 3 Editory rozložení klávesnice 29 3.1 XKeyCaps.................................... 29 3.2 Keyboard Layout Editor............................ 32 3.3 Microsoft Keyboard Layout Creator...................... 35 3.4 Shrnutí...................................... 39 4 Vlastní editor klávesnice 40 4.1 Alternativní české rozložení klávesnice .................... 47 5 Rozšíření X Compose 51 Závěr 55 Použitá literatura 57 Seznam příloh 62 A Obsah CD 63 B Generátor sekvencí X Compose 64 SEZNAM OBRÁZKŮ 1.1 Psací stroj Typewriter............................... 14 1.2 Úrovně klávesy................................... 16 1.3 Německá varianta rozložení QWERTZ...................... 17 1.4 Rozložení klávesnice AZERTY........................... 18 1.5 Rozložení klávesnice ÄWERTY.......................... 18 1.6 Rozložení klávesnice Dvorak s diakritikou..................... 19 1.7 Rozložení klávesnice Colemak........................... 19 1.8 Rozložení klávesnice Workman........................... 20 2.1 Struktura XKB................................... 25 2.2 Výstup příkazu xkbprint ............................. 27 3.1 Výběr modelu klávesnice v aplikaci XKeyCaps.................. 29 3.2 Hlavní okno programu XKeyCaps......................... 30 3.3 Editační okno klávesy programu XKeyCaps................... 31 3.4 Aplikace Keyboard Layout Editor......................... 33 3.5 Microsoft Keyboard Layout Creator........................ 36 3.6 Editace mrtvých kláves pomocí Microsoft Keyboard Layout Creator...... 37 4.1 Vzhled vlastního editoru rozložení klávesnice................... 41 4.2 UML diagram případů užití vytvořené aplikace................. 42 4.3 UML diagram aktivit popisující editaci klávesy................. 43 4.4 UML diagram balíčků aplikace.......................... 44 4.5 Editor s rozložením QWERTY........................... 48 4.6 Editor s českou programátorskou variantou QWERTY............. 49 4.7 Editor obsahující rozložení klávesnice s typografickými znaky.......... 50 SEZNAM TABULEK 3.1 Srovnání stávajících editorů rozložení klávesnice................. 39 5.1 Vytvořené sekvence pro rozšíření X Compose................... 52 5.2 Frameworky vstupní metody a linuxové distribuce................ 53 5.3 Podpora X Compose a zadávání znaků Unicode pomocí vstupní metody.... 54 SEZNAM ZKRATEK ANTLR Another Tool for Language Recognition ASCII American Standard Code for Information Interchange CD Compact Disc ČSN Česká technická norma DLL Dynamic-Link Library Fcitx Free Chinese Input Toy of X GIMP GNU Image Manipulation Program GNOME GNU Network Object Model Environment GNU GNU’s Not Unix GTK GIMP Toolkit GUI Graphical User Interface HTML Hypertext Markup Language IBus Intelligent Input Bus JDK Java Development Kit JSON JavaScript Object Notation KDE K Desktop Environment LED Light-Emitting Diode LXDE Lightweight X11 Desktop Environment OS Operační systém PDF Portable Document Format UIM Universal Input Method UML Unified Modeling Language XIM X Input Method XKB X Keyboard Extension ÚVOD Moorův zákon je empirické pravidlo, které říká, že růst výpočetního výkonu je expo- nenciální [1]. Přestože se výpočetní technika neustále zlepšuje, hlavním prostředkem pro komunikaci s počítačem zůstává klávesnice. Může být až překvapující, jak málo se klávesnice a její nejčastěji používané rozložení – QWERTY – mění. Dle projektu Carpalx, který si klade za cíl kvantifikovat náročnost psaní při použití rozličných rozložení klávesnic a tato rozložení optimalizovat, není QWERTY nejlepším rozložením [2]. Je možné narazit i na tvrzení, že rozložení mělo být dokonce záměrně zpomaleno (blíže viz oddíl 1.1). Tvar a rozložení klávesnice nemá vliv pouze na rychlost psaní symbolů. Možná ještě důležitějším aspektem je pohodlí uživatele. Především častým a dlouhodobým uživatelům klávesnic (jako jsou pracovníci v kancelářích) hrozí poškození z opakovaného namáhání. Ať už se jedná o prevenci nebo rehabilitaci poškození, jako jsou syndrom karpálního tunelu nebo poškození šlach prstů, je účelné co nejlépe podpořit komfort uživatele. Protože různí uživatelé rozličných profesí používají klávesnici k psaní odlišných textů, liší se i jejich nároky na kvalitní rozložení klávesnice. Po úvodní definici pojmu rozložení klávesnice a uvedení historie se práce zabývá existujícími rozloženími klávesnic a způsobem nastavení rozložení klávesnice v grafickém prostředí unixových systémů – X Window –,mj. jsou porovnány existující editory rozložení klávesnice. Cílem práce je vytvoření editoru, který svými vlastnostmi umožňuje použití širokým zá- stupem uživatelů k vytvoření rozložení klávesnice pro X Window. V editoru jsou vytvořena alternativní rozložení, která podporují i běžně nedostupné typografické znaky. Práce se rovněž zabývá použitím X Compose, což je metoda umožňující zadávat běžně nedostupné znaky pomocí sekvencí kláves. 12 1 ROZLOŽENÍ KLÁVESNICE Samotný pojem rozložení klávesnice lze chápat více způsoby. Pojem může odkazovat na fyzické uspořádání a umístění kláves. Dalším vysvětlením může být jakým způsobem klávesy vizuálně odkazují na symboly, které mají reprezentovat – tedy jaké symboly jsou umístěné na fyzických klávesách. Vizuální rozložení ovšem nemusí nutně odpovídat funkčnímu rozložení kláves, které odpovídá generovaným znakům při stisku jednotlivých kláves. Za funkční rozložení kláves může být zodpovědný operační systém, který přiřazuje číselným kódům fyzických kláves konkrétní znaky [3]. V této práci se nejčastěji používá pojem rozložení klávesnice ve smyslu funkčního rozložení kláves. Na světě se vyskytuje množství rozložení znaků na klávesnici. Lze si položit otázky, kde se tato rozložení vzala, proč se na českých klávesnicích nejčastěji vyskytují znaky právě v uspořádání QWERTZ či jaká jsou používaná rozložení klávesnic. 1.1 Historie Původ dnešních rozložení klávesnic lze vysledovat u psacích strojů. O rozložení QWER- TY, které se dnes často používá v anglicky mluvících zemích, se v roce 1874 zasloužili pánové Christopher Latham Sholes a James Densmore [4]. V tomto roce prodali firmě E. Remington and Sons psací stroj pojmenovaný Typewriter. Písmena na klávesnici psacího stroje na obrázku 1.1 jsou rozmístěna podobně, jako je tomu u dnešních klávesnic. Je možné si všimnout, že na číselném řádku chybí 1 a 0. Při psaní textu to nebyl problém, protože číslice byly nahrazovány písmeny O a I [4]. Samotné rozložení nemělo být vytvořeno s ohledem na rychlost psaní. Často některé zdroje dokonce uvádějí, že mělo být psaní na stroji záměrně zpomaleno [6,7,8]. Důvodem mělo být zasekávání se prvotního modelu psacího stroje při příliš rychlém psaní. Idea psacího stroje, na kterém se píše pomalu,