source: chapter06/kbd.xml@ 9505860

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 9505860 was 9505860, checked in by Jeremy Huntwork <jhuntwork@…>, 16 years ago

Fixed behavior in kbd where man pages for optional programs that aren't built
are installed. Thanks Greg Schafer for spotting this.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8537 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 13.6 KB
Line 
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]>
7
8<sect1 id="ch-system-kbd" role="wrap">
9 <?dbhtml filename="kbd.html"?>
10
11 <sect1info condition="script">
12 <productname>kbd</productname>
13 <productnumber>&kbd-version;</productnumber>
14 <address>&kbd-url;</address>
15 </sect1info>
16
17 <title>Kbd-&kbd-version;</title>
18
19 <indexterm zone="ch-system-kbd">
20 <primary sortas="a-Kbd">Kbd</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The Kbd package contains key-table files and keyboard utilities.</para>
27
28 <segmentedlist>
29 <segtitle>&buildtime;</segtitle>
30 <segtitle>&diskspace;</segtitle>
31
32 <seglistitem>
33 <seg>&kbd-ch6-sbu;</seg>
34 <seg>&kbd-ch6-du;</seg>
35 </seglistitem>
36 </segmentedlist>
37
38 </sect2>
39
40 <sect2 role="installation">
41 <title>Installation of Kbd</title>
42
43 <para>The behaviour of the Backspace and Delete keys is not consistent
44 across the keymaps in the Kbd package. The following patch fixes this
45 issue for i386 keymaps:</para>
46
47<screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
48
49 <para>After patching, the Backspace key generates the character with code 127,
50 and the Delete key generates a well-known escape sequence.</para>
51
52 <para>In this version of Kbd the instructions to build
53 <filename>getkeycodes</filename>, <filename>setkeycodes</filename> and
54 <filename>resizecons</filename> do not get passed over to the generated
55 <filename>Makefile</filename> as they should. So that these programs
56 are built and installed add two lines to the top of
57 <filename>src/Makefile.in</filename>:
58 </para>
59
60<screen><userinput remap="pre">sed -i -e '1i KEYCODES_PROGS = @KEYCODES_PROGS@' \
61 -e '1i RESIZECONS_PROGS = @RESIZECONS_PROGS@' src/Makefile.in</userinput></screen>
62
63 <para>This version of Kbd will also install man pages for optional programs
64 even if we don't use the <parameter>--enable-optional-progs</parameter>
65 option to build them. Fix this behavior:</para>
66
67<screen><userinput remap="pre">var=OPTIONAL_PROGS
68sed -i "s/ifdef $var/ifeq (\$($var),yes)/" man/Makefile.in
69unset var</userinput></screen>
70
71 <para>Prepare Kbd for compilation:</para>
72
73<screen><userinput remap="configure">./configure --prefix=/usr --datadir=/lib/kbd</userinput></screen>
74
75 <variablelist>
76 <title>The meaning of the configure options:</title>
77
78 <varlistentry>
79 <term><parameter>--datadir=/lib/kbd</parameter></term>
80 <listitem>
81 <para>This option puts keyboard layout data in a directory that will
82 always be on the root partition instead of the default <filename
83 class="directory">/usr/share/kbd</filename>.</para>
84 </listitem>
85 </varlistentry>
86
87 </variablelist>
88
89 <para>Compile the package:</para>
90
91<screen><userinput remap="make">make</userinput></screen>
92
93 <para>This package does not come with a test suite.</para>
94
95 <para>Install the package:</para>
96
97<screen><userinput remap="install">make install</userinput></screen>
98
99 <note>
100 <para>For some languages (e.g., Belarusian) the Kbd package doesn't
101 provide a useful keymap where the stock <quote>by</quote> keymap assumes
102 the ISO-8859-5 encoding, and the CP1251 keymap is normally used. Users of
103 such languages have to download working keymaps separately.</para>
104 </note>
105
106 <para>Some of the scripts in the LFS-Bootscripts package depend on
107 <command>kbd_mode</command>, <command>loadkeys</command>,
108 <command>openvt</command>, and
109 <command>setfont</command>. As <filename class="directory">/usr</filename>
110 may not be available during the early stages of booting, those binaries
111 need to be on the root partition:</para>
112
113<screen><userinput remap="install">mv -v /usr/bin/{kbd_mode,loadkeys,openvt,setfont} /bin</userinput></screen>
114
115 </sect2>
116
117 <sect2 id="contents-kbd" role="content">
118 <title>Contents of Kbd</title>
119
120 <segmentedlist>
121 <segtitle>Installed programs</segtitle>
122
123 <seglistitem>
124 <seg>chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbd_mode,
125 kbdrate, loadkeys, loadunimap,
126 mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
127 psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
128 setfont, setkeycodes, setleds, setmetamode,
129 showconsolefont, showkey, unicode_start, and unicode_stop</seg>
130 </seglistitem>
131 </segmentedlist>
132
133 <variablelist>
134 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
135 <?dbfo list-presentation="list"?>
136 <?dbhtml list-presentation="table"?>
137
138 <varlistentry id="chvt">
139 <term><command>chvt</command></term>
140 <listitem>
141 <para>Changes the foreground virtual terminal</para>
142 <indexterm zone="ch-system-kbd chvt">
143 <primary sortas="b-chvt">chvt</primary>
144 </indexterm>
145 </listitem>
146 </varlistentry>
147
148 <varlistentry id="deallocvt">
149 <term><command>deallocvt</command></term>
150 <listitem>
151 <para>Deallocates unused virtual terminals</para>
152 <indexterm zone="ch-system-kbd deallocvt">
153 <primary sortas="b-deallocvt">deallocvt</primary>
154 </indexterm>
155 </listitem>
156 </varlistentry>
157
158 <varlistentry id="dumpkeys">
159 <term><command>dumpkeys</command></term>
160 <listitem>
161 <para>Dumps the keyboard translation tables</para>
162 <indexterm zone="ch-system-kbd dumpkeys">
163 <primary sortas="b-dumpkeys">dumpkeys</primary>
164 </indexterm>
165 </listitem>
166 </varlistentry>
167
168 <varlistentry id="fgconsole">
169 <term><command>fgconsole</command></term>
170 <listitem>
171 <para>Prints the number of the active virtual terminal</para>
172 <indexterm zone="ch-system-kbd fgconsole">
173 <primary sortas="b-fgconsole">fgconsole</primary>
174 </indexterm>
175 </listitem>
176 </varlistentry>
177
178 <varlistentry id="getkeycodes">
179 <term><command>getkeycodes</command></term>
180 <listitem>
181 <para>Prints the kernel scancode-to-keycode mapping table</para>
182 <indexterm zone="ch-system-kbd getkeycodes">
183 <primary sortas="b-getkeycodes">getkeycodes</primary>
184 </indexterm>
185 </listitem>
186 </varlistentry>
187
188 <varlistentry id="kbd_mode">
189 <term><command>kbd_mode</command></term>
190 <listitem>
191 <para>Reports or sets the keyboard mode</para>
192 <indexterm zone="ch-system-kbd kbd_mode">
193 <primary sortas="b-kbd_mode">kbd_mode</primary>
194 </indexterm>
195 </listitem>
196 </varlistentry>
197
198 <varlistentry id="kbdrate">
199 <term><command>kbdrate</command></term>
200 <listitem>
201 <para>Sets the keyboard repeat and delay rates</para>
202 <indexterm zone="ch-system-kbd kbdrate">
203 <primary sortas="b-kbdrate">kbdrate</primary>
204 </indexterm>
205 </listitem>
206 </varlistentry>
207
208 <varlistentry id="loadkeys">
209 <term><command>loadkeys</command></term>
210 <listitem>
211 <para>Loads the keyboard translation tables</para>
212 <indexterm zone="ch-system-kbd loadkeys">
213 <primary sortas="b-loadkeys">loadkeys</primary>
214 </indexterm>
215 </listitem>
216 </varlistentry>
217
218 <varlistentry id="loadunimap">
219 <term><command>loadunimap</command></term>
220 <listitem>
221 <para>Loads the kernel unicode-to-font mapping table</para>
222 <indexterm zone="ch-system-kbd loadunimap">
223 <primary sortas="b-loadunimap">loadunimap</primary>
224 </indexterm>
225 </listitem>
226 </varlistentry>
227
228 <varlistentry id="mapscrn">
229 <term><command>mapscrn</command></term>
230 <listitem>
231 <para>An obsolete program that used to load a user-defined output
232 character mapping table into the console driver; this is now done
233 by <command>setfont</command></para>
234 <indexterm zone="ch-system-kbd mapscrn">
235 <primary sortas="b-mapscrn">mapscrn</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="openvt">
241 <term><command>openvt</command></term>
242 <listitem>
243 <para>Starts a program on a new virtual terminal (VT)</para>
244 <indexterm zone="ch-system-kbd openvt">
245 <primary sortas="b-openvt">openvt</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="psfaddtable">
251 <term><command>psfaddtable</command></term>
252 <listitem>
253 <para>A link to <command>psfxtable</command></para>
254 <indexterm zone="ch-system-kbd psfaddtable">
255 <primary sortas="b-psfaddtable">psfaddtable</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="psfgettable">
261 <term><command>psfgettable</command></term>
262 <listitem>
263 <para>A link to <command>psfxtable</command></para>
264 <indexterm zone="ch-system-kbd psfgettable">
265 <primary sortas="b-psfgettable">psfgettable</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="psfstriptable">
271 <term><command>psfstriptable</command></term>
272 <listitem>
273 <para>A link to <command>psfxtable</command></para>
274 <indexterm zone="ch-system-kbd psfstriptable">
275 <primary sortas="b-psfstriptable">psfstriptable</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="psfxtable">
281 <term><command>psfxtable</command></term>
282 <listitem>
283 <para>Handle Unicode character tables for console fonts</para>
284 <indexterm zone="ch-system-kbd psfxtable">
285 <primary sortas="b-psfxtable">psfxtable</primary>
286 </indexterm>
287 </listitem>
288 </varlistentry>
289
290 <varlistentry id="resizecons">
291 <term><command>resizecons</command></term>
292 <listitem>
293 <para>Changes the kernel idea of the console size</para>
294 <indexterm zone="ch-system-kbd resizecons">
295 <primary sortas="b-resizecons">resizecons</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="setfont">
301 <term><command>setfont</command></term>
302 <listitem>
303 <para>Changes the Enhanced Graphic Adapter (EGA) and Video Graphics
304 Array (VGA) fonts on the console</para>
305 <indexterm zone="ch-system-kbd setfont">
306 <primary sortas="b-setfont">setfont</primary>
307 </indexterm>
308 </listitem>
309 </varlistentry>
310
311 <varlistentry id="setkeycodes">
312 <term><command>setkeycodes</command></term>
313 <listitem>
314 <para>Loads kernel scancode-to-keycode mapping table entries; this is
315 useful if there are unusual keys on the keyboard</para>
316 <indexterm zone="ch-system-kbd setkeycodes">
317 <primary sortas="b-setkeycodes">setkeycodes</primary>
318 </indexterm>
319 </listitem>
320 </varlistentry>
321
322 <varlistentry id="setleds">
323 <term><command>setleds</command></term>
324 <listitem>
325 <para>Sets the keyboard flags and Light Emitting Diodes (LEDs)</para>
326 <indexterm zone="ch-system-kbd setleds">
327 <primary sortas="b-setleds">setleds</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="setmetamode">
333 <term><command>setmetamode</command></term>
334 <listitem>
335 <para>Defines the keyboard meta-key handling</para>
336 <indexterm zone="ch-system-kbd setmetamode">
337 <primary sortas="b-setmetamode">setmetamode</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
342 <varlistentry id="showconsolefont">
343 <term><command>showconsolefont</command></term>
344 <listitem>
345 <para>Shows the current EGA/VGA console screen font</para>
346 <indexterm zone="ch-system-kbd showconsolefont">
347 <primary sortas="b-showconsolefont">showconsolefont</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="showkey">
353 <term><command>showkey</command></term>
354 <listitem>
355 <para>Reports the scancodes, keycodes, and ASCII codes of the keys
356 pressed on the keyboard</para>
357 <indexterm zone="ch-system-kbd showkey">
358 <primary sortas="b-showkey">showkey</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="unicode_start">
364 <term><command>unicode_start</command></term>
365 <listitem>
366 <para>Puts the keyboard and console in UNICODE mode. Don't use this
367 program unless your keymap file is in the ISO-8859-1 encoding. For
368 other encodings, this utility produces incorrect results.</para>
369 <indexterm zone="ch-system-kbd unicode_start">
370 <primary sortas="b-unicode_start">unicode_start</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="unicode_stop">
376 <term><command>unicode_stop</command></term>
377 <listitem>
378 <para>Reverts keyboard and console from UNICODE mode</para>
379 <indexterm zone="ch-system-kbd unicode_stop">
380 <primary sortas="b-unicode_stop">unicode_stop</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 </variablelist>
386
387 </sect2>
388
389</sect1>
Note: See TracBrowser for help on using the repository browser.