2789 lines
46 KiB
HTML
2789 lines
46 KiB
HTML
<HTML
|
||
><HEAD
|
||
><TITLE
|
||
>Nastavenia konzoly</TITLE
|
||
><META
|
||
NAME="GENERATOR"
|
||
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
||
"><LINK
|
||
REL="HOME"
|
||
TITLE="Slovak-HOWTO"
|
||
HREF="index.html"><LINK
|
||
REL="PREVIOUS"
|
||
TITLE="Miestne nastavenia"
|
||
HREF="locales.html"><LINK
|
||
REL="NEXT"
|
||
TITLE="Nastavenia X Window Systemu"
|
||
HREF="xwindow.html"></HEAD
|
||
><BODY
|
||
CLASS="SECTION"
|
||
BGCOLOR="#FFFFFF"
|
||
TEXT="#000000"
|
||
LINK="#0000FF"
|
||
VLINK="#840084"
|
||
ALINK="#0000FF"
|
||
><DIV
|
||
CLASS="NAVHEADER"
|
||
><TABLE
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TH
|
||
COLSPAN="3"
|
||
ALIGN="center"
|
||
>Slovak-HOWTO</TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="left"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="locales.html"
|
||
>Predchádzajúci</A
|
||
></TD
|
||
><TD
|
||
WIDTH="80%"
|
||
ALIGN="center"
|
||
VALIGN="bottom"
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="right"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="xwindow.html"
|
||
>Ďalší</A
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H1
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE"
|
||
>3. Nastavenia konzoly</A
|
||
></H1
|
||
><P
|
||
>Táto kapitola by mala čítavou, poučnou a zároveň zábavnou formou pojednávať o veciach medzi
|
||
prstom a okom. Základnou otázkou nech nám je <SPAN
|
||
CLASS="QUOTE"
|
||
>„Zmysel života, vesmíru a vôbec.“</SPAN
|
||
>
|
||
</P
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H2
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-FONTS"
|
||
>3.1. Slovenčina na výstupe textovej konzoly</A
|
||
></H2
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-FONTS-FONTS"
|
||
>3.1.1. Fonty</A
|
||
></H3
|
||
><P
|
||
>Keď zobudíte o polnoci hocikoho, kto vo svojom živote videl počítač a opýtate sa ho, ako
|
||
rozbehať slovenské znaky, určite spomenie niečo ako fonty. Na zobrazovanie znakov na
|
||
obrazovku -- či už v textovom alebo grafickom režime -- slúžia skutočne fonty. Fonty pre
|
||
konzolu a programy určené na manipuláciu s nimi sa nachádzajú v balíku
|
||
<SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>. Po jeho nainštalovaní sú súbory s fontami umiestnené v
|
||
adresári <TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/consolefonts/</TT
|
||
>.</P
|
||
><P
|
||
>Pre nás sú dôležité najmä súbory, ktoré majú v mene <TT
|
||
CLASS="FILENAME"
|
||
>iso02</TT
|
||
>,
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>lat2</TT
|
||
>, <TT
|
||
CLASS="FILENAME"
|
||
>latin2</TT
|
||
> alebo číslo <TT
|
||
CLASS="FILENAME"
|
||
>852</TT
|
||
>.
|
||
To naznačuje, že ide o fonty s podporou <EM
|
||
>ISO-8859-2</EM
|
||
>
|
||
(<EM
|
||
>latin2</EM
|
||
>), prípadne <EM
|
||
>DOS codepage 852</EM
|
||
>, čo sú
|
||
štandardy aj pre slovenskú diakritiku.</P
|
||
><P
|
||
>Pozor, pôvodný balík sa volá <SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>, ale existuje jeho rozšírená
|
||
verzia, ktorá sa objavuje v distribúciách -- <SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>.
|
||
Rozdiely medzi nimi sú minimálne, pre <SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
> budeme používať príkaz
|
||
<B
|
||
CLASS="COMMAND"
|
||
>setfont</B
|
||
>, pre <SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
> zase
|
||
<B
|
||
CLASS="COMMAND"
|
||
>consolechars</B
|
||
>. Taktiež, názvy dodávaných fontov sa trochu odlišujú, takže
|
||
budem uvádzať ekvivalenty pre oba balíky.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-FONTS-THEORY"
|
||
>3.1.2. Ako fonty fungujú</A
|
||
></H3
|
||
><P
|
||
>Existuje niekoľko súborových formátov na ukladanie fontov, princíp je však rovnaký --
|
||
súbor obsahuje 256 obrázkov (<I
|
||
CLASS="FOREIGNPHRASE"
|
||
>glyphs</I
|
||
>), z ktorých všetky majú
|
||
rovnaký rozmer (napr. 8x16 bodov -- veľkosť fontu) a každý zobrazuje jeden znak.</P
|
||
><P
|
||
>Aby nám tých 256 obrázkov bolo na niečo dobrých, je treba font zo súboru zaviesť do
|
||
znakového generátora videokarty. Na to slúži jeden z príkazov
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>setfont</B
|
||
> <TT
|
||
CLASS="REPLACEABLE"
|
||
><I
|
||
>meno-fontu</I
|
||
></TT
|
||
> </P
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>consolechars</B
|
||
> -f <TT
|
||
CLASS="REPLACEABLE"
|
||
><I
|
||
>meno-fontu</I
|
||
></TT
|
||
> </P
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
><TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>meno-fontu</TT
|
||
> môže byť absolútna alebo relatívna cesta k
|
||
súboru s fontom, alebo meno súboru, pokiaľ sa nachádza v adresári <TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/consolefonts/</TT
|
||
>, či už s príponou, alebo
|
||
bez.</P
|
||
><P
|
||
>Pre ľahšie pochopenie tých obrázkov, skúste nahradiť
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>meno-fontu</TT
|
||
> reťazcom <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>t850</TT
|
||
> a
|
||
sledujte výsledok na všetkých virtuálnych konzolách.</P
|
||
><P
|
||
>Naspäť k štandardnému fontu sa vždy dostanete jedným z príkazov
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ setfont
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ consolechars -d
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Čo sa presne deje? Program <B
|
||
CLASS="COMMAND"
|
||
>setfont</B
|
||
>/<B
|
||
CLASS="COMMAND"
|
||
>consolechars</B
|
||
>
|
||
zavedie všetkých 256 obrázkov do znakového generátora
|
||
<SPAN
|
||
CLASS="ACRONYM"
|
||
>EGA</SPAN
|
||
>/<SPAN
|
||
CLASS="ACRONYM"
|
||
>VGA</SPAN
|
||
> karty. Od tohto momentu sa na všetkých
|
||
konzolách bude znak s <SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> kódom napr. 65 vykreslovať ako šesdesiaty
|
||
piaty obrázok z našeho súboru s fontom. Ešte raz pripomínam a dvakrát podčiarkujem, že font
|
||
je vždy rovnaký pre všetky virtuálne konzoly, na ktorých zobrazuje znaky ten istý znakový
|
||
generátor <SPAN
|
||
CLASS="ACRONYM"
|
||
>EGA</SPAN
|
||
>/<SPAN
|
||
CLASS="ACRONYM"
|
||
>VGA</SPAN
|
||
> karty.</P
|
||
><P
|
||
>Dôležité je uvedomiť si, že interne ide naozaj len o obrázky a tvar niektorého znaku vo
|
||
fonte nemá nič spoločného s jeho ASCII kódom. Ak by ste si sami vytvorili nejaký font (v
|
||
dokumentácii ku <SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>/<SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
> máte
|
||
informácie o všetkých formátoch), v ktorom by mal ten šesdesiaty piaty obrázok tvar písmena
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>z</TT
|
||
>, po jeho natiahnutí sa vám bude pri zadaní
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>6</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>5</B
|
||
>, čo je
|
||
<SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> kód písmena <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>A</TT
|
||
>, zobrazovať znak
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>z</TT
|
||
>. Ale ak tento znak uložíte do súboru, v tomto sa bude
|
||
nachádzať bajt s hodnotou 65, teda písmeno <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>A</TT
|
||
>.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-FONTS-LATIN2"
|
||
>3.1.3. Fonty ISO-8859-2</A
|
||
></H3
|
||
><P
|
||
>Toto využíva štandard <EM
|
||
>ISO-8859-2</EM
|
||
> (a iné) - spoločné znaky s
|
||
<SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> vykreslí rovnako a znaky špecifické pre tú ktorú abecedu
|
||
<SPAN
|
||
CLASS="QUOTE"
|
||
>„namapuje“</SPAN
|
||
> na menej používané znaky <SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> tabuľky. Kam
|
||
presne ktorá norma umiestňuje znaky s diakritikou, nás zaujímať nemusí (pokiaľ nevytvárame
|
||
vlastné fonty), hlavné je, že napr. anglický text je nezmenený (angličtina má všetky znaky
|
||
spoločné so slovenčinou) a slovenský text už viac neobsahuje hlúpe znaky, ktoré so
|
||
slovenčinou nemajú nič spoločné.</P
|
||
><P
|
||
>Slovenské (ISO-8859-2) fonty, ktoré sú súčasťou balíkov <SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>
|
||
a <SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
>lat2-{08,10,12,14,16}, lat2a-16, iso02.{08,14,16}</P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
>lat2-{08,10,12,14,16}, lat2u-16, iso02.f{08,14,16}</P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Na zavedenie fontu použite príkaz
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ setfont meno-zo-zoznamu
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ consolechars -f meno-zo-zoznamu
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Odporúčam používať <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>lat2a-16</TT
|
||
>, resp.
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>lat2u-16</TT
|
||
>. Ostatné fonty majú bezchybné zobrazovanie
|
||
slovenských znakov, problém však nastáva pri aplikáciách, ktoré využívajú znaky na kreslenie
|
||
rámčekov (napr. <B
|
||
CLASS="COMMAND"
|
||
>mc</B
|
||
>).</P
|
||
><P
|
||
>Čo sa týka fontov <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>iso02.*</TT
|
||
> z balíka
|
||
<SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>, treba pri nich použiť argument príkazu
|
||
<B
|
||
CLASS="COMMAND"
|
||
>setfont</B
|
||
> <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>-m latin2u.trans</TT
|
||
>. Takže celý
|
||
príkaz na zavedenie niektorého z týchto fontov je:
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ setfont iso02.16 -m latin2u.trans
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ consoletrans -f lat2u-16 -m iso02
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>V súbore <TT
|
||
CLASS="FILENAME"
|
||
>latin2u.trans</TT
|
||
> (<TT
|
||
CLASS="FILENAME"
|
||
>iso02.acm</TT
|
||
>) sa nachádza
|
||
tzv. <I
|
||
CLASS="FOREIGNPHRASE"
|
||
>Aplication-Charset Map</I
|
||
> (<SPAN
|
||
CLASS="ACRONYM"
|
||
>ACM</SPAN
|
||
>), akási
|
||
prevodná tabuľka, ktorá obsahuje riadok pre každý znak fontu a jeho podobu v kódovaní
|
||
<SPAN
|
||
CLASS="ACRONYM"
|
||
>UTF-8</SPAN
|
||
>.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-FONTS-AUTOLOAD"
|
||
>3.1.4. Automatické zavádzanie fontov</A
|
||
></H3
|
||
><P
|
||
> Ak ste si našli svoj font, ktorý chcete používať a mať ho automaticky zavedený vždy pri
|
||
štarte, nie je nič ľahšie. Inicializačný skript <TT
|
||
CLASS="FILENAME"
|
||
>rc.sysinit</TT
|
||
> robí asi
|
||
toto: skontroluje, či existuje súbor <TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/i18n</TT
|
||
> a program
|
||
(skript) <TT
|
||
CLASS="FILENAME"
|
||
>/sbin/setsysfont</TT
|
||
>. Ak áno, spustí
|
||
<B
|
||
CLASS="COMMAND"
|
||
>setsysfont</B
|
||
>. Ten načíta <TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysinfo/i18n</TT
|
||
> a podľa
|
||
premenných definovaných v tomto súbore príkazom <B
|
||
CLASS="COMMAND"
|
||
>consolechars</B
|
||
> alebo
|
||
<B
|
||
CLASS="COMMAND"
|
||
>setfont</B
|
||
> zavedie font.</P
|
||
><P
|
||
>Takže stačí nastaviť správne premenné v súbore <TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/i18n</TT
|
||
>
|
||
a skript <TT
|
||
CLASS="FILENAME"
|
||
>/sbin/setsysfont</TT
|
||
> urobí všetko za nás. Tento skript možno
|
||
spustiť kedykoľvek chcete zaviesť font nastavený ako štandardný pre systém.</P
|
||
><P
|
||
>Premenné v súbore <TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysinit/i18n</TT
|
||
> sú (používajte len mená súborov
|
||
bez cesty a bez prípony!):
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>SYSFONT=lat2a-16
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>SYSFONT=lat2u-16
|
||
SYSFONTACM=iso02
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Skriptík <B
|
||
CLASS="COMMAND"
|
||
>setsysfont</B
|
||
> obsahujú oba balíky a kedykoľvek môžete zaviesť
|
||
font nastavený ako systémový v súbore <TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysinit/i18n</TT
|
||
> jednoduchým
|
||
zadaním
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ /sbin/setsysfont
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Podľa toho, čo sme si hovorili o tom, že pre všetky virtuálne konzoly môže byť nastavený
|
||
len jeden spoločný font, nemá veľký zmysel zavádzať nastavovanie fontu zvlášť pre každého
|
||
užívateľa. S tým súvisí aj fakt, že nastavenie fontu sa vzťahuje k danému počítaču, pri
|
||
ktorom práve sedíte a nie k tomu, ku ktorému ste pripojení napr. cez
|
||
<SPAN
|
||
CLASS="APPLICATION"
|
||
>ssh</SPAN
|
||
>.</P
|
||
><P
|
||
>Predsa len si viem predstaviť prípad, keď niektorý z viacerých používateľov jedného
|
||
počítača potrebuje odlišný font. V tom prípade môže vložiť príkaz na zavádzanie fontov do
|
||
svojich skriptov, ktoré vykonáva shell pri prihlásení a odhlásení. Pre bash by to mohlo
|
||
vyzerať takto:
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>~/.bash_profile</TT
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.font ]; then
|
||
setfont -o ~/.font gr928a-8x16
|
||
fi
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>~/.bash_logout</TT
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.font ]; then
|
||
setfont ~/.font
|
||
rm -f ~/.font
|
||
fi
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Vonkoncom to nie je ideálne riešenie, ale svoj účel splní (minimálne po moment prvého
|
||
odhlásenia). Trochu sa s tým pozabávajte, aby sa font (a rozloženie kláves) menilo len pri
|
||
prvom prihlásení a poslednom odhlásení, tiež setfont pod iXami nemá veľmi zmysel a tak... V
|
||
Tips-HOWTO je uvedený spôsob, ako zistiť, na koľkých virtuálnych konzolách je ešte užívateľ
|
||
prihlásený.</P
|
||
><P
|
||
>Ináč, aby bolo jasné, toto vám bude fungovať len na lokálnom stroji - zamyslite sa,
|
||
prečo asi <B
|
||
CLASS="COMMAND"
|
||
>setfont</B
|
||
> (aj <B
|
||
CLASS="COMMAND"
|
||
>loadkeys</B
|
||
>) nefunguje cez
|
||
vzdialený terminál a či by ste z toho niečo mali, keby to tak nebolo.</P
|
||
><P
|
||
>Ak to s takýmto riešením myslíte vážne, tak skôr uvažujte nad modifikáciou skriptu
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/etc/profile.d/lang.sh</TT
|
||
>, kde by sa kontroloval aj obsah užívateľského
|
||
súboru <TT
|
||
CLASS="FILENAME"
|
||
>~/.i18n</TT
|
||
> a podľa toho by sa zaviedol skript, popis rozloženia
|
||
kláves, prípadne nejaké premenné...</P
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H2
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-KBD"
|
||
>3.2. Slovenská klávesnica na textovej konzole</A
|
||
></H2
|
||
><P
|
||
>Keď je slovenský font na konzole rozbehaný a naše národné znaky sa zobrazujú správne, máme
|
||
so slovenčinou problém číslo dva - ako tam tie znaky dostať? Keby ste si chceli tento súbor
|
||
len prečítať bez potreby následnej navštevy psychiatra, stačilo by zaviesť nejaký font so
|
||
slovenskou podporou. Ale keďže ste uvedomelý linuxák / uvedomelá linuxáčka, hneď
|
||
chcete do <I
|
||
CLASS="CITETITLE"
|
||
>Slovak-HOWTO</I
|
||
> prispieť a pomocou klávesnice písať slovenský
|
||
text. Na to potrebujete s tou klávesnicou niečo urobiť.</P
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-KBD-KMAP"
|
||
>3.2.1. Popis rozloženia kláves (keymap)</A
|
||
></H3
|
||
><P
|
||
>Adresáre <TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/keymaps/i386/qwertz/</TT
|
||
> a
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>qwerty/</TT
|
||
> obsahujú
|
||
po nainštalovaní balíka
|
||
<SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>/<SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
> aj popisy
|
||
slovenského rozloženia kláves. Pre nás sú zaujímavé súbory
|
||
<P
|
||
></P
|
||
><TABLE
|
||
BORDER="0"
|
||
><TBODY
|
||
><TR
|
||
><TD
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>sk-prog-qwerty.map.gz</TT
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>sk-qwerty.map.gz</TT
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>sk-prog-qwertz.map.gz</TT
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>sk-qwertz.map.gz</TT
|
||
></TD
|
||
></TR
|
||
></TBODY
|
||
></TABLE
|
||
><P
|
||
></P
|
||
></P
|
||
><P
|
||
>Tieto súbory obsahujú definície rozloženia kláves pre slovenský jazyk, pričom rozdiely
|
||
medzi nimi sú v umiestnení kláves <B
|
||
CLASS="KEYCAP"
|
||
>Y</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>Z</B
|
||
> a počte
|
||
slovenských znakov, ktoré pomocou nich možno napísať priamo (bez mŕtvych kláves). Najviac sa
|
||
na slovenský písací stroj podobá <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>sk-qwertz</TT
|
||
>, najmenšie zmeny
|
||
oproti americkej klávesnici sú zase v <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>sk-prog-qwerty</TT
|
||
>.
|
||
</P
|
||
><P
|
||
>Súbory v adresári <TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/keymaps/i386/include/
|
||
</TT
|
||
> obsahujú popis základných rozložení kláves (<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>azerty
|
||
</TT
|
||
>, <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>qwerty</TT
|
||
>, <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>qwertz
|
||
</TT
|
||
>), prídavných kláves (<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>keypad</TT
|
||
>,
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>windowkeys</TT
|
||
>), prípadne problémových kláves (<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
> delete</TT
|
||
>, <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>backspace</TT
|
||
>, <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>ctrl
|
||
</TT
|
||
>). Súbory <TT
|
||
CLASS="FILENAME"
|
||
>linux-*.inc.gz</TT
|
||
> sú špecifické pre linux
|
||
(teda nie pre jazyk). Sú to napr. kľúče (<B
|
||
CLASS="KEYCAP"
|
||
>F1</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>F12</B
|
||
>,
|
||
kombinovaním s <B
|
||
CLASS="KEYCAP"
|
||
>Ctrl</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
> až po <B
|
||
CLASS="KEYCAP"
|
||
>F48</B
|
||
>),
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>PgUp</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>Shift
|
||
</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>PgDown</B
|
||
>, atď.</P
|
||
><P
|
||
>Keymapy <TT
|
||
CLASS="FILENAME"
|
||
>*.inc.gz</TT
|
||
> nepopisujú kompletné rozloženie klávesnice, ale
|
||
len niektorých jej častí. Využívajú sa pri pripájaní
|
||
(<I
|
||
CLASS="FOREIGNPHRASE"
|
||
>include</I
|
||
>) zo súborov <TT
|
||
CLASS="FILENAME"
|
||
>*.map.gz</TT
|
||
>, čo je
|
||
výhodné z dôvodu jednoduchšej konfigurácie klávesnice. Napríklad zmenou jedného riadku v
|
||
súbore s rozložením <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>sk-qwerty</TT
|
||
> môžme dostať rozloženie
|
||
qwertz, prípadne (to asi využijete) jednoducho odstaviť znaky <B
|
||
CLASS="KEYCAP"
|
||
>euro</B
|
||
> a
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>cent</B
|
||
>, ktoré (zatiaľ?) nepotrebujeme a zbytočne nám zaberajú znaky
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>E</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>C</B
|
||
>.</P
|
||
><P
|
||
>Na zavedenie súboru s popisom rozloženia kláves slúži nasledovný príkaz:
|
||
<P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>loadkeys</B
|
||
> <TT
|
||
CLASS="REPLACEABLE"
|
||
><I
|
||
>nazov</I
|
||
></TT
|
||
> </P
|
||
>
|
||
kde <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>nazov</TT
|
||
> môže byť absolútna alebo relatívna cesta ku
|
||
keymap súboru, alebo meno súboru, pokiaľ sa nachádza v adresári <TT
|
||
CLASS="FILENAME"
|
||
> /usr/lib/kbd/keymaps/</TT
|
||
>, či už s príponou, alebo bez.</P
|
||
><P
|
||
>Štandardné slovenské popisy rozloženia kláves nájdeme vo vyššie spomínaných
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>*.map.gz</TT
|
||
> súboroch. Ak sa chcete vrátiť k štandardnému rozloženiu,
|
||
príkaz
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ loadkeys -d
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
>
|
||
zavedie pôvodné, ktoré je uložené v súbore <TT
|
||
CLASS="FILENAME"
|
||
>defkeymap.map.gz</TT
|
||
> niekde
|
||
medzi ostatnými keymap súbormi. Predtým ale nikdy nezabudnite zmeniť režim slovenskej
|
||
klávesnice na <SPAN
|
||
CLASS="ACRONYM"
|
||
>US</SPAN
|
||
> znaky, tzn. <B
|
||
CLASS="KEYCAP"
|
||
>1</B
|
||
> dáva
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>1</TT
|
||
> a nie <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>+</TT
|
||
> atď. Ak by ste
|
||
predsa zabudli, je možné, že klávesy, kde sa nachádzali slovenské znaky, nebudú fungovať
|
||
správne (v skutočnosti budú fungovať správne, ale vám sa to nebude páčiť). Vtedy znovu
|
||
zaveďte predchadzájúcu keymapu (na nefunkčné klávesy použite <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
> - pravý
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
>) a klávesou <B
|
||
CLASS="KEYCAP"
|
||
>Pause/Break</B
|
||
> všetko napravíte. Potom môžete
|
||
znova zaviesť defkeymap.</P
|
||
><P
|
||
>Pokiaľ sa vám nepáči ani jeden zo štandardných keymap súborov pre slovenčinu, čo je
|
||
pravdepodobné vďaka riadku
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>include "euro"
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
>
|
||
v include súboroch <TT
|
||
CLASS="FILENAME"
|
||
>qwerty-layout.inc.gz</TT
|
||
> aj
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>qwertz-layout.inc.gz</TT
|
||
>, môžete kľudne pozmeniť existujúci súbor s popisom
|
||
rozloženia kláves, prípadne vytvoriť nový. Nebojte sa, je to zložité! Nebudem to tu
|
||
rozpisovať všetko, prezrite si zopár kmap súborov, prečítajte manuálovú stránku keymaps(5) a
|
||
mali by ste to ľahko pochopiť.</P
|
||
><P
|
||
>My si povieme len o základných veciach, ktoré nám pomôžu pozmeniť existujúce kmap súbory
|
||
s popismi slovenských klávesníc, aby ste si poradili s (mne známymi) komplikáciami, alebo
|
||
upravili rozloženie kláves podľa svojho gusta.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-KBD-INCLUDE"
|
||
>3.2.2. Include a nesprávna funkcia kláves <B
|
||
CLASS="KEYCAP"
|
||
>E</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>C</B
|
||
></A
|
||
></H3
|
||
><P
|
||
>Problém s <B
|
||
CLASS="KEYCAP"
|
||
>E</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>C</B
|
||
> je spôsobený zavedením jednotnej meny
|
||
v európskej únii. Na vine nie je ani tak <SPAN
|
||
CLASS="ACRONYM"
|
||
>EU</SPAN
|
||
>, ale niekto, kto symboly pre
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>euro</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>cent</B
|
||
> umiestnil na <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>E</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>C</B
|
||
>, čo sú naše obyčajné <B
|
||
CLASS="KEYCAP"
|
||
>E</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>C</B
|
||
>. Totiž, národné
|
||
klávesnice sú väčšinou riešené tak, že po zavedení súboru naďalej funguje americké
|
||
rozloženie a na prepínanie do národného režimu sa používa klávesa <B
|
||
CLASS="KEYCAP"
|
||
>Pause</B
|
||
>,
|
||
alebo môžme zadávať národné klávesy pri súčasnom držaní klávesy <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>
|
||
(pravý <B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
>). Súbor <TT
|
||
CLASS="FILENAME"
|
||
>euro.inc</TT
|
||
>, ktorý definuje tieto dva
|
||
problémové symboly, je pripojený zo súboru <TT
|
||
CLASS="FILENAME"
|
||
>qwerty-layout.inc</TT
|
||
>, ktorý
|
||
zase pripájajú samotné slovenské keymapy (<TT
|
||
CLASS="FILENAME"
|
||
>sk-qwerty</TT
|
||
>,
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>sk-prog-qwertz</TT
|
||
>, …).</P
|
||
><P
|
||
>Riešenie je veľmi jednoduché - zeditujete <TT
|
||
CLASS="FILENAME"
|
||
>qwerty-layout.inc</TT
|
||
> (alebo
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>qwertz-layout.inc</TT
|
||
>) a odkomentujete znakom
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>#</TT
|
||
> riadok
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>include "euro"
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-KBD-KEYCODE"
|
||
>3.2.3. Keycode a definovanie kláves</A
|
||
></H3
|
||
><P
|
||
>Predchádzajúci problém s eurom možno vyriešiť aj definovaním znakov <B
|
||
CLASS="KEYCAP"
|
||
>E</B
|
||
> a
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>C</B
|
||
> v samotnom súbore <TT
|
||
CLASS="FILENAME"
|
||
>sk-qwerty.kmap.gz</TT
|
||
> (alebo inom,
|
||
ktorý používate) pomocou slova <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>keycode</TT
|
||
>:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 18 = e
|
||
keycode 46 = c
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>V keymap súboroch je pre každú klávesu (alebo aspoň pre každú, ktorú chceme
|
||
predefinovať) jeden riadok približne tohto razenia:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two...
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Číslo za <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>keycode</TT
|
||
> označuje určitú klávesu a reťazce za
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>=</TT
|
||
> hovoria o tom, aký znak má ovládač klávesnice generovať
|
||
pri stlačení tejto klávesy, a to buď samotnej, alebo v kombinácii so špeciálnymi klávesmi
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>, <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>, <B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
>,
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
>, <B
|
||
CLASS="KEYCAP"
|
||
>ShiftL</B
|
||
>, <B
|
||
CLASS="KEYCAP"
|
||
>ShiftR</B
|
||
>,
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Ctrl</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>CtrlR</B
|
||
>. To nám dáva 256 možných znakov na každú
|
||
klávesu.</P
|
||
><P
|
||
>Väčšinou sa pozmeňuje len prvých 16 kombinácií modifikátorov. To je význam riadku
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keymaps 0-15
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
>
|
||
na začiatku kmap súborov.</P
|
||
><P
|
||
>V nasledujúcom zozname je týchto 16 kombinácií (po riadkoch):
|
||
<P
|
||
></P
|
||
><TABLE
|
||
BORDER="0"
|
||
><TBODY
|
||
><TR
|
||
><TD
|
||
>žiadny</TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
><TD
|
||
><B
|
||
CLASS="KEYCAP"
|
||
>Shift</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Control</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
></TD
|
||
></TR
|
||
></TBODY
|
||
></TABLE
|
||
><P
|
||
></P
|
||
></P
|
||
><P
|
||
>Z hľadiska slovenskej klávesnice sú dôležité len prvé štyri - prvé dva sú zvyčajne
|
||
nezmenené americké znaky, napr. <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>two at</TT
|
||
>, čo je
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>2</B
|
||
> <B
|
||
CLASS="KEYCAP"
|
||
>@</B
|
||
>, a druhé dva sú znaky slovenskej abecedy, ktoré bude
|
||
ovládač klávesnice posielať aplikáciám ak pri stlačení tejto klávesy budeme súčasne držať
|
||
klávesu <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
> (pravý <B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
>), napr. <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>lcaron
|
||
two</TT
|
||
>, čo je naše <B
|
||
CLASS="KEYCAP"
|
||
>ľ</B
|
||
> <B
|
||
CLASS="KEYCAP"
|
||
>2</B
|
||
>.</P
|
||
><P
|
||
>Aby ste mohli vkladať slovenské znaky, nemusíte celý čas pridržiavať
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
> nosom, ale môžete použiť <B
|
||
CLASS="KEYCAP"
|
||
>Pause/Break</B
|
||
>, ktorý v
|
||
kontexte s národnými klávesnicami funguje ako <B
|
||
CLASS="KEYCAP"
|
||
>AltGr Lock</B
|
||
>. Chápte to tak, že
|
||
keď sa prepnete do slovenského režimu stlačením <B
|
||
CLASS="KEYCAP"
|
||
>Pause/Break</B
|
||
>, prvé a druhé
|
||
dva reťazce v každom riadku keycode sa vymenia, napr.
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>two at lcaron two -> lcaron two two at
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Vtedy môžete použiť <B
|
||
CLASS="KEYCAP"
|
||
>AltGr</B
|
||
> na zadávanie znakov americkej klávesnice,
|
||
alebo sa opätovným stlačením <B
|
||
CLASS="KEYCAP"
|
||
>Pause/Break</B
|
||
> prepnúť spät do
|
||
<SPAN
|
||
CLASS="ACRONYM"
|
||
>US</SPAN
|
||
> režimu.</P
|
||
><P
|
||
>Riadok pre klávesu s kódom 41 (znaky <B
|
||
CLASS="KEYCAP"
|
||
>`</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>~</B
|
||
>), má v
|
||
súbore <TT
|
||
CLASS="FILENAME"
|
||
>sk-qwerty.map.gz</TT
|
||
> nasledovný tvar:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 41 = grave asciitilde dead_diaeresis dead_circumflex ...
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Mne osobne sa nepáči, že sú tu umiestnené mŕtve klávesy <B
|
||
CLASS="KEYCAP"
|
||
>dead_diaeresis</B
|
||
>
|
||
(dve bodky nad znakom) a <B
|
||
CLASS="KEYCAP"
|
||
>dead_circumflex</B
|
||
> (mäkčeň), pretože ich nepotrebujem
|
||
--- <B
|
||
CLASS="KEYCAP"
|
||
>ä</B
|
||
> aj <B
|
||
CLASS="KEYCAP"
|
||
>ô</B
|
||
> na slovenskej klávesnici predsa je. A keby aj
|
||
nebolo, na ich písanie môžem kľudne použiť mŕtvy kláves mäkčeň. O tom si bližšie povieme v
|
||
časti o compose sekvenciách. Teraz chcem mať na tomto mieste znaky <B
|
||
CLASS="KEYCAP"
|
||
>;</B
|
||
>
|
||
(semicolon) a <B
|
||
CLASS="KEYCAP"
|
||
>°</B
|
||
> (degree) tak, ako je to na popiske mojej klávesnice. Zmením
|
||
teda riadok takto:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 41 = grave asciitilde semicolon degree ...
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Ináč, ten stupeň asi nie je stupeň, ale mŕtvy znak krúžku nad písmenom, napr. v češtine
|
||
nad u, ale taký kláves je nám fakt nanič. Radšej budeme písať stupne.</P
|
||
><P
|
||
>Názvy znakov, ktoré sa používajú pri definovaní jednotlivých kláves si môžete pre znaky
|
||
<SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> zistiť v súbore <TT
|
||
CLASS="FILENAME"
|
||
>us.map.gz</TT
|
||
>. Číselné kódy
|
||
všetkých kláves vám vypľuje program
|
||
<P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>showkey</B
|
||
> </P
|
||
></P
|
||
><P
|
||
>Pravidlá pre názvy znakov špecifických pre slovenčinu v kmap súboroch:
|
||
<P
|
||
></P
|
||
><OL
|
||
TYPE="1"
|
||
><LI
|
||
><P
|
||
>Prvé písmeno v názve určuje <SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> znak, pre ktorý chceme použiť
|
||
diakritiku.</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
>K nemu pridáme identifikátor diakritického znamienka:
|
||
<P
|
||
></P
|
||
><TABLE
|
||
BORDER="0"
|
||
><TBODY
|
||
><TR
|
||
><TD
|
||
>caron --- mäkčeň</TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
>acute --- dĺžeň</TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
>diaeresis --- dve bodky nad</TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
>circumflex --- vokáň</TD
|
||
></TR
|
||
></TBODY
|
||
></TABLE
|
||
><P
|
||
></P
|
||
></P
|
||
><P
|
||
>Napríklad:
|
||
<P
|
||
></P
|
||
><TABLE
|
||
BORDER="0"
|
||
><TBODY
|
||
><TR
|
||
><TD
|
||
>scaron = <B
|
||
CLASS="KEYCAP"
|
||
>š</B
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
>uacute = <B
|
||
CLASS="KEYCAP"
|
||
>ú</B
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
>Ocircumflex = <B
|
||
CLASS="KEYCAP"
|
||
>Ô</B
|
||
></TD
|
||
></TR
|
||
></TBODY
|
||
></TABLE
|
||
><P
|
||
></P
|
||
></P
|
||
></LI
|
||
></OL
|
||
></P
|
||
><P
|
||
>Názvy ďalších znakov špecifických pre slovenčinu:
|
||
<P
|
||
></P
|
||
><TABLE
|
||
BORDER="0"
|
||
><TBODY
|
||
><TR
|
||
><TD
|
||
>0xa7 --- <B
|
||
CLASS="KEYCAP"
|
||
>§</B
|
||
> (paragraf)</TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
>degree --- <B
|
||
CLASS="KEYCAP"
|
||
>°</B
|
||
> stupeň</TD
|
||
></TR
|
||
></TBODY
|
||
></TABLE
|
||
><P
|
||
></P
|
||
></P
|
||
><P
|
||
>Pre správnu interpretáciu identifikátorov znakov s diakritikou je nutné na začiatku kmap
|
||
súboru určiť kódovú stránku, pre ktorú bude určený tento popis rozloženia kláves. Ide o to,
|
||
že ten istý znak môže mať v rôznych kódových stránkach iný <SPAN
|
||
CLASS="ACRONYM"
|
||
>ASCII</SPAN
|
||
> kód.
|
||
Implicitná hodnota je <TT
|
||
CLASS="CONSTANT"
|
||
>iso-8859-1</TT
|
||
>, teda pre slovenské keymapy je nutné
|
||
vložiť riadok:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>charset "iso-8859-2"
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Ešte jeden príklad: ak chcete používať slovenské rozloženie
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>qwertz</TT
|
||
> a americké rozloženie
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>qwerty</TT
|
||
>, potrebujete vymeniť znaky <B
|
||
CLASS="KEYCAP"
|
||
>Y</B
|
||
> a
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Z</B
|
||
>:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 21 = y Y z Z
|
||
keycode 44 = z Z y Y
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Na prvý pohľad to môže fungovať dobre, ale problém sa prejaví pri zapnutom <B
|
||
CLASS="KEYCAP"
|
||
>Caps
|
||
Lock</B
|
||
> - znaky <B
|
||
CLASS="KEYCAP"
|
||
>Y</B
|
||
> a <B
|
||
CLASS="KEYCAP"
|
||
>Z</B
|
||
> sa stále píšu malými
|
||
písmenami. Pri písaní popisov rozložení znakov možno takýto problém ošetriť pridaním písmena
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>+</TT
|
||
> pred každé písmeno v keycode riadku danej klávesy.
|
||
Písmeno <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>+</TT
|
||
> určuje nasledovnému písmenu atribút
|
||
<I
|
||
CLASS="FOREIGNPHRASE"
|
||
>letter</I
|
||
>, teda sa bude pri stlačenom <B
|
||
CLASS="KEYCAP"
|
||
>Caps Lock</B
|
||
>
|
||
písať veľké písmeno. Všetky písmená <B
|
||
CLASS="KEYCAP"
|
||
>a</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>z</B
|
||
>,
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>A</B
|
||
>-<B
|
||
CLASS="KEYCAP"
|
||
>Z</B
|
||
> majú tento atribút priradený automaticky, ale to len v
|
||
prípade, že majú keycode riadok tvaru:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 21 = y
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>V našom prípade teda musíme priradiť tento atribút všetkým znakom explicitne. Takže,
|
||
konečná úprava keymapy bude:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>keycode 21 = +y +Y +z +Z
|
||
keycode 44 = +z +Z +y +Y
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Pre výmenu písmen toto riešenie funguje spoľahlivo, bohužiaľ, ešte stále neexistuje
|
||
spôsob, ktorým by sa dalo dosiahnuť napríklad písanie veľkých písmen s diakritikou pri
|
||
zapnutom <B
|
||
CLASS="KEYCAP"
|
||
>Caps Lock</B
|
||
> jednoduchým stláčaním ich kláves, ako je to v slovenskom
|
||
popise rozloženia kláves pre <SPAN
|
||
CLASS="APPLICATION"
|
||
>X Window System</SPAN
|
||
>.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-KBD-DEAD"
|
||
>3.2.4. Mŕtve klávesy a sekvencie compose</A
|
||
></H3
|
||
><P
|
||
>S mŕtvymi klávesami súvisia v kmap súboroch riadky tvaru
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>compose 'c1' 'c2' to 'c3'
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Predstavme si mŕtve znaky ako úplne obyčajné znaky s tým rozdielom, že ovládač
|
||
klávesnice ich neposiela aplikáciám, ale zostanú niekde <SPAN
|
||
CLASS="QUOTE"
|
||
>„visieť“</SPAN
|
||
>, kým z
|
||
klávesnice nepríde ďalší znak. Ovládač klávesnice nepošle ani tento, ale pokúsi sa spojiť ho
|
||
s predchádzajúcim mŕtvym znakom a až výsledok spojenia pustí ďalej. No, a ako má to spojenie
|
||
uskutočniť, to mu presne hovoria riadky <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>compose</TT
|
||
> v keymap
|
||
súboroch.</P
|
||
><P
|
||
>V nasledujúcej tabuľke je zoznam mŕtvych znakov používaných v slovenčine, spolu s
|
||
významom a znakom, ktorým sa označujú v compose sekvenciách.
|
||
<DIV
|
||
CLASS="TABLE"
|
||
><A
|
||
NAME="CONSOLE-KBD-DEAD.TABLES.DEAD"
|
||
></A
|
||
><P
|
||
><B
|
||
>Tabuľka 2. Mŕtve klávesy</B
|
||
></P
|
||
><TABLE
|
||
BORDER="1"
|
||
CLASS="CALSTABLE"
|
||
><THEAD
|
||
><TR
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>Názov</TH
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>Význam</TH
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>Compose</TH
|
||
></TR
|
||
></THEAD
|
||
><TBODY
|
||
><TR
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>dead_acute</TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>dĺžeň</TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>\'</TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>dead_circumflex</TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>mäkčeň</TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>^</TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>dead_diaeresis</TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>dve bodky nad</TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
>"</TD
|
||
></TR
|
||
></TBODY
|
||
></TABLE
|
||
></DIV
|
||
></P
|
||
><DIV
|
||
CLASS="PROCEDURE"
|
||
><P
|
||
><B
|
||
>Postup pri písani compose sekvencií</B
|
||
></P
|
||
><OL
|
||
TYPE="1"
|
||
><LI
|
||
><P
|
||
>Každá compose sekvencia sa začína kľúčovým slovom
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>compose</TT
|
||
>.</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
>Nasleduje compose znak mŕtvej klávesy (podľa tabuľky <A
|
||
HREF="console.html#CONSOLE-KBD-DEAD.TABLES.DEAD"
|
||
><I
|
||
>Mŕtve klávesy</I
|
||
></A
|
||
>),
|
||
napríklad <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>\'</TT
|
||
>.
|
||
</P
|
||
><P
|
||
>Druhý je znak, s ktorým chceme mŕtvu klávesu kombinovať, napríklad
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>A</TT
|
||
>.</P
|
||
><P
|
||
>Za kľúčovým slovom <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>to</TT
|
||
> nasleduje výsledok spojenia
|
||
mŕtvej klávesy a znaku bez diakritiky, teda <TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>Á</TT
|
||
>.</P
|
||
></LI
|
||
></OL
|
||
></DIV
|
||
><P
|
||
>Je praktické mať pri vytváraní compose sekvencií zavedený slovenský font, aby ste
|
||
výsledok mohli hneď kontrolovať. Veľkou pomocou je tiež možnosť príkazu
|
||
<B
|
||
CLASS="COMMAND"
|
||
>loadkeys</B
|
||
> čítať zo štandardného vstupu. Napríklad:
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ loadkeys
|
||
include "/usr/lib/kbd/keymaps/i386/include/windowkeys.map.gz"
|
||
keycode 41 = grave asciitilde semicolon dead_diaeresis
|
||
compose '"' 'a' to 'ä'
|
||
# ukončenie zadávania: EOF - Ctrl-D
|
||
sh$
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Popis aktuálneho rozloženia kláves môžete uložiť do súboru príkazom
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ dumpkeys > subor
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Ak nemáte zavedený slovenský popis rozloženia kláves, musíte zadávať tieto znaky ako
|
||
<B
|
||
CLASS="KEYCAP"
|
||
>Alt</B
|
||
> sekvencie, poprípade vkladať ich hex kódy v tvare
|
||
<SPAN
|
||
CLASS="KEYCODE"
|
||
>0xed</SPAN
|
||
> pre <B
|
||
CLASS="KEYCAP"
|
||
>í</B
|
||
>. Výpis znakov aktuálneho fontu spolu s ich
|
||
hex kódmi vám urobí program
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>showfont</B
|
||
> </P
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>showcfont</B
|
||
> </P
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Ešte raz naša compose sekvencia a nejaké navyše:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>compose '\'' 'A' to 'Á' # dlhé A cez dĺžeň
|
||
compose '^' 'O' to 'Ô' # O s vokáňom cez mäkčeň
|
||
compose '^' 'a' to 'ä' # široké a cez mäkčeň,
|
||
compose '^' 'A' to 0x84 # ...preto nepotrebujeme dead_diaeresis
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Mimochodom, v súbore <TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/keymaps/compose/compose.latin2</TT
|
||
>
|
||
máte zoznam compose sekvencií pre normu <SPAN
|
||
CLASS="ACRONYM"
|
||
>ISO-8859-2</SPAN
|
||
>.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H3
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-KBD-AUTOLOAD"
|
||
>3.2.5. Automatické zavádzanie keymap súboru</A
|
||
></H3
|
||
><P
|
||
>Na nastavenie rozloženia klávesnice, ktoré chceme zaviesť pri štarte systému, nám slúži
|
||
súbor <TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/keyboard</TT
|
||
>. Pre Slováka ako repa by mal vyzerať
|
||
minimálne takto:
|
||
<TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>KEYTABLE=sk-qwerty # zavedie rozloženie kláves sk-qwerty
|
||
KBCHARSET=iso-8859-2 # ...a spomínaný súbor compose.latin2
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Nastavenie klávesnice pri štarte má na starosti skript <B
|
||
CLASS="COMMAND"
|
||
>keytable</B
|
||
>,
|
||
ktorý je volaný priamo z <TT
|
||
CLASS="FILENAME"
|
||
>rc.sysinit</TT
|
||
>, takže netreba vytvárať linky v
|
||
adresároch pre runlevel <TT
|
||
CLASS="CONSTANT"
|
||
>3/multiuser</TT
|
||
>, prípadne <TT
|
||
CLASS="CONSTANT"
|
||
>5/X</TT
|
||
>.
|
||
</P
|
||
><P
|
||
>V dokumentácii k <SPAN
|
||
CLASS="APPLICATION"
|
||
>initscripts</SPAN
|
||
> sa píše: <SPAN
|
||
CLASS="QUOTE"
|
||
>„Ak uložíte popis
|
||
rozloženia kláves (použitím <B
|
||
CLASS="COMMAND"
|
||
>dumpkeys</B
|
||
>) do súboru
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/console/default.kmap</TT
|
||
>, zavedie sa pri štarte systému ešte
|
||
pred pripájaním/kontrolou súborových systémov. To môže byť užitočné, ak potrebujete zadať
|
||
heslo roota v prípade problémov. Musí to byť <SPAN
|
||
CLASS="QUOTE"
|
||
>‚dumpnutý‘</SPAN
|
||
> popis rozloženia kláves
|
||
a nie skopírovaný súbor z <TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/keytables/</TT
|
||
>,
|
||
pretože tie často ešte vkladajú (include) iné popisy z tejto adresárovej
|
||
štruktúry.“</SPAN
|
||
></P
|
||
><P
|
||
>Po pripojení súborových systémov, v prípade, že existuje spustiteľný súbor
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/etc/rc.d/init.d/keytable</TT
|
||
> a adresár
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/usr/lib/kbd/keymaps/</TT
|
||
>, vykoná sa príkaz
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh# /etc/rc.d/init.d/keytable start
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Tento už zavedie popis rozloženia kláves tak, ako to máte určené premennými v súbore
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/keyboard</TT
|
||
>, preto nemusíte vytvárať odkazy v jednotlivých
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>rc[1-5].d/</TT
|
||
> adresároch.</P
|
||
><P
|
||
>To, čo sme si hovorili o zmene fontu pri prihlásení nejakého užívateľa na virtuálnej
|
||
konzole, sa dá aplikovať aj na rozloženie kláves. Úplne najjednoduchšie riešenie (ktoré sa
|
||
pri prvom odhlásení pošle do kríkov) je asi takéto:
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>~/.bash_profile</TT
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.keymap ]; then
|
||
dumpkeys > ~/.keymap
|
||
loadkeys gr.map
|
||
fi
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>~/.bash_logout</TT
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.keymap ]; then
|
||
loadkeys ~/.keymap
|
||
rm -f ~/.keymap
|
||
fi
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECTION"
|
||
><H2
|
||
CLASS="SECTION"
|
||
><A
|
||
NAME="CONSOLE-SUMMARY"
|
||
>3.3. Zhrnutie nastavení konzoly</A
|
||
></H2
|
||
><P
|
||
>Pokiaľ som sa niekde nesekol, tak minimálne v distribúciách
|
||
<SPAN
|
||
CLASS="SYSTEMITEM"
|
||
>RedHat</SPAN
|
||
> a
|
||
<SPAN
|
||
CLASS="SYSTEMITEM"
|
||
>Mandrake</SPAN
|
||
> by po týchto zmenách mala do pohody zašlapať
|
||
slovenská podpora (fonty + klávesnica).
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/i18n</TT
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>SYSFONT=lat2a-16
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>SYSFONT=lat2u-16
|
||
SYSFONTACM=iso02
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></DD
|
||
><DT
|
||
><TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/keyboard</TT
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="0"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="PROGRAMLISTING"
|
||
>KEYTABLE=sk-qwertz
|
||
KBCHARSET=iso-8859-2
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>Tiež, ak zadávate rootovské heslo s použitím iného rozloženia kláves ako je štandardné
|
||
(<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>us</TT
|
||
>), vložte si jeho popis do súboru
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>/etc/sysconfig/console/default.kmap</TT
|
||
>. Pozor, nesmiete len tak skopírovať
|
||
súbor, alebo vytvoriť link! Ak chcete použiť napríklad rozloženie
|
||
<TT
|
||
CLASS="COMPUTEROUTPUT"
|
||
>sk-qwertz</TT
|
||
>, urobte to takto:
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ loadkeys sk-qwertz
|
||
sh# dumpkeys >/etc/sysconfig/console/default.kmap
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><P
|
||
>Ak chcete nastaviť slovenský font a klávesnicu len jednorazovo, tieto príkazy by to mali
|
||
dokázať:
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ setfont lat2a-16
|
||
sh$ loadkeys sk-qwertz
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ consolechars -f lat2u-16 -m iso02
|
||
sh$ loadkeys sk-qwertz
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
><P
|
||
>...a naspäť na štandardné nastavenia:
|
||
<P
|
||
></P
|
||
><DIV
|
||
CLASS="VARIABLELIST"
|
||
><DL
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>kbd</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ setfont
|
||
sh$ loadkeys -d
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
><DT
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>console-tools</SPAN
|
||
>:</DT
|
||
><DD
|
||
><P
|
||
> <TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="90%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>sh$ consolechars -d
|
||
sh$ loadkeys -d
|
||
</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
></DD
|
||
></DL
|
||
></DIV
|
||
></P
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="NAVFOOTER"
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"><TABLE
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="locales.html"
|
||
>Predchádzajúci</A
|
||
></TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="index.html"
|
||
>Domov</A
|
||
></TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="xwindow.html"
|
||
>Ďalší</A
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
>Miestne nastavenia</TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
> </TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
>Nastavenia X Window Systemu</TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></BODY
|
||
></HTML
|
||
> |