1 | This is the documentation for the keytab-lilo.pl program. It was |
---|
2 | taken verbatim from the LILO-20 README file; only this header was |
---|
3 | added. |
---|
4 | |
---|
5 | LILO program code, documentation and auxiliary programs are |
---|
6 | Copyright 1992-1997 Werner Almesberger. |
---|
7 | All rights reserved. |
---|
8 | |
---|
9 | Redistribution and use in source and binary forms of parts of or the |
---|
10 | whole original or derived work are permitted provided that the |
---|
11 | original work is properly attributed to the author. The name of the |
---|
12 | author may not be used to endorse or promote products derived from |
---|
13 | this software without specific prior written permission. This work |
---|
14 | is provided "as is" and without any express or implied warranties. |
---|
15 | |
---|
16 | To use a LILO keyboard table with Syslinux, specify the KBDMAP command |
---|
17 | in syslinux.cfg, for example: |
---|
18 | |
---|
19 | kbdmap de.ktl |
---|
20 | |
---|
21 | ============================================================================ |
---|
22 | |
---|
23 | Keyboard translation |
---|
24 | -------------------- |
---|
25 | |
---|
26 | The PC keyboard emits so-called scan codes, which are basically key |
---|
27 | numbers. The BIOS then translates those scan codes to the character codes |
---|
28 | of the characters printed on the key-caps. By default, the BIOS normally |
---|
29 | assumes that the keyboard has a US layout. Once an operating system is |
---|
30 | loaded, this operating system can use a different mapping. |
---|
31 | |
---|
32 | At boot time, LILO only has access to the basic services provided by the |
---|
33 | BIOS and therefore receives the character codes for an US keyboard. It |
---|
34 | provides a simple mechanism to re-map the character codes to what is |
---|
35 | appropriate for the actual layout.* |
---|
36 | |
---|
37 | * The current mechanism isn't perfect, because it sits on top of the |
---|
38 | scan code to character code translation performed by the BIOS. This |
---|
39 | means that key combinations that don't produce any useful character on |
---|
40 | the US keyboard will be ignored by LILO. The advantage of this approach |
---|
41 | is its simplicity. |
---|
42 | |
---|
43 | |
---|
44 | Compiling keyboard translation tables |
---|
45 | - - - - - - - - - - - - - - - - - - - |
---|
46 | |
---|
47 | LILO obtains layout information from the keyboard translation tables Linux |
---|
48 | uses for the text console. They are usually stored in |
---|
49 | /usr/lib/kbd/keytables. LILO comes with a program keytab-lilo.pl that reads |
---|
50 | those tables and generates a table suitable for use by the map installer. |
---|
51 | keytab-lilo.pl invokes the program loadkeys to print the tables in a format |
---|
52 | that is easy to parse.* |
---|
53 | |
---|
54 | * On some systems, only root can execute loadkeys. It is then necessary |
---|
55 | to run keytab-lilo.pl as root too. |
---|
56 | |
---|
57 | keytab-lilo.pl is used as follows: |
---|
58 | |
---|
59 | keytab-lilo.pl [ -p <old_code>=<new_code> ] ... |
---|
60 | [<path>]<default_layout>[.<extension>] ] |
---|
61 | [<path>]<kbd_layout>[.<extension>] ] |
---|
62 | |
---|
63 | -p <old_code>=<new_code> |
---|
64 | Specifies corrections ("patches") to the mapping obtained from the |
---|
65 | translation table files. E.g. if pressing the upper case "A" should |
---|
66 | yield an at sign, -p 65=64 would be used. The -p option can be |
---|
67 | repeated any number of times. The codes can also be given as |
---|
68 | hexadecimal or as octal numbers if they are prefixed with 0x or 0, |
---|
69 | respectively. |
---|
70 | <path> The directory in which the file resides. The default path is |
---|
71 | /usr/lib/kbd/keytables. |
---|
72 | <extension> Usually the trailing .map, which is automatically added if |
---|
73 | the file name doesn't contain dots. |
---|
74 | <default_layout> Is the layout which specifies the translation by the |
---|
75 | BIOS. If none is specified, us is assumed. |
---|
76 | <kbd_layout> Is the actual layout of the keyboard. |
---|
77 | |
---|
78 | keytab-lilo.pl writes the resulting translation table as a binary string to |
---|
79 | standard output. Such tables can be stored anywhere with any name, but the |
---|
80 | suggested naming convention is /boot/<kbd>.ktl ("Keyboard Table for Lilo"), |
---|
81 | where <kbd> is the name of the keyboard layout. |
---|
82 | |
---|
83 | Example: |
---|
84 | |
---|
85 | keytab-lilo.pl de >/boot/de.ktl |
---|