1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
6 <sect1 id="ch-system-kbd" xreflabel="Kbd">
7 <title>Kbd-&kbd-version;</title>
8 <?dbhtml filename="kbd.html"?>
10 <indexterm zone="ch-system-kbd"><primary sortas="a-Kbd">Kbd</primary></indexterm>
12 <para>The Kbd package contains key-table files and keyboard utilities.</para>
14 <screen>&buildtime; 0.1 SBU
15 &diskspace; 12 MB</screen>
17 <para>Kbd installation depends on: Bash, Binutils, Bison, Coreutils,
18 Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed.</para>
23 <title>Installation of Kbd</title>
25 <para>By default some of Kbd's utilities (<command>setlogcons</command>,
26 <command>setvesablank</command> and <command>getunimap</command>) are
27 not installed. First enable the compilation of these utilities:</para>
29 <screen><userinput>patch -Np1 -i ../kbd-&kbd-version;-more-programs-1.patch</userinput></screen>
31 <para>Now prepare Kbd for compilation:</para>
33 <screen><userinput>./configure</userinput></screen>
35 <para>Compile the package:</para>
37 <screen><userinput>make</userinput></screen>
39 <para>Now install it:</para>
41 <screen><userinput>make install</userinput></screen>
45 <sect2 id="conf-kbd"><title>Configuring your keyboard</title>
46 <indexterm zone="conf-kbd">
47 <primary sortas="a-Kbd">Kbd</primary>
48 <secondary>configuring</secondary></indexterm>
50 <para>Few things are more annoying than using Linux while a wrong keymap
51 for your keyboard is loaded. If you have a standard US keyboard, however, you
52 can skip this section, as the US keymap is the default as long as you don't
55 <para>To change the default keymap, create the
56 <filename class="symlink">/usr/share/kbd/keymaps/defkeymap.map.gz</filename>
57 symlink by running the following command:</para>
59 <screen><userinput>ln -s path/to/keymap /usr/share/kbd/keymaps/defkeymap.map.gz</userinput></screen>
61 <para>Of course, replace <filename>path/to/keymap</filename> with the path and
62 name of your keyboard's map file. For example, if you have a Dutch keyboard,
63 you would use <filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para>
65 <para>Another way to set your keyboard's layout is to compile the keymap
66 into the kernel. This ensures that your keyboard will always work as expected,
67 even when you boot into maintenance mode (by passing `init=/bin/sh' to the
68 kernel), as then the bootscript that normally sets up your keymap isn't run.</para>
70 <para>When in <xref linkend="chapter-bootable"/> you're ready to compile the
71 kernel, run the following command to patch the current default keymap into the
72 source (you will have to repeat this command whenever you unpack a new
75 <screen><userinput>loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz > \
76 /usr/src/linux-2.4.25/drivers/char/defkeymap.c</userinput></screen>
81 <sect2 id="contents-kbd"><title>Contents of Kbd</title>
83 <para><emphasis>Installed programs</emphasis>: chvt, deallocvt, dumpkeys,
84 fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
85 mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
86 psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
87 setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank,
88 showconsolefont, showkey, unicode_start and unicode_stop</para>
93 <sect2><title>Short descriptions</title>
95 <indexterm zone="ch-system-kbd chvt"><primary sortas="b-chvt">chvt</primary></indexterm>
96 <para id="chvt"><command>chvt</command> changes the foreground virtual terminal.</para>
98 <indexterm zone="ch-system-kbd deallocvt"><primary sortas="b-deallocvt">deallocvt</primary></indexterm>
99 <para id="deallocvt"><command>deallocvt</command> deallocates unused virtual terminals.</para>
101 <indexterm zone="ch-system-kbd dumpkeys"><primary sortas="b-dumpkeys">dumpkeys</primary></indexterm>
102 <para id="dumpkeys"><command>dumpkeys</command> dumps the keyboard translation tables.</para>
104 <indexterm zone="ch-system-kbd fgconsole"><primary sortas="b-fgconsole">fgconsole</primary></indexterm>
105 <para id="fgconsole"><command>fgconsole</command> prints the number of the active virtual terminal.</para>
107 <indexterm zone="ch-system-kbd getkeycodes"><primary sortas="b-getkeycodes">getkeycodes</primary></indexterm>
108 <para id="getkeycodes"><command>getkeycodes</command> prints the kernel scancode-to-keycode
109 mapping table.</para>
111 <indexterm zone="ch-system-kbd getunimap"><primary sortas="b-getunimap">getunimap</primary></indexterm>
112 <para id="getunimap"><command>getunimap</command> prints the currently used unimap.</para>
114 <indexterm zone="ch-system-kbd kbd_mode"><primary sortas="b-kbd_mode">kbd_mode</primary></indexterm>
115 <para id="kbd_mode"><command>kbd_mode</command> reports or sets the keyboard mode.</para>
117 <indexterm zone="ch-system-kbd kbdrate"><primary sortas="b-kbdrate">kbdrate</primary></indexterm>
118 <para id="kbdrate"><command>kbdrate</command> sets the keyboard repeat and delay rates.</para>
120 <indexterm zone="ch-system-kbd loadkeys"><primary sortas="b-loadkeys">loadkeys</primary></indexterm>
121 <para id="loadkeys"><command>loadkeys</command> loads the keyboard translation tables.</para>
123 <indexterm zone="ch-system-kbd loadunimap"><primary sortas="b-loadunimap">loadunimap</primary></indexterm>
124 <para id="loadunimap"><command>loadunimap</command> loads the kernel unicode-to-font mapping table.</para>
126 <indexterm zone="ch-system-kbd mapscrn"><primary sortas="b-mapscrn">mapscrn</primary></indexterm>
127 <para id="mapscrn"><command>mapscrn</command> is an obsolete program that used to load
128 a user-defined output character mapping table into the console driver. This is
129 now done by setfont.</para>
131 <indexterm zone="ch-system-kbd openvt"><primary sortas="b-openvt">openvt</primary></indexterm>
132 <para id="openvt"><command>openvt</command> starts a program on a new virtual terminal (VT).</para>
134 <indexterm zone="ch-system-kbd psf"><primary sortas="b-psf*">psf*</primary></indexterm>
135 <para id="psf"><command>psf*</command> are a set of tools for handling Unicode
136 character tables for console fonts.</para>
138 <indexterm zone="ch-system-kbd resizecons"><primary sortas="b-resizecons">resizecons</primary></indexterm>
139 <para id="resizecons"><command>resizecons</command> changes the kernel idea of the console size.</para>
141 <indexterm zone="ch-system-kbd setfont"><primary sortas="b-setfont">setfont</primary></indexterm>
142 <para id="setfont"><command>setfont</command> lets you change the EGA/VGA fonts on the console.</para>
144 <indexterm zone="ch-system-kbd setkeycodes"><primary sortas="b-setkeycodes">setkeycodes</primary></indexterm>
145 <para id="setkeycodes"><command>setkeycodes</command> loads kernel scancode-to-keycode
146 mapping table entries, useful if you have some unusual keys on your keyboard.</para>
148 <indexterm zone="ch-system-kbd setleds"><primary sortas="b-setleds">setleds</primary></indexterm>
149 <para id="setleds"><command>setleds</command> sets the keyboard flags and LEDs. Many
150 people find it useful to have "Num Lock" on by default, setleds +num achieves this.</para>
152 <indexterm zone="ch-system-kbd setlogcons"><primary sortas="b-setlogcons">setlogcons</primary></indexterm>
153 <para id="setlogcons"><command>setlogcons</command> sends kernel messages to the console.</para>
155 <indexterm zone="ch-system-kbd setmetamode"><primary sortas="b-setmetamode">setmetamode</primary></indexterm>
156 <para id="setmetamode"><command>setmetamode</command> defines the keyboard meta-key handling.</para>
158 <indexterm zone="ch-system-kbd setvesablank"><primary sortas="b-setvesablank">setvesablank</primary></indexterm>
159 <para id="setvesablank"><command>setvesablank</command> lets you fiddle with the built-in
160 hardware screensaver (no toasters, just a blank screen).</para>
162 <indexterm zone="ch-system-kbd showconsolefont"><primary sortas="b-showconsolefont">showconsolefont</primary></indexterm>
163 <para id="showconsolefont"><command>showconsolefont</command> shows the current EGA/VGA console
166 <indexterm zone="ch-system-kbd showkey"><primary sortas="b-showkey">showkey</primary></indexterm>
167 <para id="showkey"><command>showkey</command> reports the scancodes and keycodes and
168 ASCII codes of the keys pressed on the keyboard.</para>
170 <indexterm zone="ch-system-kbd unicode_start"><primary sortas="b-unicode_start">unicode_start</primary></indexterm>
171 <para id="unicode_start"><command>unicode_start</command> puts the keyboard and console in
174 <indexterm zone="ch-system-kbd unicode_stop"><primary sortas="b-unicode_stop">unicode_stop</primary></indexterm>
175 <para id="unicode_stop"><command>unicode_stop</command> reverts keyboard and console from