The Kbd package contains keytable files and keyboard utilities.
Approximate build time: 0.1 SBU Required disk space: 12 MB |
Official download location for Kbd (1.12):
ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd/
And for the Kbd More-Programs Patch:
http://www.linuxfromscratch.org/patches/lfs/cvs/kbd-1.12-more-programs-1.patch
For its installation Kbd depends on: Bash, Binutils, Bison, Coreutils, Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed.
By default some of Kbd's utilities (setlogcons, setvesablank and getunimap) are not installed. First enable the compilation of these utilities:
patch -Np1 -i ../kbd-1.12-more-programs-1.patch |
Now prepare Kbd for compilation:
./configure |
Compile the package:
make |
And install it:
make install |
Few things are more annoying than using Linux while a wrong keymap for your keyboard is loaded. If you have a standard US keyboard, however, you can skip this section, as the US keymap is the default as long as you don't change it.
To change the default keymap, create the /usr/share/kbd/keymaps/defkeymap.map.gz symlink by running the following command:
ln -s path/to/keymap /usr/share/kbd/keymaps/defkeymap.map.gz |
Of course, replace path/to/keymap with the path and name of your keyboard's map file. For example, if you have a Dutch keyboard, you would use i386/qwerty/nl.map.gz.
Another way to set your keyboard's layout is to compile the keymap into the kernel. This ensures that your keyboard will always work as expected, even when you boot into maintenance mode (by passing `init=/bin/sh' to the kernel), as then the bootscript that normally sets up your keymap isn't run.
Run the following command to patch the current default keymap into the kernel source. You will have to repeat this command whenever you unpack a new kernel:
loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz > \ /usr/src/linux-2.4.24/drivers/char/defkeymap.c |
Installed programs: chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons, setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank, showconsolefont, showkey, unicode_start and unicode_stop
chvt changes the foreground virtual terminal.
deallocvt deallocates unused virtual terminals.
dumpkeys dumps the keyboard translation tables.
fgconsole prints the number of the active virtual terminal.
getkeycodes prints the kernel scancode-to-keycode mapping table.
getunimap prints the currently used unimap.
kbd_mode reports or sets the keyboard mode.
kbdrate sets the keyboard repeat and delay rates.
loadkeys loads the keyboard translation tables.
loadunimap loads the kernel unicode-to-font mapping table.
mapscrn is an obsolete program that used to load a user-defined output character mapping table into the console driver. This is now done by setfont.
openvt starts a program on a new virtual terminal (VT).
psf* are a set of tools for handling Unicode character tables for console fonts.
resizecons changes the kernel idea of the console size.
setfont lets you change the EGA/VGA fonts on the console.
setkeycodes loads kernel scancode-to-keycode mapping table entries, useful if you have some unusual keys on your keyboard.
setleds sets the keyboard flags and LEDs. Many people find it useful to have NumLock on by default, setleds +num achieves this.
setlogcons sends kernel messages to the console.
setmetamode defines the keyboard meta key handling.
setvesablank lets you fiddle with the built-in hardware screensaver (no toasters, just a blank screen).
showconsolefont shows the current EGA/VGA console screen font.
showkey reports the scancodes and keycodes and ASCII codes of the keys pressed on the keyboard.
unicode_start puts the keyboard and console in unicode mode.
unicode_stop reverts keyboard and console from unicode mode.