remove ch6 zlib, and workaround binutils issue
[linux_from_scratch.git] / BOOK / chapter08 / kbd.xml
bloba219102eb74f3c5040408f6758d2704f93fffc57
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-kbd" role="wrap">
9   <?dbhtml filename="kbd.html"?>
11   <sect1info condition="script">
12     <productname>kbd</productname>
13     <productnumber>&kbd-version;</productnumber>
14     <address>&kbd-url;</address>
15   </sect1info>
17   <title>Kbd-&kbd-version;</title>
19   <indexterm zone="ch-system-kbd">
20     <primary sortas="a-Kbd">Kbd</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The Kbd package contains key-table files, console fonts, and keyboard
27     utilities.</para>
29     <segmentedlist>
30       <segtitle>&buildtime;</segtitle>
31       <segtitle>&diskspace;</segtitle>
33       <seglistitem>
34         <seg>&kbd-fin-sbu;</seg>
35         <seg>&kbd-fin-du;</seg>
36       </seglistitem>
37     </segmentedlist>
39   </sect2>
41   <sect2 role="installation">
42     <title>Installation of Kbd</title>
44     <para>The behaviour of the backspace and delete keys is not consistent
45     across the keymaps in the Kbd package. The following patch fixes this
46     issue for i386 keymaps:</para>
48 <screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
50     <para>After patching, the backspace key generates the character with code 127,
51     and the delete key generates a well-known escape sequence.</para>
53     <para>Remove the redundant <command>resizecons</command> program (it requires
54     the defunct svgalib to provide the video mode files - for normal use
55     <command>setfont</command> sizes the console appropriately) together with its
56     manpage.</para>
58 <screen><userinput remap="pre">sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure
59 sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
61     <para>Prepare Kbd for compilation:</para>
63 <screen><userinput remap="configure">./configure --prefix=/usr --disable-vlock</userinput></screen>
65     <variablelist>
66       <title>The meaning of the configure option:</title>
68       <varlistentry>
69         <term><parameter>--disable-vlock</parameter></term>
70         <listitem>
71           <para>This option prevents the vlock utility from being built because it
72           requires the PAM library, which isn't available in the chroot
73           environment.</para>
74        </listitem>
75       </varlistentry>
77     </variablelist>
79     <para>Compile the package:</para>
81 <screen><userinput remap="make">make</userinput></screen>
83     <para>To test the results, issue:</para>
85 <screen><userinput remap="test">make check</userinput></screen>
87     <para>Install the package:</para>
89 <screen><userinput remap="install">make install</userinput></screen>
91     <note>
92       <para>For some languages (e.g., Belarusian) the Kbd package doesn't
93       provide a useful keymap where the stock <quote>by</quote> keymap assumes
94       the ISO-8859-5 encoding, and the CP1251 keymap is normally used. Users of
95       such languages have to download working keymaps separately.</para>
96     </note>
98     <para>If desired, install the documentation:</para>
100 <screen><userinput remap="install">mkdir -v            /usr/share/doc/kbd-&kbd-version;
101 cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen>
103   </sect2>
105   <sect2 id="contents-kbd" role="content">
106     <title>Contents of Kbd</title>
108     <segmentedlist>
109       <segtitle>Installed programs</segtitle>
110       <segtitle>Installed directories</segtitle>
112       <seglistitem>
113         <seg>chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbdinfo,
114         kbd_mode, kbdrate, loadkeys, loadunimap,
115         mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
116         psfxtable), psfstriptable (link to psfxtable), psfxtable, <!--resizecons,-->
117         setfont, setkeycodes, setleds, setmetamode, setvtrgb,
118         showconsolefont, showkey, unicode_start, and unicode_stop</seg>
119         <seg>/usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps, 
120         /usr/share/doc/kbd-&kbd-version;,  and /usr/share/unimaps</seg>
121       </seglistitem>
122     </segmentedlist>
124     <variablelist>
125       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
126       <?dbfo list-presentation="list"?>
127       <?dbhtml list-presentation="table"?>
129       <varlistentry id="chvt">
130         <term><command>chvt</command></term>
131         <listitem>
132           <para>Changes the foreground virtual terminal</para>
133           <indexterm zone="ch-system-kbd chvt">
134             <primary sortas="b-chvt">chvt</primary>
135           </indexterm>
136         </listitem>
137       </varlistentry>
139       <varlistentry id="deallocvt">
140         <term><command>deallocvt</command></term>
141         <listitem>
142           <para>Deallocates unused virtual terminals</para>
143           <indexterm zone="ch-system-kbd deallocvt">
144             <primary sortas="b-deallocvt">deallocvt</primary>
145           </indexterm>
146         </listitem>
147       </varlistentry>
149       <varlistentry id="dumpkeys">
150         <term><command>dumpkeys</command></term>
151         <listitem>
152           <para>Dumps the keyboard translation tables</para>
153           <indexterm zone="ch-system-kbd dumpkeys">
154             <primary sortas="b-dumpkeys">dumpkeys</primary>
155           </indexterm>
156         </listitem>
157       </varlistentry>
159       <varlistentry id="fgconsole">
160         <term><command>fgconsole</command></term>
161         <listitem>
162           <para>Prints the number of the active virtual terminal</para>
163           <indexterm zone="ch-system-kbd fgconsole">
164             <primary sortas="b-fgconsole">fgconsole</primary>
165           </indexterm>
166         </listitem>
167       </varlistentry>
169       <varlistentry id="getkeycodes">
170         <term><command>getkeycodes</command></term>
171         <listitem>
172           <para>Prints the kernel scancode-to-keycode mapping table</para>
173           <indexterm zone="ch-system-kbd getkeycodes">
174             <primary sortas="b-getkeycodes">getkeycodes</primary>
175           </indexterm>
176         </listitem>
177       </varlistentry>
179       <varlistentry id="kbdinfo">
180         <term><command>kbdinfo</command></term>
181         <listitem>
182           <para>Obtains information about the status of a console</para>
183           <indexterm zone="ch-system-kbd kbdinfo">
184             <primary sortas="b-kbdinfo">kbdinfo</primary>
185           </indexterm>
186         </listitem>
187       </varlistentry>
189       <varlistentry id="kbd_mode">
190         <term><command>kbd_mode</command></term>
191         <listitem>
192           <para>Reports or sets the keyboard mode</para>
193           <indexterm zone="ch-system-kbd kbd_mode">
194             <primary sortas="b-kbd_mode">kbd_mode</primary>
195           </indexterm>
196         </listitem>
197       </varlistentry>
199       <varlistentry id="kbdrate">
200         <term><command>kbdrate</command></term>
201         <listitem>
202           <para>Sets the keyboard repeat and delay rates</para>
203           <indexterm zone="ch-system-kbd kbdrate">
204             <primary sortas="b-kbdrate">kbdrate</primary>
205           </indexterm>
206         </listitem>
207       </varlistentry>
209       <varlistentry id="loadkeys">
210         <term><command>loadkeys</command></term>
211         <listitem>
212           <para>Loads the keyboard translation tables</para>
213           <indexterm zone="ch-system-kbd loadkeys">
214             <primary sortas="b-loadkeys">loadkeys</primary>
215           </indexterm>
216         </listitem>
217       </varlistentry>
219       <varlistentry id="loadunimap">
220         <term><command>loadunimap</command></term>
221         <listitem>
222           <para>Loads the kernel unicode-to-font mapping table</para>
223           <indexterm zone="ch-system-kbd loadunimap">
224             <primary sortas="b-loadunimap">loadunimap</primary>
225           </indexterm>
226         </listitem>
227       </varlistentry>
229       <varlistentry id="mapscrn">
230         <term><command>mapscrn</command></term>
231         <listitem>
232           <para>An obsolete program that used to load a user-defined output
233           character mapping table into the console driver; this is now done
234           by <command>setfont</command></para>
235           <indexterm zone="ch-system-kbd mapscrn">
236             <primary sortas="b-mapscrn">mapscrn</primary>
237           </indexterm>
238         </listitem>
239       </varlistentry>
241       <varlistentry id="openvt">
242         <term><command>openvt</command></term>
243         <listitem>
244           <para>Starts a program on a new virtual terminal (VT)</para>
245           <indexterm zone="ch-system-kbd openvt">
246             <primary sortas="b-openvt">openvt</primary>
247           </indexterm>
248         </listitem>
249       </varlistentry>
251       <varlistentry id="psfaddtable">
252         <term><command>psfaddtable</command></term>
253         <listitem>
254           <para>Adds a Unicode character table to a console font</para>
255           <indexterm zone="ch-system-kbd psfaddtable">
256             <primary sortas="b-psfaddtable">psfaddtable</primary>
257           </indexterm>
258         </listitem>
259       </varlistentry>
261       <varlistentry id="psfgettable">
262         <term><command>psfgettable</command></term>
263         <listitem>
264           <para>Extracts the embedded Unicode character table from a console
265           font</para>
266           <indexterm zone="ch-system-kbd psfgettable">
267             <primary sortas="b-psfgettable">psfgettable</primary>
268           </indexterm>
269         </listitem>
270       </varlistentry>
272       <varlistentry id="psfstriptable">
273         <term><command>psfstriptable</command></term>
274         <listitem>
275           <para>Removes the embedded Unicode character table from a console
276           font</para>
277           <indexterm zone="ch-system-kbd psfstriptable">
278             <primary sortas="b-psfstriptable">psfstriptable</primary>
279           </indexterm>
280         </listitem>
281       </varlistentry>
283       <varlistentry id="psfxtable">
284         <term><command>psfxtable</command></term>
285         <listitem>
286           <para>Handles Unicode character tables for console fonts</para>
287           <indexterm zone="ch-system-kbd psfxtable">
288             <primary sortas="b-psfxtable">psfxtable</primary>
289           </indexterm>
290         </listitem>
291       </varlistentry>
293       <varlistentry id="setfont">
294         <term><command>setfont</command></term>
295         <listitem>
296           <para>Changes the Enhanced Graphic Adapter (EGA) and Video Graphics
297           Array (VGA) fonts on the console</para>
298           <indexterm zone="ch-system-kbd setfont">
299             <primary sortas="b-setfont">setfont</primary>
300           </indexterm>
301         </listitem>
302       </varlistentry>
304       <varlistentry id="setkeycodes">
305         <term><command>setkeycodes</command></term>
306         <listitem>
307           <para>Loads kernel scancode-to-keycode mapping table entries; this is
308           useful if there are unusual keys on the keyboard</para>
309           <indexterm zone="ch-system-kbd setkeycodes">
310             <primary sortas="b-setkeycodes">setkeycodes</primary>
311           </indexterm>
312         </listitem>
313       </varlistentry>
315       <varlistentry id="setleds">
316         <term><command>setleds</command></term>
317         <listitem>
318           <para>Sets the keyboard flags and Light Emitting Diodes (LEDs)</para>
319           <indexterm zone="ch-system-kbd setleds">
320             <primary sortas="b-setleds">setleds</primary>
321           </indexterm>
322         </listitem>
323       </varlistentry>
325       <varlistentry id="setmetamode">
326         <term><command>setmetamode</command></term>
327         <listitem>
328           <para>Defines the keyboard meta-key handling</para>
329           <indexterm zone="ch-system-kbd setmetamode">
330             <primary sortas="b-setmetamode">setmetamode</primary>
331           </indexterm>
332         </listitem>
333       </varlistentry>
335       <varlistentry id="setvtrgb">
336         <term><command>setvtrgb</command></term>
337         <listitem>
338           <para>Sets the console color map in all virtual terminals</para>
339           <indexterm zone="ch-system-kbd setvtrgb">
340             <primary sortas="b-setvtrgb">setvtrgb</primary>
341           </indexterm>
342         </listitem>
343       </varlistentry>
345       <varlistentry id="showconsolefont">
346         <term><command>showconsolefont</command></term>
347         <listitem>
348           <para>Shows the current EGA/VGA console screen font</para>
349           <indexterm zone="ch-system-kbd showconsolefont">
350             <primary sortas="b-showconsolefont">showconsolefont</primary>
351           </indexterm>
352         </listitem>
353       </varlistentry>
355       <varlistentry id="showkey">
356         <term><command>showkey</command></term>
357         <listitem>
358           <para>Reports the scancodes, keycodes, and ASCII codes of the keys
359           pressed on the keyboard</para>
360           <indexterm zone="ch-system-kbd showkey">
361             <primary sortas="b-showkey">showkey</primary>
362           </indexterm>
363         </listitem>
364       </varlistentry>
366       <varlistentry id="unicode_start">
367         <term><command>unicode_start</command></term>
368         <listitem>
369           <para>Puts the keyboard and console in UNICODE mode [Don't use this
370           program unless your keymap file is in the ISO-8859-1 encoding. For
371           other encodings, this utility produces incorrect results.]</para>
372           <indexterm zone="ch-system-kbd unicode_start">
373             <primary sortas="b-unicode_start">unicode_start</primary>
374           </indexterm>
375         </listitem>
376       </varlistentry>
378       <varlistentry id="unicode_stop">
379         <term><command>unicode_stop</command></term>
380         <listitem>
381           <para>Reverts keyboard and console from UNICODE mode</para>
382           <indexterm zone="ch-system-kbd unicode_stop">
383             <primary sortas="b-unicode_stop">unicode_stop</primary>
384           </indexterm>
385         </listitem>
386       </varlistentry>
388     </variablelist>
390   </sect2>
392 </sect1>