From 2f782c688b8fc44f93199523a0dd22ffa3dd3b99 Mon Sep 17 00:00:00 2001 From: Alexey Gladkov Date: Wed, 13 Mar 2024 15:12:44 +0100 Subject: [PATCH] Remove outdated docs All or almost all of this documentation is hopelessly outdated and describes projects that no longer exist. Signed-off-by: Alexey Gladkov --- docs/doc/README.Crosser | 52 - docs/doc/TODO | 10 - docs/doc/as400.kbd | 628 ------- docs/doc/cirrus.videomodes | 56 - docs/doc/console.docs | 394 ----- docs/doc/kbd.FAQ-1.html | 92 - docs/doc/kbd.FAQ-10.html | 66 - docs/doc/kbd.FAQ-11.html | 67 - docs/doc/kbd.FAQ-12.html | 190 -- docs/doc/kbd.FAQ-13.html | 99 -- docs/doc/kbd.FAQ-14.html | 91 - docs/doc/kbd.FAQ-15.html | 199 --- docs/doc/kbd.FAQ-16.html | 82 - docs/doc/kbd.FAQ-17.html | 50 - docs/doc/kbd.FAQ-18.html | 62 - docs/doc/kbd.FAQ-19.html | 41 - docs/doc/kbd.FAQ-2.html | 61 - docs/doc/kbd.FAQ-20.html | 48 - docs/doc/kbd.FAQ-21.html | 66 - docs/doc/kbd.FAQ-22.html | 57 - docs/doc/kbd.FAQ-23.html | 29 - docs/doc/kbd.FAQ-3.html | 50 - docs/doc/kbd.FAQ-4.html | 249 --- docs/doc/kbd.FAQ-5.html | 564 ------ docs/doc/kbd.FAQ-6.html | 61 - docs/doc/kbd.FAQ-7.html | 139 -- docs/doc/kbd.FAQ-8.html | 249 --- docs/doc/kbd.FAQ-9.html | 58 - docs/doc/kbd.FAQ.html | 151 -- docs/doc/kbd.FAQ.sgml | 1883 -------------------- docs/doc/kbd.FAQ.txt | 2163 ----------------------- docs/doc/n474.doc | Bin 13312 -> 0 bytes docs/doc/repeat/set_kbd_repeat-1 | 34 - docs/doc/repeat/set_kbd_repeat-2 | 34 - docs/doc/scancodes/README | 3 - docs/doc/utf/README | 22 - docs/doc/utf/ethiopic | 388 ---- docs/doc/utf/utfdemo | 115 -- docs/doc/utf/utflist | 651 ------- "docs/doc/utf/\342\231\252\342\231\254" | 12 - 40 files changed, 9266 deletions(-) delete mode 100644 docs/doc/README.Crosser delete mode 100644 docs/doc/TODO delete mode 100644 docs/doc/as400.kbd delete mode 100644 docs/doc/cirrus.videomodes delete mode 100644 docs/doc/console.docs delete mode 100644 docs/doc/kbd.FAQ-1.html delete mode 100644 docs/doc/kbd.FAQ-10.html delete mode 100644 docs/doc/kbd.FAQ-11.html delete mode 100644 docs/doc/kbd.FAQ-12.html delete mode 100644 docs/doc/kbd.FAQ-13.html delete mode 100644 docs/doc/kbd.FAQ-14.html delete mode 100644 docs/doc/kbd.FAQ-15.html delete mode 100644 docs/doc/kbd.FAQ-16.html delete mode 100644 docs/doc/kbd.FAQ-17.html delete mode 100644 docs/doc/kbd.FAQ-18.html delete mode 100644 docs/doc/kbd.FAQ-19.html delete mode 100644 docs/doc/kbd.FAQ-2.html delete mode 100644 docs/doc/kbd.FAQ-20.html delete mode 100644 docs/doc/kbd.FAQ-21.html delete mode 100644 docs/doc/kbd.FAQ-22.html delete mode 100644 docs/doc/kbd.FAQ-23.html delete mode 100644 docs/doc/kbd.FAQ-3.html delete mode 100644 docs/doc/kbd.FAQ-4.html delete mode 100644 docs/doc/kbd.FAQ-5.html delete mode 100644 docs/doc/kbd.FAQ-6.html delete mode 100644 docs/doc/kbd.FAQ-7.html delete mode 100644 docs/doc/kbd.FAQ-8.html delete mode 100644 docs/doc/kbd.FAQ-9.html delete mode 100644 docs/doc/kbd.FAQ.html delete mode 100644 docs/doc/kbd.FAQ.sgml delete mode 100644 docs/doc/kbd.FAQ.txt delete mode 100644 docs/doc/n474.doc delete mode 100644 docs/doc/repeat/set_kbd_repeat-1 delete mode 100644 docs/doc/repeat/set_kbd_repeat-2 delete mode 100644 docs/doc/scancodes/README delete mode 100644 docs/doc/utf/README delete mode 100644 docs/doc/utf/ethiopic delete mode 100644 docs/doc/utf/utfdemo delete mode 100644 docs/doc/utf/utflist delete mode 100644 "docs/doc/utf/\342\231\252\342\231\254" diff --git a/docs/doc/README.Crosser b/docs/doc/README.Crosser deleted file mode 100644 index fe7cca72..00000000 --- a/docs/doc/README.Crosser +++ /dev/null @@ -1,52 +0,0 @@ -# International console driver fixes for Linux kernel .99pl13 -# Eugene G. Crosser - -This package provide fixes in the kernel (console.c, keydoard.c and vt.c), -setfont and mapscrn utilities, and fixes to the loadkey utility. -setfont loads custom EGA/VGA fonts, mapscrn specifies screen output mapping, -and loadkeys with this fixes provides "AltGr-Lock" state of the keyboard, -and makes possible to specify which characters are alphabetic and therefore -should be affected by the CapsLock. - -make all - compile utilities and binary tables -make apply - apply cdiffs to the kernel code & .h files -make install - install utilities in the /etc directory - -Utilities make use of ioctl() entries added to the kernel as follows: - -"setfont" accepts binary font from the file specified as a paramter. -File size may be 2048, 3584 and 4096 bytes for 8x8, 8x14 and 8x16 -fonts respectively. - -"mapscrn" accepts a 256 byte translation table from the file specified as a -parameter and passes it to the "user definable" (fourth) mapping table -in the kernel. First 32 bytes of the file (control characters) are always -ignored. All screen output will be translated if a "\033(K" (or "\033)K") -sequence was outputted to select the "user definable" table. - -All this witchkraft with the output mapping is nesseccary because of -VGA architecture: it extends the character bitmap from 8 to 9 columns -for some interval of codes on the hardware level. This is appropriate -for certain graphic characters, but inappropriate if you have letters -in that place ot the character table. In the latter case, you can place -character bitmaps on not-extendable positions in the font table, and -use appropriate mapping table. This is done for Cyrillic character set -"koi8-r" (RFC1489). - -The fixes in loadkey utility are necessary because of two reasons. -First, non-Latin based character sets (such as Cyrillic) require a -special lock state for the keyboard. Current "shift-locks" implementation -in the keyboard driver is inconvenient, as it does not allow "switchback" -when the "shift" key is pressed while "shift-lock" is active. Second, -with non-ISO-8859 compliant character sets one cannot easily figure out -if a certain character is a "lowercase letter" and should therefore be -affected by CapsLock. A plus sign ('+') in front of the character -definition in the keymapping table is used to identify this character -as "affectable by CapsLock". Loadkeys utility treats lowercase latin -characters ('a'-'z') as affectable in any case. Effect of CapsLock is -to invert the "shift" state (unlike the original driver, where it always -"shifts up"). - -Note that if you need to make custom screen mapping default, you will -have to output the magic escape sequence ("\033(K" or "\033)K") to every -virtual screen in use. That can be done from /etc/profile. diff --git a/docs/doc/TODO b/docs/doc/TODO deleted file mode 100644 index b7c847f4..00000000 --- a/docs/doc/TODO +++ /dev/null @@ -1,10 +0,0 @@ -- selection can now cut & paste 8-bit chars, but not yet Unicode -- compose does not work together with Unicode - (struct kbdiacr has three chars: base + diacr -> result, - but the result should be a string) -- strings produced by a function key cannot contain \000; - many other places this char is excluded -- current status (translation table, Unicode output) can be set, - but not read out from the kernel; thus, showconsolefont changes the - status, but cannot restore it - diff --git a/docs/doc/as400.kbd b/docs/doc/as400.kbd deleted file mode 100644 index b15a65d1..00000000 --- a/docs/doc/as400.kbd +++ /dev/null @@ -1,628 +0,0 @@ -Edward Flottwell wrote the following -about his kernel patch for allowing the kernel to work with an -adapted AS400 keyboard. - -(In fact no kernel patch is required - the utility setkeycodes will do. -But the technical info below might be useful for somebody.) -----aeb - -"Keyboard.c patch for IBM Keyboards" (Aug 9, 20:04): - -> The last 2 Weekends I spent on hacking a little bit in the keyboard code to -> make a keyboard from a IBM AS400 Terminal work with LinuX. It's a very nice -> piece of hardware, 122 keys and 2 kg :-), mostly used in Banks and -> Companies. I got mine from a bank service company for 10 Marks (aprox. -> 7.5$). -> -> The patch against keyboard.c from 1.3.15 and a README is following: -> -> --------------------------------schnipp----------------------------------- - ---- keyboard.1.3.15.orig Wed Aug 9 12:51:28 1995 -+++ keyboard.c Wed Aug 9 13:11:56 1995 -@@ -39,6 +39,11 @@ - #define KBD_REPORT_ERR - #define KBD_REPORT_UNKN - /* #define KBD_IS_FOCUS_9000 */ -+/* #define KBD_IS_IBM_AS400 */ -+ -+/* When using an original IBM AS_400 Keyboard you should enable both -+ * KBD_IS_FOCUS_9000 and KBD_IS_IBM_AS400 -+ */ - - #ifndef KBD_DEFMODE - #define KBD_DEFMODE ((1 << VC_REPEAT) | (1 << VC_META)) -@@ -228,6 +233,29 @@ - - #define E1_PAUSE 119 - -+#ifdef KBD_IS_IBM_AS400 -+#define E0_GR 105 -+#define E0_SIGN 43 -+#define E0_LINE 108 -+#define IBM_PF9 112 -+#define IBM_PF10 113 -+#define IBM_PF11 114 -+#define IBM_PF12 115 -+#define IBM_PF13 116 -+#define IBM_PF14 117 -+#define IBM_PF15 118 -+#define IBM_PF16 120 -+#define IBM_PF17 121 -+#define IBM_PF18 122 -+#define IBM_PF19 123 -+#define IBM_PF20 124 -+#define IBM_PF21 125 -+#define IBM_PF22 126 -+#define IBM_PF23 127 -+#define IBM_PF24 119 -+#endif -+ -+ - /* - * The keycodes below are randomly located in 89-95,112-118,120-127. - * They could be thrown away (and all occurrences below replaced by 0), -@@ -262,6 +290,7 @@ - #define RGN3 126 - #define RGN4 127 - -+#ifndef KBD_IS_IBM_AS400 - static unsigned char high_keys[128 - SC_LIM] = { - RGN1, RGN2, RGN3, RGN4, 0, 0, 0, /* 0x59-0x5f */ - 0, 0, 0, 0, 0, 0, 0, 0, /* 0x60-0x67 */ -@@ -270,6 +299,20 @@ - FOCUS_PF4, FOCUS_PF5, FOCUS_PF6, FOCUS_PF7, /* 0x78-0x7b */ - FOCUS_PF8, JAP_86, FOCUS_PF10, 0 /* 0x7c-0x7f */ - }; -+#endif -+#ifdef KBD_IS_IBM_AS400 -+static unsigned char high_keys[128 - SC_LIM] = { -+ FOCUS_PF2, FOCUS_PF3, FOCUS_PF4, FOCUS_PF5, FOCUS_PF6, -+ FOCUS_PF7, FOCUS_PF8, /* 0x59-0x5f */ -+ IBM_PF9, IBM_PF10, IBM_PF11, IBM_PF12, -+ IBM_PF13, IBM_PF14, IBM_PF15, IBM_PF16, /* 0x60-0x67 */ -+ IBM_PF17, IBM_PF18, IBM_PF19, IBM_PF20, IBM_PF21, -+ IBM_PF22, IBM_PF23, E0_PGUP, /* 0x68-0x6f */ -+ E0_GR, E0_RCTRL, E0_RALT, 0, E0_SIGN, 0, IBM_PF24, E0_LINE, /* 0x70-0x77 */ -+ E0_UP, E0_DEL, E0_END, E0_INS, /* 0x78-0x7b */ -+ 0, E0_RIGHT, E0_PGDN, E0_HOME /* 0x7c-0x7f */ -+}; -+#endif - - /* BTC */ - #define E0_MACRO 112 - ---------------------------------schnipp----------------------------------- - -This is an explaining README. ( README.AS400 ) - ---------------------------------schnipp----------------------------------- - - Connecting and using a non standard IBM keyboard - - by - Edward von Flottwell - edward@mudhoney.mitropa.com - -If you would like to use an old IBM 122-key AS400 Terminal keyboard with Linux, -you should to do some small things: - -1. Get your 'new' keyboard from a recycling company. - If you haven't done this already :-) -2. Solder a new 5pin DIN Connector instead of the RJ/??? Plug to the wire. -3. Patch the kernel and build an new one. -4. Load a new keymap and fit it to your needs. - -I hope you managed the first step - so I'll continue with the second one: -Get a keyboard connector from your nearest electronic-shop, cut off the -original plug and you will hopefully find 4 colored wires: black, red, -yellow and white. Connect them in the following way with the DIN Plug: - - Wire Signal DIN ___ - Black +5V 4 / 3 \ Soldering - White GND 2 (2 4) View - Red Data 3 \1^5/ - Yellow Clock 1 - -BUT BE VERY CAREFUL!!! Connecting the wrong signals can damage or blow up -your keyboard or your mainboard! The table above comes with NO warranty, -because I don't believe IBM always use the same type of cable :-} -You should open the keyboard and trace the wires to find the matching out. -And you should consult your mainboard for the keyboard-plug layout! - -Now you're ready to switch on the computer... Some mainboard bioses will -produce a keyboard error. You can ignore this :-) BTW the F1 key is the -very left of the function-key group near the tabulator key. -O.K., now you can try to type something, e.g. LILO: linux :-) -You will find out that some keys are swapped, others are dead. To make all -of the keys work apply the kernel-patch to -/usr/src/linux/drivers/char/keyboard.c and comment the lines with - -/* #define KBD_IS_FOCUS_9000 */ -/* #define KBD_IS_IBM_AS400 */ - -out. Recompile and install the new kernel. - -Now you need the last missing part: the keymap. At the end of this README -you will find an example for German users. How to make it fit to your -national keyboard is explained in the Keystroke-HOWTO. Most other questions -about keymaps, scancodes,... are explained there, too. -I would also suggest you read the manpages of showkey and loadkeys. -Don't forget to load the keymap every time you boot, -I prefer the rc.local shellscript doing this for me :-) - -The keymap: - -# -# File: AS400.map -# - -keycode 0 = -keycode 1 = Escape Escape - alt keycode 1 = Meta_Escape - shift alt keycode 1 = Meta_Escape - -keycode 2 = one exclam - alt keycode 2 = Meta_one - shift alt keycode 2 = Meta_exclam - -keycode 3 = two quotedbl twosuperior - control keycode 3 = nul - alt keycode 3 = Meta_two - shift alt keycode 3 = Meta_quotedbl - -keycode 4 = three section threesuperior - control keycode 4 = Escape - alt keycode 4 = Meta_three - -keycode 5 = four dollar dollar - control keycode 5 = Control_backslash - alt keycode 5 = Meta_four - shift alt keycode 5 = Meta_dollar - -keycode 6 = five percent - control keycode 6 = Control_bracketright - alt keycode 6 = Meta_five - shift alt keycode 6 = Meta_percent - -keycode 7 = six ampersand - control keycode 7 = Control_asciicircum - alt keycode 7 = Meta_six - shift alt keycode 7 = Meta_ampersand - -keycode 8 = seven slash braceleft - control keycode 8 = Control_underscore - alt keycode 8 = Meta_seven - shift alt keycode 8 = Meta_slash - -keycode 9 = eight parenleft bracketleft - control keycode 9 = Delete - alt keycode 9 = Meta_eight - shift alt keycode 9 = Meta_parenleft - -keycode 10 = nine parenright bracketright - alt keycode 10 = Meta_nine - control altgr keycode 10 = Control_bracketright - shift alt keycode 10 = Meta_parenright - -keycode 11 = zero equal braceright - alt keycode 11 = Meta_zero - shift alt keycode 11 = Meta_equal - -keycode 12 = ssharp question backslash - control keycode 12 = Control_underscore - alt keycode 12 = Meta_minus - control altgr keycode 12 = Control_backslash - shift alt keycode 12 = Meta_question - alt altgr keycode 12 = Meta_backslash - -keycode 13 = apostrophe grave - alt keycode 13 = Meta_equal - shift alt keycode 13 = Meta_grave - -keycode 14 = Delete Delete - alt keycode 14 = Meta_Delete - -keycode 15 = Tab Tab - alt keycode 15 = Meta_Tab - -keycode 16 = q - altgr keycode 16 = at - control keycode 16 = Control_q - alt keycode 16 = Meta_q - shift alt keycode 16 = Meta_Q - altgr alt keycode 16 = Meta_at - -keycode 17 = w - control keycode 17 = Control_w - alt keycode 17 = Meta_w - shift alt keycode 17 = Meta_W - -keycode 18 = e - control keycode 18 = Control_e - alt keycode 18 = Meta_e - shift alt keycode 18 = Meta_E - -keycode 19 = r - control keycode 19 = Control_r - alt keycode 19 = Meta_r - shift alt keycode 19 = Meta_R - -keycode 20 = t - control keycode 20 = Control_t - alt keycode 20 = Meta_t - shift alt keycode 20 = Meta_T - -keycode 21 = z - control keycode 21 = Control_z - alt keycode 21 = Meta_z - shift alt keycode 21 = Meta_Z - -keycode 22 = u - control keycode 22 = Control_u - alt keycode 22 = Meta_u - shift alt keycode 22 = Meta_U - -keycode 23 = i - alt keycode 23 = Meta_i - shift alt keycode 23 = Meta_I - -keycode 24 = o - control keycode 24 = Control_o - alt keycode 24 = Meta_o - shift alt keycode 24 = Meta_O - -keycode 25 = p - control keycode 25 = Control_p - alt keycode 25 = Meta_p - shift alt keycode 25 = Meta_P - -keycode 26 = +udiaeresis +Udiaeresis - control keycode 26 = Escape - alt keycode 26 = Meta_bracketleft - shift alt keycode 26 = Meta_braceleft - -keycode 27 = plus asterisk asciitilde - control keycode 27 = Control_bracketright - alt keycode 27 = Meta_bracketright - shift alt keycode 27 = Meta_braceright - -keycode 28 = Return - alt keycode 28 = 0x080d - -keycode 29 = Caps_Lock - -keycode 30 = a - control keycode 30 = Control_a - alt keycode 30 = Meta_a - shift alt keycode 30 = Meta_A - -keycode 31 = s - control keycode 31 = Control_s - alt keycode 31 = Meta_s - shift alt keycode 31 = Meta_S - -keycode 32 = d - control keycode 32 = Control_d - alt keycode 32 = Meta_d - shift alt keycode 32 = Meta_D - -keycode 33 = f - control keycode 33 = Control_f - alt keycode 33 = Meta_f - shift alt keycode 33 = Meta_F - -keycode 34 = g - control keycode 34 = Control_g - alt keycode 34 = Meta_g - shift alt keycode 34 = Meta_G - -keycode 35 = h - alt keycode 35 = Meta_h - shift alt keycode 35 = Meta_H - -keycode 36 = j - alt keycode 36 = Meta_j - shift alt keycode 36 = Meta_J - -keycode 37 = k - control keycode 37 = Control_k - alt keycode 37 = Meta_k - shift alt keycode 37 = Meta_K - -keycode 38 = l - control keycode 38 = Control_l - alt keycode 38 = Meta_l - shift alt keycode 38 = Meta_L - -keycode 39 = +odiaeresis +Odiaeresis - alt keycode 39 = Meta_semicolon - shift alt keycode 39 = Meta_colon - shift keycode 39 = Odiaeresis - -keycode 40 = +adiaeresis +Adiaeresis - control keycode 40 = Control_g - alt keycode 40 = Meta_apostrophe - shift alt keycode 40 = Meta_quotedbl - -keycode 41 = asciicircum degree - control keycode 41 = nul - alt keycode 41 = Meta_grave - shift alt keycode 41 = Meta_asciitilde - -keycode 42 = Shift - -keycode 43 = numbersign apostrophe - control keycode 43 = Control_backslash - alt keycode 43 = Meta_backslash - shift alt keycode 43 = Meta_apostrophe - -keycode 44 = y - control keycode 44 = Control_y - alt keycode 44 = Meta_y - shift alt keycode 44 = Meta_Y - -keycode 45 = x - control keycode 45 = Control_x - alt keycode 45 = Meta_x - shift alt keycode 45 = Meta_X - -keycode 46 = c - control keycode 46 = Control_c - alt keycode 46 = Meta_c - shift alt keycode 46 = Meta_C - -keycode 47 = v - control keycode 47 = Control_v - alt keycode 47 = Meta_v - shift alt keycode 47 = Meta_V - -keycode 48 = b - control keycode 48 = Control_b - alt keycode 48 = Meta_b - shift alt keycode 48 = Meta_B - -keycode 49 = n - control keycode 49 = Control_n - alt keycode 49 = Meta_n - shift alt keycode 49 = Meta_N - -keycode 50 = m - altgr keycode 50 = mu - control keycode 50 = Control_m - alt keycode 50 = Meta_m - shift alt keycode 50 = Meta_M - -keycode 51 = comma semicolon - alt keycode 51 = Meta_comma - alt shift keycode 51 = Meta_semicolon - -keycode 52 = period colon - alt keycode 52 = Meta_period - alt shift keycode 21 = Meta_colon - -keycode 53 = minus underscore - control keycode 53 = Delete - alt keycode 53 = Meta_slash - shift control keycode 53 = Control_underscore - -keycode 54 = Shift - -keycode 55 = KP_Multiply - -keycode 56 = Control - -keycode 57 = space space - control keycode 57 = nul - alt keycode 57 = Meta_space - -keycode 58 = Control - -keycode 59 = Escape Escape - alt keycode 1 = Meta_Escape - shift alt keycode 1 = Meta_Escape - -keycode 60 = Control_z - -keycode 61 = - -keycode 62 = Last_Console - -keycode 63 = Control_a - -keycode 64 = Up - -keycode 65 = Control_backslash - control keycode 99 = Control_backslash - alt keycode 99 = Control_backslash - -keycode 66 = Control_c - -keycode 67 = Control_q - -keycode 68 = Control_s - -keycode 69 = Num_Lock - -keycode 70 = Control_r - -keycode 71 = KP_7 - alt keycode 71 = Ascii_7 - -keycode 72 = KP_8 - alt keycode 72 = Ascii_8 - -keycode 73 = KP_9 - alt keycode 73 = Ascii_9 - -keycode 74 = KP_Subtract - -keycode 75 = KP_4 - alt keycode 75 = Ascii_4 - -keycode 76 = KP_5 - alt keycode 76 = Ascii_5 - -keycode 77 = KP_6 - alt keycode 77 = Ascii_6 - -keycode 78 = KP_Enter - -keycode 79 = KP_1 - alt keycode 79 = Ascii_1 - -keycode 80 = KP_2 - alt keycode 80 = Ascii_2 - -keycode 81 = KP_3 - alt keycode 81 = Ascii_3 - -keycode 82 = KP_0 - alt keycode 82 = Ascii_0 - -keycode 83 = KP_Comma - altgr control keycode 83 = Boot - control alt keycode 83 = Boot - -keycode 84 = slash - -keycode 85 = Down - -keycode 86 = Left - -keycode 87 = F11 F11 Console_23 - control keycode 87 = F11 - alt keycode 87 = Console_11 - control alt keycode 87 = Console_11 - -keycode 88 = F1 F11 Console_13 - control keycode 88 = F1 - alt keycode 88 = Console_1 - control alt keycode 88 = Console_1 - -keycode 89 = F2 F12 Console_14 - control keycode 89 = F2 - alt keycode 89 = Console_2 - control alt keycode 89 = Console_2 - -keycode 90 = F3 F13 Console_15 - control keycode 90 = F3 - alt keycode 90 = Console_3 - control alt keycode 90 = Console_3 - -keycode 91 = F4 F14 Console_16 - control keycode 91 = F4 - alt keycode 91 = Console_4 - control alt keycode 91 = Console_4 - -keycode 92 = F5 F15 Console_17 - control keycode 92 = F5 - alt keycode 92 = Console_5 - control alt keycode 92 = Console_5 - -keycode 93 = F6 F16 Console_18 - control keycode 93 = F6 - alt keycode 93 = Console_6 - control alt keycode 93 = Console_6 - -keycode 94 = F7 F17 Console_19 - control keycode 94 = F7 - alt keycode 94 = Console_7 - control alt keycode 94 = Console_7 - -keycode 95 = F8 F18 Console_20 - control keycode 95 = F8 - alt keycode 95 = Console_8 - control alt keycode 95 = Console_8 - -keycode 96 = KP_Enter - -keycode 97 = Alt - -keycode 98 = KP_Divide - -keycode 99 = - -keycode 100 = AltGr - -keycode 101 = Break - -keycode 102 = Find - -keycode 103 = Up - -keycode 104 = Prior - shift keycode 104 = Scroll_Backward - -keycode 105 = less greater bar - alt keycode 86 = Meta_less - shift alt keycode 86 = Meta_greater - altgr alt keycode 86 = Meta_bar - -keycode 106 = Right - -keycode 107 = Select - -keycode 108 = F25 - -keycode 109 = Next - shift keycode 109 = Scroll_Forward - -keycode 110 = Insert - -keycode 111 = Remove - altgr control keycode 111 = Boot - control alt keycode 111 = Boot - -keycode 112 = F9 -keycode 113 = F10 -keycode 114 = F11 -keycode 115 = F12 -keycode 116 = Console_1 -keycode 117 = Console_2 -keycode 118 = Console_3 -keycode 119 = -keycode 120 = Console_4 -keycode 121 = Console_5 -keycode 122 = Console_6 -keycode 123 = Console_7 -keycode 124 = Console_8 -keycode 125 = F21 -keycode 126 = F22 -keycode 127 = F23 - -# mom -string F1 = "\033[[A" -string F2 = "\033[[B" -string F3 = "\033[[C" -string F4 = "\033[[D" -string F5 = "\033[[E" -string F6 = "\033[17~" -string F7 = "\033[18~" -string F8 = "\033[19~" -string F9 = "\033[20~" -string F10 = "\033[21~" -string F11 = "\033[23~" -string F12 = "\033[24~" -string F13 = "\033[25~" -string F14 = "\033[26~" -string F15 = "\033[28~" -string F16 = "\033[29~" -string F17 = "\033[31~" -string F18 = "\033[32~" -string F19 = "\033[33~" -string F20 = "\033[34~" -string Find = "\033[1~" -string Insert = "\033[2~" -string Remove = "\033[3~" -string Select = "\033[4~" -string Prior = "\033[5~" -string Next = "\033[6~" -string F21 = "" -string F22 = "" -string F23 = "" -string F24 = "" -string F25 = "" -string F26 = "" - - diff --git a/docs/doc/cirrus.videomodes b/docs/doc/cirrus.videomodes deleted file mode 100644 index 2a83d4e3..00000000 --- a/docs/doc/cirrus.videomodes +++ /dev/null @@ -1,56 +0,0 @@ -Date: Wed, 23 Nov 1994 09:14:14 +0000 -From: iek@arrc.salf.ac.uk (Ian King) -To: aeb@cwi.nl -Subject: kbd 0.89, source of more fonts and cirrus logic mode database - -Firstly thanks for the current (0.89?) kbd package. The resize -program is great especially when combined with the kernel patch -on sunsite that provides extra vga modes ;-) I enclose the saved mode -files I have generated for my generic cirrus logic card at the bottom -of this file (boy do they compress well 22k to 650bytes ;-) You -mentioned collecting a database of files for various cards in the -resize.c source code, feel free to include these as they take a while -to generate and save, esp when you include the kernel rebuild. - -Obviously I cannot guarantee they will work, but they do for me. With -of course disclaimers about exploding monitors and VGA cards. - -Secondly, something you could mention in the consolefonts documentation -is that 200 more fonts are available from any simtel mirror. The file -.../whatever_simtel20/screen/fntcol16.zip which contains hundreds of public -domain PC fonts all that work with setfont directly with no conversion -required (you can even make a VC look like a windowless mac ;-) The only -problem is that the /usr/lib/kbd/consolefonts directory becomes a mess. -I have divided mine up into f16, f14, f12, ... f8 subdirectories to make -things easier. Fortunately all the files in fntcol16 have .f?? extensions -which makes things much easier. - -Ian - -------------------------------------------------------------------- -Modes included in cl-gd5428-vlb-generic.tar.gz - - 80x25 80x28 80x30 80x36 80x40 80x44 80x50 -132x25 132x28 132x30 132x36 132x40 132x44 132x50 132x60 - -begin 664 cl-gd5428-vlb-generic.tar.gz -M'XL("(;"SRX" W9I9&UO9&5S+G1A<@#MVCU/%$$ ^W %0:)2W#C<_KX4) N4G_SF=A"4/$H4&VB"QTJG -M7R04E^D38[AA,6<6>OA@X_9Z'+/U7F_C3[_WMY\?T=YO/MM\\>Y+Q%8FZM[' -M>?:V_JH3O?[\@8V,5L:.3?NM"Q/L -M\=VIQ1N=ZY/%@Z^"C;#S?NM$.V/_XO\G_ ^)?^V,?RDD+_P+ -M^+>Z_XO5VL2/;/]?8O]+YE\ZM/\JZ>^_AG^K^[\T'IRYA_TOI7_ISOY+$H5_ -M?/ZWN_]=SZ]M8?_+Z%^YL_]2)_WS/X=_J_X7//_$--[_E]&_=L8_$5<2_O_' -M^3_U?VH;Y_^RU>(#O_X_E'^C\_L_+?'^WTHW5U:?7GM2W/^?7,WW?S9Z\^DW -M_R%K5/?XCU/_=_;X#S/_:_O\-\'K2/AO.>2?N,[]$][_V?6_'(3G;N7W__!? -M+O^#OOX_S.=_GB2%_P3^+?HO[O]G[N?G_]F#SO\'^-^!_^'PKYWQ3T90OY,G+__Q_Z7R[]T:/]):5'XE_!O=?^7QH,FQ_Z7T;]TQC\98U3N -M7^']G_7]G^+8_Q+Z5^[L/Y$R_?U7\&_5_X+GG][&^W^$$$(((8000@@AA! : -+EGX!=[;,B0!0 #Z - -end - - - diff --git a/docs/doc/console.docs b/docs/doc/console.docs deleted file mode 100644 index d55633b8..00000000 --- a/docs/doc/console.docs +++ /dev/null @@ -1,394 +0,0 @@ -Path: cwi.nl!sun4nl!EU.net!news.sprintlink.net!sunic!sunic.sunet.se!news.funet.fi!news.helsinki.fi!usenet -From: Peter Jones -Newsgroups: comp.os.linux.announce -Subject: Linux Console Terminal Documentation -Followup-To: comp.os.linux.misc -Date: Sat, 30 Sep 95 16:37:05 GMT -Organization: ? -Lines: 331 -Approved: linux-announce@news.ornl.gov (Lars Wirzenius) -Message-ID: -NNTP-Posting-Host: kruuna.helsinki.fi -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit - ------BEGIN PGP SIGNED MESSAGE----- - -I thought I'd do "something" for the Linux community (apart from -co-authoring drealmBBS :-)). - -So, here's my first (and maybe only) issue of the Linux Console Driver -documentation. Anyone wanting to take this on as a support task, feel -free - I _really_ don't have time to keep up with new 1.3.x kernels. - -- -- Peter - -Linux Console Driver -==================== -==================== -(Everything you ever wanted to know but couldn't be bothered to look in the -source for.) - -Author: Peter L Jones -~Date: Wed Sep 27 19:12:25 BST 1995 -Kernel: 1.2.13 -Addendum for: 1.3.28 - - -General Processing -================== -I don't use UTF. I've only covered it to the extent I can fathom from the -source. - -I've not documented "hardware scrollback". - -In UTF mode, once a complete character is assembled, it is translated. - -Otherwise, the character then has its top bit set if requested and is then -translated. - -A glyph is to be displayed if - * we've assembled a complete UTF character - * we translated it okay - * it's not a control character, or we're displaying control - characters -Otherwise, it might be a control character. -Otherwise it's ignored. - - -Glyphs -====== -These are characters that make a mark on the display. - -You can never display the glyph for char(27) by transmitting ESC. - -You cannot display glyphs for any character in the Control Characters table, -unless enabled. - -If there is a "pending newline" - a crlf sequence is issued prior to the glyph. - -If we're in "insert mode", - the rest of the line is shifted right; the character in the - last column is lost. - -The glyph is then displayed. - -If the cursor is in the last column, - If automatic margins are turned on, - the "pending newline" state is set - otherwise, - the next glyph can overwrite this one. -Otherwise the cursor is advanced. - - -Control Characters -================== -Control characters can occur during ESCape sequence processing. - -^g bell - make a tone on the console speaker -^h bs - cursor to previous character (backspace) - (will not wrap to previous line) -^i tab - cursor to next tab position -^j ^k ^l lf - cursor to next line, scroll if end of scrolling region - (linefeed); if CRLF mode select, cr as well -^m cr - cursor to start of current line (carriage return) -^n charset 1, translate table G1, display control characters - as glyphs -^o charset 0, translate table G0, don't display control - characters as glyphs -{-- "charset" sets the current translate table; e.g. ^n sets charset -1, translate table G1, display control characters as glyphs - followed by -^[[10m would leave G1 in effect but disable display of control characters as -glyphs and display setting the top bit of glyphs --} - -^x ^z cancel any ESCape sequence in progress -^[ begin an ESCape sequence -^? "delete" - ignored -128+^[ begin a CSI sequence - - -ESCape Sequences -================ -^[[ begin a CSI sequence -^[% begin a UTF control sequence -^[( begin a set G0 sequence -^[) begin a set G1 sequence -^[# begin a DEC test sequence -^[E cr, lf -^[M ri - cursor up, reverse scroll if top of scrolling region - (reverse index) -^[D lf -^[H set tab in the current column -^[Z request for terminal ID (response is ^[[?6c - VT102) -^[7 store cursor position -^[8 restore cursor position -^[c reset terminal completely -^[> Keypad is numeric (normal) -^[= Keypad is application (act as function keys) - - -CSI sequences -============= - -There are two formats. Function keys are indicated by CSI [ and are dealt -with later. The general format is CSI (i.e. ^[[), zero to 16 parameters and -a character to indicate the function being performed. E.g ^[[1;43;37m. - -Missing parameters are defaulted. Screen co-ordinates and movements start -at and default to 1 (unless otherwise stated). Parameters are named par1, -par2 etc in the following descriptions. - -CSI h and CSI l can have an optional ? after the CSI and before any -parameters. This indicates "DEC Private" modes. {-- Other manufacturers -use different characters to select their private modes - Linux doesn't -support any but DEC. --} - -CSI h Set Mode sequence -CSI l Clear Mode sequence -CSI n Request report: - par1 = 5 - Status report: response is ^[[0n (terminal okay) - par1 = 6 - Cursor report: response is ^[[y;xR - where y is - relative if origin mode is selected -CSI A Cursor Up by par1 lines -CSI F Cursor Up by par1 lines, and to start of line -CSI B CSI e Cursor Down by par1 lines -CSI E Cursor Down by par1 lines, and to start of line -CSI C CSI a Cursor Right by par1 characters -CSI D Cursor Left by par1 characters -CSI d Set cursor vertical position to par1 -CSI G CSI ` Set cursor horizonal position to par1 -CSI H CSI f Set cursor vertical position to par2 and horizontal position - to par1 -CSI L Insert par1 lines -CSI M Delete par1 lines -CSI @ Insert par1 characters -CSI P Delete par1 characters -CSI X Erase par1 characters (wraps around line ends) -CSI J Screen Erase sequence: - par1 = 0 - erase from cursor to end of display - par1 = 1 - erase from start of display to cursor - par1 = 2 - erase whole display -CSI K Line Clear sequence: - par1 = 0 - erase from cursor to end of line - par1 = 1 - erase from start of line to cursor - par1 = 2 - erase whole line -CSI c If par1 = 0 (default), requests terminal ID - (response is ^[[?6c - VT102) -CSI g Clear tabs: - par1 = 0 - Clears tab at the current column - par1 = 3 - Clears all tabs -CSI q Set LEDs = par1 indicates which LED to turn on - - 0 - none, 1 - , 2 - , 3 - . -CSI r Set scrolling region - par1 - top, default and minimum 1, must be less than par2 - par2 - bottom, default and maximum end of display -CSI s Store cursor position -CSI u Restore cursor position -CSI m Character Rendition sequence -CSI ] setterm(1) command sequence - - -Set and Clear Mode Sequences -- ---------------------------- -CSI h sets modes; CSI l clears modes. There are two sets of modes - -ANSI standard and DEC private. - -ANSI modes: -3 Monitor (display control characters) -4 Insert -20 CRLF - -DEC modes: -1 Cursor keys as application keys (send ^[Ox as appl, ^[[x as normal) -3 80 (off) or 132 (on) columns -5 Inverse video -6 Origin mode (and go to origin) -7 Autowrap (right margin) -8 Autorepeat -9 Mouse reports #1 -25 Cursor visible -1000 Mouse reports #2 - - -Character Rendition Sequences -- ----------------------------- -Each parameter is actioned in order. You cannot get bright backgrounds -(rather, I can't). {-- On SVR4, attribute code 6 is used for bright -background, if I remember correctly --} - -0 default (intensity normal, underline off, blink off, normal video, - default colours (which start as white on black)) -1 intensity bold -2 intensity dim -4 underline on -5 blink on -7 reverse video -10 restore translate table, turn off display of control chars, don't - set the "top" bit of glyphs displayed -11 disable the translate table, display control chars as glyphs, don't - set the "top" bit of glyphs displayed -12 disable the translate table, display control chars as glyphs, - set the "top" bit of glyphs displayed -21 22 intensity normal -24 underline off -25 blink off -27 normal video -38 underline on, set foreground colour to default -39 underline off, set foreground colour to default -49 set background colour to default -30-37 set foreground colour (0-black, 1-red, 2-green, 3-brown, 4-blue, - 5-magenta, 6-cyan, 7-white) -40-47 set background colour - - -Setterm Commmand Sequences -- -------------------------- -The command is in par1, followed by parameters. - -1 Set underline colour - par2 is 0 to 15, which is 0 to 7 as above, - plus bold versions -2 Set dim colour - par2 as above -8 Store current attributes as defaults (so that CSI 0 m restores to - them) -9 Set blanking interval to par2 minutes (max one hour) - - -UTF Control Sequences -===================== -^[%@ Turn off UTF -^[%G ^[%8 Turn on UTF (^[%8 is deprecated) - - -G0/G1 Sequences -=============== -There are two character sets, known as G0 and G1. G0 is the default -character set. Each can be set to one of four mappings. The mappings, and -the sequences to select them, are: - - G0 G1 Map Name -- ---- ---- --- ---- -^[(B ^[)B 0 Normal Map (default G0 map) -^[(0 ^[)0 1 Graphics Map (default G1 map) -^[(U ^[)U 2 Null Map -^[(K ^[)K 3 User Map - -The maps themselves are defined in "consolemap.c". "Normal Map" translates -the standard IBM PC ROM character set to standard 8-bit ISO Latin-1. -"Graphics Map" translates to the VT100 character set in graphics mode. -"Null Map" passed the ROM characters straight through, except BS, CR, LF, -LL, SO, SI and ESC. "User Map" is available to be changed in the source or -by mapscrn(8). - - -DEC Test Sequences -================== -Only one test, ^[#8, is defined. This fills the display with the character -'E' to allow the display to be centred. - - -Addendum -======== -The console driver changed in 1.3.x. This documents the changes between -1.2.13 and 1.3.28. - -Each virtual console gains a palette, which defines the actual colours used -on the display (so you can get yellow rather than brown, for example). - -Font support is enhanced. - -In addition to ESC, some other control characters cannot have their glyphs -displayed - ^@ ^H ^J ^L ^M ^N ^O ^[. - -Hardware scrollback has been enhanced. - -The "Normal Map" has been renamed "Latin 1 Map" (LAT1_MAP). - -UTF support has been enhanced. - -(UTF mode can be used to display the excluded control characters - display -UTF character 0xF0cc, where cc is the hex code of the position in the ROM -character set to display.) - -A new set of Nonstandard Sequences is defined, prefixed by ESC ]. (setterm -commands are still CSI ].) - -Colour palette support is added. - -512 byte font support is added. - -Font height support allows the screen to resize to fit the font. - -Nonstandard Sequences -- --------------------- -^[]P Set palette - Seven parameters are collected - par1 is the palette element to redefine - par2, par3 set the red component - par4, par5 set the green component - par6, par7 set the blue component -^[]R Resets the default palette - - -- -- -Send comp.os.linux.announce submissions to: linux-announce@news.ornl.gov -PLEASE remember a short description of the software. - ------BEGIN PGP SIGNATURE----- -Version: 2.6.2i - -iQCVAwUBMG1wkYQRll5MupLRAQHZRgP+IdvvxOk6svo5Gum8wY31vtyILGYuadRU -rj84hrUAgvKZG3iaz+MOikx5PIcbxXA4LlfpPLkq9EfyT9sDJfEPYI8w+9I8bbvB -a0G1vpDCG8WbC+G3vwVMK0fnySFjhru4JaXHCTeagUzGLXVFqD4JhWbuXkhQH08f -9jt/ZgNgaB4= -=m2ca ------END PGP SIGNATURE----- - -Path: cwi.nl!sun4nl!EU.net!news.sprintlink.net!tank.news.pipex.net!pipex!dispatch.news.demon.net!demon!mail2news.demon.co.uk!drealm.demon.co.uk -From: Peter Jones -Newsgroups: comp.os.linux.misc -Subject: Re: Linux Console Terminal Documentation -Date: 30 Sep 1995 20:12:27 +0100 -Organization: drealm conference system +44 (0)181 568 2204 -Lines: 35 -Message-ID: <44k4qr$6aj@drealm.drealm.org> -References: -X-NNTP-Posting-Host: drealm.demon.co.uk -X-Newsreader: TIN [version 1.2 PL2] - -I (thanatos@drealm.org) wrote, in col-announce: -[chop chop] -: Nonstandard Sequences -: - --------------------- -: ^[]P Set palette -: Seven parameters are collected -: par1 is the palette element to redefine -: par2, par3 set the red component -: par4, par5 set the green component -: par6, par7 set the blue component -: ^[]R Resets the default palette - - -This should read (i.e. it makes sense...) like this: - -Nonstandard Sequences ---------------------- -^[]P Set palette - Seven hex digits should follow (0-9, a-f, A-F): - 1 is the palette element to redefine - 2*16 + 3 set the red component - 4*16 + 5 set the green component - 6*16 + 7 set the blue component -^[]R Resets the default palette - - -Hope that helps... - -(One day my "other" linux box (crash-n-burn...) will have colour...) - --- Peter --- -Drealm Conference System -- (+44) 181 568 2204 (V.FC) -The home of drealmBBS -------- six lines -- live chat - diff --git a/docs/doc/kbd.FAQ-1.html b/docs/doc/kbd.FAQ-1.html deleted file mode 100644 index 244a13d0..00000000 --- a/docs/doc/kbd.FAQ-1.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Useful programs - - - - - -Next -Previous -Contents -
-

1. Useful programs

- -

- - - - - - - -

The following packages contain keyboard or console related programs. -

kbd-1.06.tar.gz contains loadkeys, dumpkeys, showkey, -setmetamode, setleds, setfont, showconsolefont, -mapscrn, kbd_mode, kbdrate, loadunimap, chvt, -resizecons, deallocvt, getkeycodes, setkeycodes. -It also contains openvt, formerly called open. -

There exists a clone of the kbd package, namely console-tools, -that contains more or less the same stuff. The latest version, -console-tools-0.3.3 is roughly up-to-date with kbd-0.99. -

SVGATextMode-1.10 contains SVGATextMode, a program that -obsoletes resizecons. -

util-linux-2.11 contains setterm. -

sh-utils-1.12 contains stty. -

See also dynamic-vc-1.2.tar.gz and consd-1.3.tgz for -programs that exploit the `Keyboard Signal' key. Very primitive -versions are spawn_login or spawn_console found in the kbd package. -

See -font.tgz -for a package that handles console fonts. -

Packages like recode and konwert-1.8 allow one to convert -between different character encodings. -

-

The X distribution contains xmodmap, xset, kbd_mode. -(See also X386keybd(1) for the situation under XFree86 1.3, -and Xserver(1) for the XKEYBOARD extension under X11R6.) -A handy interface to xmodmap is xkeycaps, see -http://www.jwz.org/xkeycaps/. -

termcap-2.0.8.tar.gz contains termcap, an old terminal -capabilities data base. ncurses-1.9.9e.tar.gz contains the -termlib data base which obsoletes termcap. (However, -there are still many programs using termcap.) -

See loadkeys(1), setleds(1) and setmetamode(1) for the codes generated by the -various keys and the setting of leds when not under X. Under X, see xmodmap(1) -and xset(1). -

See setfont(8) for loading console fonts. Many people will want to -load a font like iso01.f16 because the default font is the -hardware font of the video card, and often is a `Code Page 437' font -missing accented characters and other Latin-1 symbols. -

See setterm(1) and kbdrate(8) for properties such as foreground and background -colors, screen blanking and character repeat rate when not under X. -Under X, see xset(1), also for key click and bell volume. -

The file /etc/termcap defines the escape sequences -used by many programs addressing the console (or any other terminal). -See termcap(5). -A more modern version is found in /usr/lib/terminfo. -See terminfo(5). Terminfo files are compiled -by the terminfo compiler /usr/lib/terminfo/tic, see tic(1). -Their contents can be examined using the program infocmp, -see infocmp(1). -

The Linux console sequences are documented in console_codes(4). -

The package funkey by Rick van Rein provides support -for all these new keys modern keyboards have. See -rick.vanrein.org/linux/funkey. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-10.html b/docs/doc/kbd.FAQ-10.html deleted file mode 100644 index f91fba64..00000000 --- a/docs/doc/kbd.FAQ-10.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: The keyboard LEDs - - - - - -Next -Previous -Contents -
-

10. The keyboard LEDs

- -

- - - -

1. There are per-tty keyboard flags: -each VC has its own NumLock, CapsLock, ScrollLock. -By default these keyboard flags are shown in the LEDs. -The usual way to change them is by pressing the corresponding key. -(Side remark: pressing the NumLock key when in application key mode -will not change the NumLock status, but produce an escape sequence. -If you want the NumLock key to always change the Numlock status, -bind it to Bare_Num_Lock.) -

2. Next, there are per-tty default keyboard flags, -to initialize the keyboard flags when a reset occurs. -Thus if you want NumLock on all the time, that is possible. -The usual way to change them is by `setleds -D ...'. -

3. There is the possibility that the leds do not reflect -the keyboard flags, but something else. -

3A. This something else can be three bits somewhere in the kernel - -which can be used if you want to monitor some hardware or software -status bit(s). If you want this, edit the kernel source to call -register_leds() somewhere. -

3B. This something else can also be whatever some user program wants -to show in the LEDs. Thus, people who like such things can make -nice patterns of lights. If you want this, use the KDSETLED ioctl. -

This latter use is not per-tty, but the choice between former -and latter use is per-tty. -

Summarizing: Each tty has a flag kbd->ledmode. -If this has the value LED_SHOW_FLAGS then the keyboard flags -(NumLock etc.) of that tty are shown. -If this has the value LED_SHOW_MEM then three selected memory -addresses are shown. -If this has the value LED_SHOW_IOCTL then the leds show whatever -value was last assigned to them using the KDSETLED ioctl. -

One may add that X uses ioctl's to set the LEDs, but fails -to reset its VT when it exits, so after using X there may -be one VT that is not in the default LED_SHOW_FLAGS state. -This can be fixed by doing `setleds -L' on that VT. -See setleds(1). -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-11.html b/docs/doc/kbd.FAQ-11.html deleted file mode 100644 index adb0ee8b..00000000 --- a/docs/doc/kbd.FAQ-11.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: The TERM variable - - - - - -Next -Previous -Contents -
-

11. The TERM variable

- -

- - - -

Many programs use the TERM variable and the database -/etc/termcap or /usr/lib/terminfo/* to decide -which strings to send for clear screen, move cursor, etc., -and sometimes also to decide which string is sent -by the users backspace key, function keys etc. -This value is first set by the kernel (for the console). -Usually, this variable is re-set by getty, using /etc/ttytype or -the argument specified in /etc/inittab. -Sometimes, it is also set in /etc/profile. -

Older systems use TERM=console or TERM=con80x25. Newer systems (with -ncurses 1.8.6) use the more specific TERM=linux or TERM=linux-80x25. -However, old versions of setterm test for TERM=con* and hence fail -to work with TERM=linux. -

Since kernel version 1.3.2, the kernel default for the console is -TERM=linux. -

If you have a termcap without entry for linux, add the word linux -to the entry for the console: -

-
-        console|con80x25|linux:\
-
-
- -and make /usr/lib/terminfo/l/linux a copy of or symbolic link to -/usr/lib/terminfo/c/console. -

-

11.1 Terminfo -

- -

- -

The terminfo entry for the linux console from ncurses 1.8.6 misses the -entry kich1=\E[2~, needed by some programs. -Edit the file and tic it. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-12.html b/docs/doc/kbd.FAQ-12.html deleted file mode 100644 index e9d9cce2..00000000 --- a/docs/doc/kbd.FAQ-12.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: How to make other programs work with non-ASCII chars - - - - - -Next -Previous -Contents -
-

12. How to make other programs work with non-ASCII chars

- -

- -

In the bad old days this used to be quite a hassle. Every separate -program had to be convinced individually to leave your bits alone. -Not that all is easy now, but recently a lot of gnu utilities have -learned to react to LC_CTYPE=iso_8859_1 or LC_CTYPE=iso-8859-1. -Try this first, and if it doesn't help look at the hints below. -Note that in recent versions of libc the routine setlocale() only -works if you have installed the locale files (e.g. in -/usr/lib/locale). -

NOTE! The above was written years ago. Today locale stuff is a bit different. -Try the command locale -a to see which locales are available. -Then use one of these locale names instead of the iso_8859-1 -mentioned above. For example, LC_CTYPE=fr_FR.ISO-8859-1 or -LC_CTYPE=fr_FR@euro. -

NOTE! Some of the below may still be true. Most of it is outdated. -(Please report on what is incorrect today, so that it can be deleted.) -

First of all, the 8-th bit should survive the kernel input processing, -so make sure to have stty cs8 -istrip -parenb set. -

A. For emacs the details strongly depend on the version. -The information below is for version 19.34. Put lines -

-
-        (set-input-mode nil nil 1)
-        (standard-display-european t)
-        (require 'iso-syntax)
-
-
- -into your $HOME/.emacs. -The first line (to be precise: the final 1) -tells emacs not to discard the 8-th bit from input characters. -The second line tells emacs not to display non-ASCII characters -as octal escapes. -The third line specifies the syntactic properties -and case conversion table for the Latin-1 character set -These last two lines are superfluous if you have something like -LC_CTYPE=ISO-8859-1 in your environment. -(The variable may also be LC_ALL or even LANG. -The value may be anything with a substring `88591' or `8859-1' -or `8859_1'.) -

This is a good start. -On a terminal that cannot display non-ASCII ISO 8859-1 symbols, -the command -

-
-        (load-library "iso-ascii")
-
-
- -will cause accented characters to be displayed comme {,c}a. -If your keymap does not make it easy to produce non-ASCII characters, -then -
-
-        (load-library "iso-transl")
-
-
- -will make the 2-character sequence Ctrl-X 8 a compose character, -so that the 4-character sequence Ctrl-X 8 , c produces c-cedilla. -Very inconvenient. -

The command -

-
-        (iso-accents-mode)
-
-
- -will toggle ISO-8859-1 accent mode, in which the six -characters ', `, ", ^, ~, / are dead keys -modifying the following symbol. -Special combinations: ~c gives a c with cedilla, -~d gives an Icelandic eth, ~t gives an Icelandic thorn, -"s gives German sharp s, /a gives a with ring, -/e gives an a-e ligature, ~< and ~> give guillemots, -~! gives an inverted exclamation mark, -~? gives an inverted question mark, and '' gives an acute accent. -This is the default mapping of accents. -The variable iso-languages is a list of pairs (language name, -accent mapping), and a non-default mapping can be selected using -
-
-        (iso-accents-customize LANGUAGE)
-
-
- -Here LANGUAGE can be one of "portuguese", "irish", -"french", "latin-2", "latin-1". -

Since the Linux default compose character is Ctrl-. -it might be convenient to use that everywhere. Try -

-
-        (load-library "iso-insert.el")
-        (define-key global-map [?\C-.] 8859-1-map)
-
-
- -The latter line will not work under xterm, if you use emacs -nw, -but in that case you can put -
-
-        XTerm*VT100.Translations:       #override\n\
-              Ctrl <KeyPress> . : string("\0308")
-
-
- -in your .Xresources.) -

B. For less, put LESSCHARSET=latin1 in the environment. -This is also what you need if you see \255 or <AD> -in man output: some versions of less will render the soft hyphen -(octal 0255, hex 0xAD) this way when not given permission to output Latin-1. -

C. For ls, give the option -N. (Probably you want to make an alias.) -

D. For bash (version 1.13.*), put -

-
-        set meta-flag on
-        set convert-meta off
-        set output-meta on
-
-
- -into your $HOME/.inputrc. -

E. For tcsh, use -

-
-        setenv LANG     en_US
-        setenv LC_CTYPE iso_8859_1
-
-
- -If you have nls on your system, then the corresponding routines are used. -Otherwise tcsh will assume iso_8859_1, regardless of the values given to -LANG and LC_CTYPE. See the section NATIVE LANGUAGE SYSTEM in tcsh(1). -(The Danish HOWTO says: setenv LC_CTYPE ISO-8859-1; stty pass8) -

F. For flex, give the option -8 if the parser it generates must be -able to handle 8-bit input. (Of course it must.) -

G. For elm, set displaycharset to ISO-8859-1. -(Danish HOWTO: LANG=C and LC_CTYPE=ISO-8859-1) -

H. For programs using curses (such as lynx) David Sibley reports: -The regular curses package uses the high-order bit for reverse video mode -(see flag _STANDOUT defined in /usr/include/curses.h). However, -ncurses seems to be 8-bit clean and does display iso-latin-8859-1 -correctly. -

I. For programs using groff (such as man), make sure to use --Tlatin1 instead of -Tascii. Old versions of the program man -also use col, and the next point also applies. -

K. For rlogin, use option -8. -

L. For joe, -metalab.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz -is said to work after editing the configuration file. Someone else said: -joe: Put the -asis option in /isr/lib/joerc in the -first column. -

M. For LaTeX: \documentstyle[isolatin]{article}. -For LaTeX2e: \documentclass{article}\usepackage{isolatin} -where isolatin.sty is available from -ftp.vlsivie.tuwien.ac.at/pub/8bit. -

A nice discussion on the topic of ISO-8859-1 and how to manage 8-bit -characters is contained in the file grasp.insa-lyon.fr:/pub/faq/fr/accents -(in French). Another fine discussion (in English) can be found in -rtfm.mit.edu:pub/usenet-by-group/comp.answers/internationalization/iso-8859-1-charset. -

If you need to fix a program that behaves badly with 8-bit characters, -one thing to keep in mind is that if you have a signed char type then -characters may be negative, and using them as an array index will fail. -Several programs can be fixed by judiciously adding (unsigned char) casts. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-13.html b/docs/doc/kbd.FAQ-13.html deleted file mode 100644 index b0e63f35..00000000 --- a/docs/doc/kbd.FAQ-13.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: X - - - - - -Next -Previous -Contents -
-

13. X

- -

-

This FAQ/HOWTO is about the Linux keyboard and console, not about X, -which substitutes its own handling. However, it seems useful to -document some of the Linux keyboard and console related properties -of X. -

First of all, when X is started (say using startx or xinit) -it opens the first unused console, unless the desired console has been -indicated explicitly, as in xinit -- vt12. -Note that this will fail when there is no device file /dev/tty12, -but that it will not fail when the indicated console was in use already. -When X finishes, it will return to the original console. -While it is running one can use Ctrl-Alt-Fn to switch to VTn. -

The XFree86 keymap mechanism is much poorer than the Linux mechanism. -For each keycode there are at most 4 symbols defined, namely for the -4 keymaps plain, shift, mod, mod+shift. What is the modifier mod? -It is the one designated by the symbol Mode_switch. -For example, the command xmodmap keys.dk, where the file -keys.dk contains -

-
-keycode 64 = Mode_switch
-keycode 113 = Mode_switch
-keycode 38 = a A aring Aring
-keycode 26 = e E ae AE
-keycode 32 = o O oslash Ooblique
-
-
- -will make both Alt keys into mod keys, so that Alt+a gives (a-ring), etc. -(Note the illogical naming of oslash and Ooblique.) -Such an xmodmap command can be placed in the .xinitrc -shell script that is executed by default when X is started. -

-

13.1 What precisely does XFree86-2.1 do when it initializes its keymap? -

- -

- - - -

Since version 2.1, XFree86 will initialize its keymap from the Linux keymap, -as far as possible. However, Linux had 16 entries per key (one for each -combination of the Shift, AltGr, Ctrl, Alt modifiers) and presently has -256 entries per key, while X has 4 entries per key (one for each combination -of Shift, Mod), so some information is necessarily lost. -

First X reads the Xconfig file, where definitions of the LeftAlt, RightAlt, -RightCtl, ScrollLock keys as Meta, ModeShift, Compose, ModeLock or ScrollLock -might be found - see X386keybd(1), later XFree86kbd(1). -

For Mod the LeftAlt key is taken, unless RightCtl was defined as ModeShift or -ModeLock, in which case RightCtl is taken, or RightAlt was so defined, in which -case RightAlt is taken. -This determines how the 4 XFree86 meanings of a key are selected from the 16 -Linux meanings. -Note that Linux today does not distinguish by default between the two Ctrl keys -or between the two Shift keys. X does distinguish. -

Now the kernel keymap is read and the usually obvious corresponding X -bindings are made. The bindings for the "action keys" Show_Memory, Show_State, -Show_Registers, Last_Console, Console_n, Scroll_Backward, Scroll_Forward, -Caps_On and Boot are ignored, as are the dead diacriticals, and the locks -(except for ShiftLock), and the "ASCII-x" keys. -

Next, the definitions in the Xconfig file are used. (Thus, a definition -of Compose in Xconfig will override its value as found in the Linux -keymap.) -

What happens to the strings associated with the function keys? Nothing, -X does not have such a concept. (But it is possible to define strings -for function keys in xterm - note however that the window manager gets the -keys first.) -

I don't know how to convince xterm that it should use the X keymap -when Alt is pressed; it seems just to look at its resource eightBitInput, -and depending on whether that is true or false either set the high order bit -of the character, or generate an additional Escape character -(just like setmetamode(1) does for the console). -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-14.html b/docs/doc/kbd.FAQ-14.html deleted file mode 100644 index a3969650..00000000 --- a/docs/doc/kbd.FAQ-14.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Unusual keys and keyboards - - - - - -Next -Previous -Contents -
-

14. Unusual keys and keyboards

- -

- - - -

The two keys PrintScrn/SysRq and Pause/Break are special in that they -have two keycodes: the former has keycode 84 when Alt is pressed -simultaneously, and keycode 99 otherwise; the latter has keycode -101 when Ctrl is pressed simultaneously, and keycode 119 otherwise. -(Thus, it makes no sense to bind functions to Alt keycode 99 or -Ctrl keycode 119.) The Pause/Break key is also special in another way: -it does not generate key-up scancodes, but generates the entire -6-scancode sequence on key-down. -

If you have strange keys, that do not generate any code under Linux -(or generate messages like "unrecognized scancode"), and your kernel -is 1.1.63 or later, then you can use setkeycodes(1) to tell the kernel -about them. Once they have gotten a keycode from setkeycodes, -they can be assigned a function by loadkeys. -

For example, using showkey -s one sees that Microsoft keyboards -use the scancode sequences (in hexadecimal) e0 5b (left Windows key), -e0 5c (right Windows key), e0 5d (Menu key). -Microsoft Internet keyboard also uses e0 6a (Back), e0 69 (Forward), -e0 68 (Stop), e0 6c (Mail), e0 65 (Search), e0 66 (Favorites), -e0 32 (Web/Home), e0 6b (My Computer), e0 21 (Calculator), e0 5f (Sleep). -Use dumpkeys to see what keycodes are still unused. -Typically values like 89-95 and 112-118 and 120-127 are free. -Now -

-
-        % setkeycodes e05b 125
-        % setkeycodes e05c 126
-        % setkeycodes e05d 127
-
-
- -assigns keycodes to these scancode sequences, and -
-
-        % loadkeys
-        keycode 125 = Decr_Console
-        keycode 126 = Incr_Console
-        keycode 127 = KeyboardSignal
-        %
-
-
- -would make these Windows keys go to the previous or next virtual console, -and let the Menu key create a fresh virtual console (in case you have -something like spawn_console running). -

-

14.1 Funkeys -

- -

Many modern keyboards have buttons or keys with labels like -"Vol Up", "Eject" etc. that suggest actions rather than strings. -Of course one can bind shell commands to them, but then they'll -work only when you are at a shell prompt. -Rick van Rein wrote a package funkey consisting of a kernel patch -and a daemon. The kernel patch creates a new character device, -and adds a new key type to indicate which keystrokes should be -sent to this new character device. A daemon can now listen to -the character device, somewhat like gpm listens to the -mouse device, and perform the actions indicated in its config file. -See -rick.vanrein.org/linux/funkey. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-15.html b/docs/doc/kbd.FAQ-15.html deleted file mode 100644 index be942180..00000000 --- a/docs/doc/kbd.FAQ-15.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Examples of use of loadkeys and xmodmap - - - - - -Next -Previous -Contents -
-

15. Examples of use of loadkeys and xmodmap

- -

- - - -

Switching Caps Lock and Control on the keyboard (assuming you use -keymaps 0-15; check with dumpkeys | head -1) -

-
-        % loadkeys
-        keymaps 0-15
-        keycode 58 = Control
-        keycode 29 = Caps_Lock
-        %
-
-
- -Switching them under X only: -
-
-        % xmodmap .xmodmaprc
-
-
- -where .xmodmaprc contains lines -
-
-        remove Lock = Caps_Lock
-        remove Control = Control_L
-        keysym Control_L = Caps_Lock
-        keysym Caps_Lock = Control_L
-        add Lock = Caps_Lock
-        add Control = Control_L
-
-
- -What is this about the key numbering? Backspace is 14 under Linux, -22 under X? Well, the numbering can best be regarded as arbitrary; -the Linux number of a key can be found using showkey(1), and the -X number using xev(1). Often the X number will be 8 more than the -Linux number. -

Something else people like to change are the bindings of the function keys. -Suppose that you want to make F12 produce the string "emacs ". -Then -

-
-        % loadkeys
-        keycode 88 = F12
-        string F12 = "emacs "
-        %
-
-
- -will do this. More explicitly, the procedure is like this: -(i) find the keycodes of the keys to be remapped, using showkey(1). -(ii) save the current keymap, make a copy and edit that: -
-
-        % dumpkeys > my_keymap
-        % cp my_keymap trial_keymap
-        % emacs trial_keymap
-        % loadkeys trial_keymap
-        %
-
-
- -The format of the table can be guessed by looking at the output -of dumpkeys, and is documented in keymaps(5). -When the new keymap functions as desired, you can put an invocation -
-
-        loadkeys my_new_keymap
-
-
- -in /etc/rc.local or so, to execute it automatically at boot-up. -Note that changing modifier keys is tricky, and a newbie can easily -get into a situation only an expert can get out of. -

The default directory for keymaps is /usr/lib/kbd/keymaps. -The default extension for keymaps is .map. -For example, loadkeys uk would probably load -/usr/lib/kbd/keymaps/i386/qwerty/uk.map. -(With kbd-0.95 and older this would be /usr/lib/kbd/keytables -and /usr/lib/kbd/keytables/uk.map.) -

-

(On my machine) /dev/console is a symbolic link to /dev/tty0, -and the kernel regards /dev/tty0 as a synonym for the current VT. -XFree86 1.3 changes the owner of /dev/tty0, but does not reset this -after finishing. Thus, loadkeys or dumpkeys might fail because -someone else owns /dev/tty0; -in such a case you might run X first. -Note that you cannot change keyboard mappings when not at the console -(and not superuser). -

-

15.1 `I can use only one finger to type with' -

- -

- -

"Can the Shift, Ctrl and Alt keys be made to behave as toggles?" -

Yes, after saying -

-
-        % loadkeys
-        keymaps 0-15
-        keycode 29 = Control_Lock
-        keycode 42 = Shift_Lock
-        keycode 56 = Alt_Lock
-        %
-
-
- -the left Control, Shift and Alt keys will act as toggles. -The numbers involved are revealed by showkey -(and usually are 29, 97, 42, 54, 56, 100 for left and right control, -shift and alt, respectively), and the functions are -Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock. -

"What about `sticky' modifier keys?" -

Since version 1.3.33, the kernel knows about `sticky' modifier keys. -These act on the next key pressed. So, where one earlier needed -the 3-symbol sequence Shift_Lock a Shift_Lock to type `A', one -can now use the 2-symbol sequence SShift a. -You can say -

-
-        % loadkeys
-        keymaps 0-15
-        keycode 54 = SShift
-        keycode 97 = SCtrl
-        keycode 100 = SAlt
-        %
-
-
- -to make the right Shift, Ctrl, Alt sticky versions of the left ones. -This will allow you to type Ctrl-Alt-Del in three keystrokes with one hand. -

The keymaps line in these examples should cover all keymaps you have in use. -You find what keymaps you have in use by -

-
-        % dumpkeys | head -1
-
-
-

-

-

15.2 Sticky keys under X -

- -

The following text was contributed by Piotr Mitros. -

XFree86 supports an accessibility option which allows disabled users -to type single-handed. With sticky keys enabled, the user can hit a -modifier key (ctrl, alt, shift) followed by another key, rather than -having to hold the modifier key while hitting the letter. -

To enable sticky keys, first make sure the xkb extension is enabled -(this is done during initial X server configuration and is usually -enabled by default). Next, run the X server with the +accessx -option. If you use startx, either run startx -- +accessx or -add +accessx to the serverargs line in the startx script. -If you use xdm, add +accessx to the appropriate server line -in /etc/X11/xdm/Xservers. -

It is also possible to enable X accessibility with some end-user -utilities with a running X server. -

Once X accessibility is enabled, press the shift key five times in a -row to enable sticky keys. To disable sticky keys, either press the -shift key five times again, or press a key while holding a modifier -key. -

XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an -audible bell. xkbcomp can be used to generate a .xkm file -to enable these. The appropriate xkbcomp commands are listed in -/usr/X11R6/lib/X11/xkb/compat/accessx. -Unfortunately, the exact process is still undocumented. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-16.html b/docs/doc/kbd.FAQ-16.html deleted file mode 100644 index a072f330..00000000 --- a/docs/doc/kbd.FAQ-16.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Changing the video mode - - - - - -Next -Previous -Contents -
-

16. Changing the video mode

- -

- - - - - -

As far as I know there are 6 ways to change resolution: -

1. At compile time: change the line -

-
-        SVGA_MODE=      -DSVGA_MODE=NORMAL_VGA
-
-
- -in /usr/src/linux/Makefile. -

1A. After compilation: use rdev -v - a terrible hack, but it exists. -

2. At boot time: put vga=ask in the lilo config file, and lilo will -ask you what video mode you want. Once you know, put vga=mypreference. -

3. At run time: -A. Use the resizecons command. (This is a very primitive wrapper around -the VT_RESIZE ioctl.) -B. Use the SVGATextMode command. (This is a less primitive wrapper around -the VT_RESIZE ioctl.) -

4. Not "on the console": -Under dosemu, or with svgalib etc. you can change the hardware video mode -without the console driver being aware of it. Sometimes this is useful in -getting resizecons or SVGATextMode set up: use dosemu and some -DOS program to get into the desired videomode, dump (say from another VT) the -contents of all video hardware registers, and use that in the initialization -that resizecons and SVGATextMode require. -In some cases where the video mode has gotten into some unusable state, -starting dosemu, relying on the BIOS to set up the video mode, and then -killing dosemu (with kill -9), is the easiest way to get into shape -again. -

-

16.1 Instructions for the use of resizecons -

- -

- -

Get svgalib and compile the program restoretextmode. -Boot up your machine in all possible video modes -(using vga=ask in the lilo config file), and write -the video hardware register contents to files CxR -(C=cols, R=rows), e.g., 80x25, 132x44, etc. -Put these files in /usr/lib/kbd/videomodes. -Now resizecons 132x44 will change videomode for you -(and send SIGWINCH to all processes that need to know -about this, and load another font if necessary). -

At present, resizecons only succeeds when there is memory enough -for both the old and the new consoles at the same time. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-17.html b/docs/doc/kbd.FAQ-17.html deleted file mode 100644 index d07026d0..00000000 --- a/docs/doc/kbd.FAQ-17.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Changing the keyboard repeat rate - - - - - -Next -Previous -Contents -
-

17. Changing the keyboard repeat rate

- -

- -

At startup, the Linux kernel sets the repeat rate to its maximal value. -For most keyboards this is reasonable, but for some it means that you -can hardly touch a key without getting three copies of the corresponding -symbol. Use the program kbdrate(8) to change the repeat rate, or, if -that doesn't help, edit or remove the section -


-
-     ! set the keyboard repeat rate to the max
-
-         mov     ax,#0x0305
-         xor     bx,bx           ! clear bx
-         int     0x16
-
-
- -of /usr/src/linux/[arch/i386/]boot/setup.S. -

Scott Johnston (sj@zule.com) reports: `To program the -repeat rate of a Gateway AnyKey keyboard all one has to do -is press the "Repeat Rate" key, then a function key -F1-F8, then "Repeat Rate" again. F1 is the slowest possible repeat rate, -and F8 is really fast. If you somehow manage to mess up your AnyKey -keyboard doing this, simply press Ctrl-Alt-SuspndMacro to reset -your keyboard to factory default settings.' -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-18.html b/docs/doc/kbd.FAQ-18.html deleted file mode 100644 index 3dadaa54..00000000 --- a/docs/doc/kbd.FAQ-18.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Scrolling - - - - - -Next -Previous -Contents -
-

18. Scrolling

- -

- - - -

There are two ways to get a screen to scroll. -The first, called `hard scrolling', is to leave the text in -video memory as it is, but change the viewing origin. This is -very fast. -The second, called `soft scrolling', involves moving all screen text -up or down. This is much slower. -The kernel console driver will write text starting at the top of -the video memory, continuing to the bottom, then copy the bottom -part to the top again, and continue, all the time using hard scrolling -to show the right part on the screen. -You can scroll back until the top op the video memory by using -Shift-PageUp (the grey PageUp) and scroll down again using -Shift-PageDown (the grey PageDown), assuming a default keymap. -The amount of scrollback is thus limited to the amount of video memory -you happen to have and you cannot increase this amount. -If you need more scrollback, use some program that -buffers the text, like less or screen - by using -a buffer on disk you can go back to what you did last week. -(One can set the amount of scrollback for xterm by -adding a line like XTerm*saveLines: 2500 in .Xresources.) -

Upon changing virtual consoles, the screen content of the old VT -is copied to kernel memory, and the screen content of the new VT -is copied from kernel memory to video memory. Only the visible screen -is copied, not all of video memory, so switching consoles means -losing the scrollback information. -

Sometimes, hard scrolling is undesirable, for example when the hardware -does not have the possibility to change viewing origin. The first -example was a Braille machine that would render the top of video -memory in Braille. There is a kernel boot-time option no-scroll -to tell the console driver not to use hard scrolling. -See bootparam(7). -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-19.html b/docs/doc/kbd.FAQ-19.html deleted file mode 100644 index b744f8c2..00000000 --- a/docs/doc/kbd.FAQ-19.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Screensaving - - - - - -Next -Previous -Contents -
-

19. Screensaving

- -

- - - -

setterm -blank nn will tell the console driver to blank the -screen after nn minutes of inactivity. (With nn = 0, screensaving -is turned off. In some old kernels this first took effect after the next -keyboard interrupt.) -

The s option of xset(1) will set the X screensaving parameters: -xset s off turns off the screensaver, -xset s 10 blanks the screen after 10 minutes. -

The video hardware powersaving modes can be enabled/disabled -using the setvesablank program given in the starting comment of -/usr/src/linux/drivers/char/vesa_blank.c. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-2.html b/docs/doc/kbd.FAQ-2.html deleted file mode 100644 index 41c6bc2f..00000000 --- a/docs/doc/kbd.FAQ-2.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Keyboard generalities - - - - - -Next -Previous -Contents -
-

2. Keyboard generalities

- -

- -

You press a key, and the keyboard controller sends -scancodes -to the kernel keyboard driver. Some keyboards can be programmed, -but usually the scancodes corresponding to your keys are fixed. -The kernel keyboard driver just transmits whatever it receives -to the application program when it is in scancode mode, -like when X is running. Otherwise, it parses the stream of scancodes -into keycodes, corresponding to key press or key release events. -(A single key press can generate up to 6 scancodes.) -These keycodes are transmitted to the application program when it is -in keycode mode (as used, for example, by showkey -and some X servers). -Otherwise, these keycodes are looked up in the keymap, and the character -or string found there is transmitted to the application, or the action -described there is performed. -(For example, if one presses and releases the a key, then the keyboard -produces scancodes 0x1e and 0x9e, this is converted to keycodes 30 and 158, -and then transmitted as 0141, the ASCII or latin-1 code for `a'; -if one presses and releases Delete, then the keyboard produces scancodes -0xe0 0x53 0xe0 0xd3, these are converted to keycodes 111 and 239, and then -transmitted as the 4-symbol sequence ESC [ 3 ~, all assuming -a US keyboard and a default keymap. An example of a key combination to which -an action is assigned is Ctrl-Alt-Del.) -

The translation between unusual scancodes and keycodes can be set using the -utility setkeycodes - only few people will need it. -The translation between keycodes and characters or strings or actions, that is, -the keymap, is set using the utilities loadkeys and setmetamode. -For details, see getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1), -setmetamode(1). The format of the files output by dumpkeys and read -by loadkeys is described in keymaps(5). -

Where it says `transmitted to the application' in the above description, -this really means `transmitted to the terminal driver'. That is, further -processing is just like that of text that comes in over a serial line. -The details of this processing are set by the program stty. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-20.html b/docs/doc/kbd.FAQ-20.html deleted file mode 100644 index 37630b5d..00000000 --- a/docs/doc/kbd.FAQ-20.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Screen dumps - - - - - -Next -Previous -Contents -
-

20. Screen dumps

- -

- - - -

setterm -dump N will dump the contents of the -screen of /dev/ttyN to a file screen.dump -in the current directory. See setterm(1). -

The current contents of the screen of /dev/ttyN -can be accessed using the device /dev/vcsN -(where `vcs' stands for `virtual console screen'). -For example, you could have a clock program that displays the -current time in the upper right hand corner of the console screen -(see the program vcstime in kbd-1.04.tar.gz). -Just dumping the contents goes with cat /dev/vcsN. -These device files /dev/vcsN do not contain -newlines, and do not contain attributes, like colors. From a program -it is usually better to use /dev/vcsaN -(`virtual console screen with attributes') instead - it starts with -a header giving the number of rows and columns and the location -of the cursor. -See vcs(4). -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-21.html b/docs/doc/kbd.FAQ-21.html deleted file mode 100644 index 6234f044..00000000 --- a/docs/doc/kbd.FAQ-21.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Some properties of the VT100 - application key mode - - - - - -Next -Previous -Contents -
-

21. Some properties of the VT100 - application key mode

- -

- - - -

: Sometimes my cursor keys or keypad keys produce strange codes? -

When the terminal is in application cursor key mode the cursor keys -produce Esc O x and otherwise Esc [ x where x is one of A,B,C,D. -Certain programs put the terminal in application cursor key mode; -if you kill them with kill -9, or if they crash, then the mode will -not be reset. -

-        % echo -e '\033c'  
-
- -resets all properties of the current VC. Just changing the cursor -application key mode is done by -
-        % echo -e '\033[?1h' 
-
- -(set) and -
-        % echo -e '\033[?1l' 
-
- -(clear). -

When the terminal is in application keypad key mode the keypad keys -produce Esc O y and otherwise Esc [ z ~ for -certain y and z. Setting application keypad key mode is done by -

-        % echo -e '\033=' 
-
- -and -
-        % echo -e '\033>' 
-
- -clears it again. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-22.html b/docs/doc/kbd.FAQ-22.html deleted file mode 100644 index 6b4324ef..00000000 --- a/docs/doc/kbd.FAQ-22.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Hardware incompatibility - - - - - -Next -Previous -Contents -
-

22. Hardware incompatibility

- -

- - - -

Several people have noticed that they lose typed characters when -a floppy disk is active. It seems that this might be a problem with -Uni-486WB motherboards. -

Tjalling Tjalkens (tjalling@ei.ele.tue.nl) reports very similar problems -with "a no-brand GMB-486 UNP Vesa motherboard with AMD 486DX2-66 CPU" - -during floppy activity some keystrokes are lost, during floppy tape streamer -(Conner C 250 MQ) activity many keystrokes are lost. -

Some people experience sporadic lockups - sometimes associated to -hard disk activity or other I/O. -

Ulf Tietz (ulf@rio70.bln.sni.de) wrote: -`I have had the same problems, when I had my motherboard tuned too fast. -So I reset all the timings ( CLK, wait statements etc ) to more -conventional values, and the problems are gone.' -

Bill Hogan (bhogan@crl.com) wrote: -`If you have an AMI BIOS, you might try setting the Gate A20 emulation -parameter to "chipset" (if you have that option). Whenever I have had -that parameter set to any of the other options on my machine -("fast", "both", "disabled") I have had frequent keyboard lockups.' -

There may be a relation between keyboard problems and the video card in use. -

Shawn K. Quinn (skquinn@wt.net) wrote: -`I have a Zeos Pantera Pentium-90 that originally came with a Diamond Stealth -64 S3-based video card. Under X I frequently got q's inserted into my text -(how annoying) especially if I typed very fast (during Netrek for instance, -even more annoying because guess what that does :-( ). -Switching to a Creative Labs Graphics Blaster MA202 solved the problem. -I'm assuming the Stealth 64 did something funny with the timings.' -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-23.html b/docs/doc/kbd.FAQ-23.html deleted file mode 100644 index c32fa0cf..00000000 --- a/docs/doc/kbd.FAQ-23.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Copyright - - - - -Next -Previous -Contents -
-

23. Copyright

- -

Copyright (c) 1993-2001 by Andries Brouwer. This document may be -distributed under the terms set forth in the LDP license -at -http://metalab.unc.edu/LDP/COPYRIGHT.html or -ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt. -

Additions and corrections are welcome. -Andries Brouwer - aeb@cwi.nl -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-3.html b/docs/doc/kbd.FAQ-3.html deleted file mode 100644 index 98afc4c7..00000000 --- a/docs/doc/kbd.FAQ-3.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Console generalities - - - - - -Next -Previous -Contents -
-

3. Console generalities

- -

- -

Conversely, when you output something to the console, it first undergoes -the standard tty processing, and then is fed to the console driver. -The console driver emulates a VT100, and parses the input in order to -recognize VT100 escape sequences (for cursor movement, clear screen, etc.). -The characters that are not part of an escape sequence are first converted -into Unicode, using one of four mapping tables if the console was not -in UTF-8 mode to start with, then looked up in the table describing -the correspondence between Unicode values and font positions, -and the obtained 8- or 9-bit font indices are then written to video memory, -where they cause the display of character shapes found in the video card's -character ROM. -One can load one's own fonts into character ROM using setfont. -The obsolete programs loadunimap and mapscrn can be used -to manipulate the Unicode map belonging to the font, or the mapping -table of the console. More details will be given below. -

There are many consoles (called Virtual Consoles or -Virtual Terminals, abbreviated VCs or VTs) that share the same -screen. You can use them as independent devices, either to run -indendent login sessions, or just to send some output to, perhaps -from top, or the tail of the system log or so. -See below (`Console switching') on how to set them up and -switch between them. -

-

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-4.html b/docs/doc/kbd.FAQ-4.html deleted file mode 100644 index 373db6b8..00000000 --- a/docs/doc/kbd.FAQ-4.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Resetting your terminal - - - - - -Next -Previous -Contents -
-

4. Resetting your terminal

- -

- - - - - -

There is garbage on the screen, or all your keystrokes are echoed -as line drawing characters. What to do? -

Many programs will redraw the screen when Ctrl-L is typed. This might -help when there is some modem noise or broadcast message on your screen. -The command clear will clear the screen. -

The command reset will reset the console driver. This helps when -the screen is full of funny graphic characters, and also if it is -reduced to the bottom line. If you don't have this command, or if it -does something else, make your own by putting the following two lines -in an executable file reset in your PATH: -

-
-        #!/bin/sh
-        echo -e \\033c
-
-
- -that is, you want to send the two characters ESC c to the console. -

Why is it that the display sometimes gets confused and gives you -a 24-line or 1-line screen, instead of the usual 25 lines? -Well, the main culprit is the use of TERM=vt100 (or some other -entry with 24 lines) instead of TERM=linux when logged in remotely. -If this happens on /dev/tty2 then typing -

-
-        % cat > /dev/tty2
-        ^[c
-        ^D
-
-
- -on some other VT (where 4 symbols are typed to cat: ESC, c, ENTER, -Ctrl-D) and refreshing the screen on /dev/tty2 -(perhaps using Ctrl-L) will fix things. Of course the permanent fix -is to use the right termcap or terminfo entry. -A command that only changes the number of lines is -
-
-        % echo -e "\033[1;25r"
-
-
-

Why is it that you sometimes get a lot of line-drawing characters, -e.g., after catting a binary to the screen? -Well, there are various character set changing escape sequences, -and by accident your binary might contain some of these. -The ESC c is a general reset, a cure for all, but if you know -precisely what went wrong you can repair it without resetting -other console attributes. For example, after -

-
-        % cat
-        ^N
-        ^D
-
-
- -your shell prompt will be all line-drawing characters. -Now do (typing blindly) -
-
-        % cat
-        ^O
-        ^D
-
-
- -and all is well again. (Three symbols typed to each cat: -Ctrl-N (or Ctrl-O), ENTER, Ctrl-D.) To understand what is happening, -see `The console character sets' below. -

If you loaded some strange font, and want to return to the default, -

-
-        % setfont
-
-
- -will do (provided you stored the default font in the default place). -If this default font does not contain an embedded Unicode map (and -gives the wrong symbols for accented characters), then say -
-
-        % loadunimap
-
-
- -For example, if I do -
-
-        % loadkeys de-latin1
-
-
- -then I have a German keyboard, and the key left of the Enter key -gives me a-umlaut. This works, because the a-umlaut occurs -on the CP437 code page and the kernel Unicode map is initialized -to CP437, and my video card has a CP437 font built-in. -If I now load an ISO 8859-1 font with -
-
-        % setfont iso01.f16
-
-
- -then everything still works, because setfont invalidates the kernel -Unicode map (if there is no Unicode map attached to the font), and without -map the kernel goes directly to the font, and that is precisely correct -for an ISO 8859-1 system with iso01.f16 font. -But going back to the previous font with -
-
-        % setfont
-
-
- -gives capital Sigma's instead of a-umlaut - all accented letters -are mixed up because also this font has no embedded Unicode map. After -
-
-        % loadunimap
-
-
- -which loads the default Unicode map (which is right for the default -font) all works correctly again. Usually loadunimap is not -invoked directly, but via setfont. Thus, the previous two -commands may be replaced by -
-
-        % setfont -u def
-
-
- -These days most fonts have embedded Unicode maps (often this is -indicated by the extension .psfu), and none of this nonsense -is needed anymore. -

On very old terminals output involving tabs may require a delay, -and you have to say -

-
-        % stty tab3
-
-
- -(see stty(1)). -

You can change the video mode using resizecons or -SVGATextMode. Or by rebooting and having "vga=ask" -in the LILO configuration file. -

This usually settles the output side. -

On the input side there are many things that might be wrong. If X or -DOOM or some other program using raw mode crashed, your keyboard may -still be in raw (or mediumraw) mode, and you must give the command -

-
-        % kbd_mode -a
-
-
- -or -
-
-        % kbd_mode -u
-
-
- -to get back to normal 8-bit or Unicode mode again. Of course in this -situation it may be difficult to give commands. -(See "How to get out of raw mode" below.) -

If you loaded a bad keymap, then -

-
-        % loadkeys -d
-
-
- -loads the default map again, but it may well be difficult to type `-'! -An alternative is -
-
-        % loadkeys defkeymap
-
-
- -Sometimes even the letters are garbled. It is useful to know that there -are four main types of keyboards: QWERTY, QWERTZ, AZERTY and DVORAK. -The first three are named after the first six letter keys, and roughly -represent the English, German and French speaking countries. -Compared to QWERTY, the QWERTZ map interchanges Y and Z. -Compared to QWERTY, the AZERTY map interchanges Q and A, W and Z, and has -its M right of the L, at the semicolon position. -DVORAK has an entirely different letter ordering. -There are two types of Turkish keyboard. The so-called `Q'-keyboard -has a QWERTY layout, while the `F'-keyboard has an entirely -different layout, let us say fgGIod, where G stands for Gbreve -and I for dotlessi. -

-

4.1 Keyboard hardware reset -

- -

- -

Things may be wrong on a lower level than Linux knows about. -There are at least two distinct lower levels (keyboard and keyboard controller) -where one can give the command "keyboard disable" to the keyboard hardware. -Keyboards can often be programmed to use one out of three -different sets of scancodes. -

However, I do not know of cases where this turned out to be -a problem. -

Some keyboards have a remapping capability built in. -Stormy Henderson (stormy@Ghost.Net) writes: -`If it's your keyboard accidently being reprogrammed, you can -(on a Gateway AnyKey keyboard) press control-alt-suspend_macro -to reset the keys to normal.' -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-5.html b/docs/doc/kbd.FAQ-5.html deleted file mode 100644 index 4c84e433..00000000 --- a/docs/doc/kbd.FAQ-5.html +++ /dev/null @@ -1,564 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Delete and Backspace - - - - - -Next -Previous -Contents -
-

5. Delete and Backspace

- -

- - - -

Getting Delete and Backspace to work just right is nontrivial, -especially in a mixed environment, where you talk to console, -to X, to bash, to emacs, login remotely, etc. -You may have to edit several configuration files to tell all -of the programs involved precisely what you want. -On the one hand, there is the matter of which keys generate -which codes (and how these codes are remapped by e.g. kermit -or emacs), and on the other hand the question of what functions -are bound to what codes. -

People often complain `my backspace key does not work', as if this -key had a built-in function `delete previous character'. -Unfortunately, all this key, or any key, does is producing a code, -and one only can hope that the kernel tty driver and -all application programs can be configured such that -the backspace key indeed does function as a `delete previous character' -key. -

Most Unix programs get their tty input via the kernel tty driver -in `cooked' mode, and a simple stty command determines the -erase character. However, programs like bash and emacs -and X do their own input handling, and have to be convinced -one-by-one to do the right thing. -

-

5.1 How to tell Unix what character you want to use to delete the last typed character -

- -

- -

-

-
-        % stty erase ^?
-
-
- -If the character is erased, but in a funny way, then something is -wrong with your tty settings. If echoprt is set, then erased characters -are enclosed between \ and /. -If echoe is not set, then the erase char is echoed -(which is reasonable when it is a printing character, like #). -Most people will want stty echoe -echoprt. Saying stty sane -will do this and more. Saying stty -a shows your current settings. -How come this is not right by default? It is, if you use the right -getty. -

Note that many programs (like bash, emacs etc.) have their own -keybindings (defined in ~/.inputrc, -~/.emacs etc.) and are unaffected by the setting -of the erase character. -

The standard Unix tty driver does not recognize a cursor, or keys -(like the arrow keys) to move the current position, and hence does not -have a command `delete current character' either. But for example -you can get bash on the console to recognize the Delete key by putting -

-
-        set editing-mode emacs
-        "\e[3~":delete-char
-
-
- -into ~/.inputrc. -

-

`Getty used to do the right thing with DEL and BS but is broken now?'

- -

- -

Earlier, the console driver would do BS Space BS -(\010\040\010) -when it got a DEL (\177). -Nowadays, DEL's are ignored (as they should be, -since the driver emulates a vt100). Get a better getty, i.e., -one that does not output DEL. -

-

`Login behaves differently at the first and second login attempts?'

- -

- -

At the first attempt, you are talking to getty. At the second attempt, -you are talking to login, a different program. -

-

5.2 How to tell Linux what code to generate when a key is pressed -

- -

- - - -

On the console, or, more precisely, when not in (MEDIUM)RAW mode, use -

-
-        % loadkeys mykeys.map
-
-
- -and under X use -
-
-        % xmodmap mykeys.xmap
-
-
- -Note that (since XFree86-2.1) X reads the Linux settings of the keymaps -when initialising the X keymap. Although the two systems are not -100% compatible, this should mean that in many cases the use of -xmodmap has become superfluous. -

For example, suppose that you would like the Backspace key -to send a BackSpace (Ctrl-H, octal 010) and the grey Delete key -a DEL (octal 0177). Add the following to /etc/rc.local -(or wherever you keep your local boot-time stuff): -

-
-        /usr/bin/loadkeys << EOF
-        keycode 14 = BackSpace
-        keycode 111 = Delete
-        EOF
-
-
- -Note that this will only change the function of these keys -when no modifiers are used. (You need to specify a keymaps line -to tell which keymaps should be affected if you want to change -bindings on more keymaps.) -The Linux kernel default lets -Ctrl-Backspace generate BackSpace - this is sometimes useful -as emergency escape, when you find you can only generate DELs. -

The left Alt key is sometimes called the Meta key, and by -default the combinations AltL-X are bound to the symbol MetaX. -But what character sequence is MetaX? -That is determined (per-tty) by the Meta flag, set by the command -setmetamode. The two choices are: ESC X or X or-ed with 0200. -

Many distributions have a loadkeys command somewhere in the -bootup sequence. For example, one may have the name of the desired -keymap in /etc/sysconfig/keyboard and the loadkeys -command that loads it in /etc/rc.d/init.d/keytable. -Or one may have the actual default keymap in /etc/default.keytab -and the loadkeys command that loads it in /etc/rc.d/boot. -Etc. Instead of adding a local modification to the default, one can -of course change the default by editing the default keymap or changing -the name of the keymap to be loaded at boot time. Note that loadkeys -itself has default keymap defkeymap.map located somewhere under -/usr/lib/kbd or /usr/share/kbd (just like all other -keymaps) and this may not yet be available in single user boot before -/usr has been mounted. -

-

`How do I get a dvorak keyboard?'

- -

- - -The command -

-
-        % loadkeys dvorak
-
-
- -will give you a dvorak layout, probably by loading -something like /usr/lib/kbd/keymaps/i386/dvorak/dvorak.map.gz. -Under X, put -
-
-        XkbLayout       "dvorak"
-
-
- -in XF86Config. -

-

`Why doesn't the Backspace key generate BackSpace by default?'

- -

- -

(i) Because the VT100 had a Delete key above the Enter key. -

(ii) Because Linus decided so. -

-

5.3 How to tell X to interchange Delete and Backspace -

- -

- - - -

-

-
-        % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace"
-
-
- -Or, if you just want the Backspace key to generate a BackSpace: -
-
-        % xmodmap -e "keycode 22 = BackSpace"
-
-
- -Or, if you just want the Delete key to generate a Delete: -
-
-        % xmodmap -e "keycode 107 = Delete"
-
-
- -(but usually this is the default binding already). -

-

5.4 How to tell emacs what to do when it receives a Delete or Backspace -

- -

- -

Put in your .emacs file lines like -

-
-        (global-set-key "\?" 'help-command)
-        (global-set-key "\C-h" 'delete-backward-char)
-
-
- -Of course you can bind other commands to other keys in the same way. -Note that various major and minor modes redefine keybindings. -For example, in incremental search mode one finds the code -
-
-        (define-key map "\177" 'isearch-delete-char)
-        (define-key map "\C-h" 'isearch-mode-help)
-
-
- -This means that it may be a bad idea to use the above two -global-set-key commands. There are too many places where -there are built-in assumptions about Ctrl-H = help and DEL = delete. -That doesn't mean that you have to setup keys so that Backspace -generates DEL. But if it doesn't then it is easiest to remap -them at the lowest possible level in emacs. -

-

5.5 How to tell emacs to interchange Delete and Backspace -

- -

- -

Put in your .emacs file lines -

-
-        (setq keyboard-translate-table (make-string 128 0))
-        (let ((i 0))
-          (while (< i 128)
-            (aset keyboard-translate-table i i)
-            (setq i (1+ i))))
-        (aset keyboard-translate-table ?\b ?\^?)
-        (aset keyboard-translate-table ?\^? ?\b)
-
-
- -Recent versions of emacs have a function keyboard-translate -and one may simplify the above to -
-
-        (keyboard-translate ?\C-h ?\C-?)
-        (keyboard-translate ?\C-? ?\C-h)
-
-
- -Note that under X emacs can distinguish between Ctrl-h and the -Backspace key (regardless of what codes these produce on the console), -and by default emacs will view the Backspace key as DEL -(and do deletion things, as bound to that character, rather than -help things, bound to Ctrl-H). One can distinguish Backspace and Delete, -e.g. by -
-
-        (global-unset-key [backspace] )
-        (global-set-key [backspace] 'delete-backward-char)
-        (global-unset-key [delete] )
-        (global-set-key [delete] 'delete-char)
-
-
-

-

5.6 How to tell kermit to interchange Delete and Backspace -

- -

- -

Put in your .kermrc file the lines -

-
-        set key \127 \8
-        set key \8 \127
-
-
-

-

5.7 How to tell xterm to interchange Delete and Backspace -

- -

- - -

-
-XTerm*VT100.Translations:       #override\n\
-        <KeyPress> BackSpace : string(0x7f)\n\
-        <KeyPress> Delete : string(0x08)\n
-
-
-

-

5.8 How to tell xterm about your favourite tty modes -

- -

- -

Normally xterm will inherit the tty modes from its invoker. -Under xdm, the default erase and kill characters are # and @, -as in good old Unix Version 6. -If you don't like that, you might put something like -

-
-        XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D \ 
-                        susp ^Z start ^Q stop ^S eol ^@
-
-
- -in /usr/lib/X11/app-defaults/XTerm or in -$HOME/.Xresources, assuming that you have a line -
-
-        xrdb -merge $HOME/.Xresources
-
-
- -in your $HOME/.xinitrc or $HOME/.xsession. -

-

5.9 How to tell non-Motif X applications that the Del key deletes forward -

- -

Put -

-
-*Text.translations:    #override \
-        ~Shift ~Meta <Key>Delete: delete-next-character()
-
-
- -into .Xresources to make non-Motif X applications such as -xfig, xedit, etc., work correctly. (Daniel T. Cobra) -

-

5.10 How to tell xmosaic that the Backspace key generates a DEL -

- -

- - - -

Putting -

-
-        *XmText.translations: #override\n\
-           <Key>osfDelete: delete-previous-character()
-        *XmTextField.translations: #override\n\
-           <Key>osfDelete: delete-previous-character()
-
-
- -in your $HOME/.Xdefaults or -$HOME/.Xresources helps. -(What file? The file that is fed to xrdb, for example -in .xinitrc.) -

The netscape FAQ, however, says: -

-        Why doesn't my Backspace key work in text fields? 
-        By default, Linux and XFree86 come with the Backspace and Delete keys
-        misconfigured. All Motif programs (including, of course, Netscape
-        Navigator) will malfunction in the same way.
-
-        The Motif spec says that Backspace is supposed to delete the previous
-        character and Delete is supposed to delete the following character.
-        Linux and XFree86 come configured with both the Backspace and Delete
-        keys generating Delete.
-
-        You can fix this by using any one of the xmodmap, xkeycaps, or
-        loadkeys programs to make the key in question generate the BackSpace
-        keysym instead of Delete.
-
-        You can also fix it by having a .motifbind file; see the man page
-        for VirtualBindings(3).
-
-        Note: Don't use the *XmText.translations or *XmTextField.translations
-        resources to attempt to fix this problem. If you do, you will blow
-        away Netscape Navigator's other text-field key bindings.
-
-

-

5.11 A better solution for Motif-using programs, like netscape -

- -

- - - -

Ted Kandell (ted@tcg.net) suggests the following: -

Somewhere in your .profile add the following: -

-
-stty erase ^H
-
-
- -If you are using bash, add the following lines to your .inputrc: -
-
-"\C-?": delete-char
-"\C-h": backward-delete-char
-
-
- -Add the following lines to your .xinitrc file: -
-
-xmodmap <<-EOF
-keycode 22  =  BackSpace osfBackSpace
-keycode 107 =  Delete
-EOF
-
-# start your window manager here,  for example:
-#(fvwm) 2>&1 | tee /dev/tty /dev/console
-
-stty sane
-stty erase ^H
-loadmap <<-EOF
-keycode 14  = BackSpace
-keycode 111 = Delete
-EOF
-
-
-

This will definitely work for a PC 101 or 102 key keyboard -with any Linux/XFree86 layout. -

The important part to making Motif apps like Netscape work properly -is adding osfBackSpace to keycode 22 in addition to BackSpace. -

Note that there must be spaces on either side of the = sign. -

-

-

5.12 What about termcap and terminfo? -

- -

- - - -

When people have problems with backspace, they tend to look at their termcap -(or terminfo) entry for the terminal, and indeed, there does exist a kb -(or kbs) capability describing the code generated by the Backspace key. -However, not many programs use it, so unless you are having problems with one -particular program only, probably the fault is elsewhere. -Of course it is a good idea anyway to correct your termcap (terminfo) entry. -See also below under "The TERM variable". -

-

5.13 A complete solution -

- -

There are many possibilities to get a functioning system. -Can't you give one complete set of settings that works? - - - -

One way of getting a setup that works in all contexts -is to have the Backspace key generate DEL when on the -console (or xterm), and BackSpace when under X. -Maybe that is most convenient - there are too many X utilities -that expect BackSpace, and emacs on the console or xterm -expects DEL, while emacs under X can distinguish [BackSpace] -from Ctrl-H and does the right thing. -

What is needed? -No loadkeys changes, since the Backspace key already generates -DEL by default. No stty settings, they are OK by default. -No X settings, they are OK by default. -One just has to tell xterm that the Backspace key should generate DEL: -put -

-
-XTerm*VT100.Translations:       #override\n\
-        <KeyPress> BackSpace : string(0x7f)\n\
-
-
- -in .Xresources, and -
-
-xrdb -merge .Xresources
-
-
- -in .xinitrc, and you are settled. -

For a much more extensive discussion of these things, and -alternative solutions, see -Anne Baretta's page. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-6.html b/docs/doc/kbd.FAQ-6.html deleted file mode 100644 index 77e84b17..00000000 --- a/docs/doc/kbd.FAQ-6.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: The console character sets - - - - - -Next -Previous -Contents -
-

6. The console character sets

- -

- - - -

The kernel first tries to figure out what symbol is meant by any given -user byte, and next where this symbol is located in the current font. -

The kernel knows about 5 translations of bytes into console-screen symbols. -In Unicode (UTF-8) mode, the UTF-8 code is just converted directly into -Unicode. The assumption is that almost all symbols one needs are present -in Unicode, and for the cases where this does not hold the codes -0xf000-0xf1ff are reserved for direct font access. -When not in Unicode mode, one of four translation tables is used. -The four tables are: a) Latin1 -> Unicode, b) VT100 graphics -> Unicode, -c) PC -> Unicode, d) user-defined. -

There are two character sets, called G0 and G1, and one of them -is the current character set. (Initially G0.) -Typing Ctrl-N causes G1 to become current, Ctrl-O causes G0 to become current. -

These variables G0 and G1 point at a translation table, and can be changed -by the user. Initially they point at tables a) and b), respectively. -The sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( K cause G0 to point -at translation table a), b), c) and d), respectively. -The sequences ESC ) B and ESC ) 0 and ESC ) U and ESC ) K cause G1 to point -at translation table a), b), c) and d), respectively. -

The sequence ESC c causes a terminal reset, which is what you want if the -screen is all garbled. The oft-advised echo ^V^O will only -make G0 current, but there is no guarantee that G0 points at table a). -In some distributions there is a program reset(1) that just does -echo ^[c. -If your termcap entry for the console is correct (and has an entry -:rs=\Ec:), then also setterm -reset will work. -

The user-defined mapping table can be set using mapscrn(8). -The result of the mapping is that if a symbol c is printed, the symbol -s = map[c] is sent to the video memory. The bitmap that corresponds to -s is found in the character ROM, and can be changed using setfont(8). -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-7.html b/docs/doc/kbd.FAQ-7.html deleted file mode 100644 index 1efccf9a..00000000 --- a/docs/doc/kbd.FAQ-7.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Console switching - - - - - -Next -Previous -Contents -
-

7. Console switching

- -

- -

By default, console switching is done using Alt-Fn or Ctrl-Alt-Fn. -Under X (or recent versions of dosemu), only Ctrl-Alt-Fn works. -Many keymaps will allow cyclic walks through all allocated consoles -using Alt-RightArrow and Alt-LeftArrow. -

XFree86 1.3 does not know that Alt is down when you switch to the X -window. Thus, you cannot switch immediately to some other VT again -but have to release Alt first. -In the other direction this should work: the kernel always keeps -track of the up/down status of all keys. (As far as possible: on some -keyboards some keys do not emit a scancode when pressed (e.g.: the PFn -keys of a FOCUS 9000) or released (e.g.: the Pause key of many keyboards).) -

XFree86 1.3 saves the fonts loaded in the character ROMs when started, -and restores it on a console switch. Thus, the result of setfont on -a VT is wiped out when you go to X and back. -Using setfont under X will lead to funny results. -

One can change VT under program control using the chvt command. -

-

7.1 Changing the number of Virtual Consoles -

- -

- -

This question still comes up from time to time, but the answer is: -you already have enough of them. -Since kernel version 1.1.54, there are between 1 and 63 virtual -consoles. A new one is created as soon as it is opened. It is -removed by the utility deallocvt (but it can be removed only when -no processes are associated to it anymore, and no text on it has been -selected by programs like selection or gpm). -

For older kernels, change the line -

-
-        #define NR_CONSOLES     8
-
-
- -in include/linux/tty.h (don't increase this number beyond 63), -and recompile the kernel. -

If they do not exist yet, create the tty devices with MAKEDEV -or mknod ttyN c 4 N where N denotes the tty number. For example, -

-
-        for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done
-
-
- -or, better (since it also takes care of owner and permissions), -
-
-        for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done
-
-
-

If you want the new VCs to run getty, add lines in /etc/inittab. -(But it is much better to have only two getty's running, -and to create more consoles dynamically as the need arises. -That way you'll have more memory when you don't use all these consoles, -and also more consoles, in case you really need them. -Edit /etc/inittab and comment out all getty's except -for the first two.) -

When the consoles are allocated dynamically, it is usually easiest -to have only one or two running getty. More are opened by -open -l -s bash. Unused consoles (without associated processes) -are deallocated using deallocvt (formerly disalloc). -But, you say, I am involved in activities when I suddenly need more -consoles, and do not have a bash prompt available to give the open -command. -Fortunately it is possible to create a new console upon a single -keystroke, regardless of what is happening at the current console. -

If you have spawn_login from kbd-1.04.tar.gz and you put -

-
-        loadkeys << EOF
-        alt keycode 103 = Spawn_Console
-        EOF
-        spawn_login &
-
-
- -in /etc/rc.local, then typing Alt-UpArrow will create a fresh VC -running login (and switch to it). With spawn_console & instead of -spawn_login & you'll have bash running there. -See also open-1.4.tgz and dynamic-vc-1.1.tar.gz. -

What action should be taken upon this Spawn_Console keypress -can also be set in /etc/inittab under kbrequest, -if you have a recent init. See inittab(5). -

(This action can be something entirely different - I just called -the key Spawn_Console because that is what I used it for. -When used for other purposes it is less confusing to use -its synonym KeyboardSignal. -For example, some people like to put the lines -

-
-        kb::kbrequest:/sbin/shutdown -h now
-
-
- -in /etc/inittab, and -
-
-        control alt keycode 79 = KeyboardSignal
-        control alt keycode 107 = KeyboardSignal
-
-
- -in their keymap. Now Ctrl-Alt-End will do a system shutdown.) -

You can only login as "root" on terminals listed in /etc/securetty. -There exist programs that read terminal settings from files -/etc/ttys and /etc/ttytype. If you have such -files, and create additional consoles, then it might be a good idea -to also add entries for them in these files. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-8.html b/docs/doc/kbd.FAQ-8.html deleted file mode 100644 index 89d01c37..00000000 --- a/docs/doc/kbd.FAQ-8.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: Ctrl-Alt-Del and other special key combinations - - - - - -Next -Previous -Contents -
-

8. Ctrl-Alt-Del and other special key combinations

- -

-

-

8.1 Ctrl-Alt-Del (Boot) -

- -

- -

If you press Ctrl-Alt-Del (or whatever key was assigned the keysym Boot by -loadkeys) then either the machine reboots immediately (without sync), or -init is sent a SIGINT. The former behaviour is the default. The default -can be changed by root, using the system call reboot(), see ctrlaltdel(8). -Some init's change the default. What happens when init gets SIGINT depends -on the version of init used - often it will be determined by the pf entry in -/etc/inittab (which means that you can run an arbitrary program -in this case). -In the current kernel Ctrl-AltGr-Del is no longer by default assigned to Boot. -

-

8.2 Other combinations -

- -

- - - -

-

-Name            Default binding
--------------------------------
-Show_Memory     Shift-Scrollock
-Show_Registers  AltGr-ScrollLock
-Show_State      Ctrl-ScrollLock
-Console_n       Alt-Fn and Ctrl-Alt-Fn  (1 <= n <= 12)
-Console_{n+12}  AltGr-Fn                (1 <= n <= 12)
-Incr_Console    Alt-RightArrow
-Decr_Console    Alt-LeftArrow
-Last_Console    Alt[Gr]-PrintScreen
-Scroll_Backward Shift-PageUp
-Scroll_Forward  Shift-PageDown
-Caps_On                                 (CapsLock is a toggle; this key sets)
-Compose         Ctrl-.
-
-

-

8.3 X Combinations -

- -

- - - - - -

-

-Ctrl-Alt-Fn     Switch to VT n
-Ctrl-Alt-KP+    Next mode
-Ctrl-Alt-KP-    Previous mode
-Ctrl-Alt-Backspace      Kill X
-
- -On some motherboards, Ctrl-Alt-KP- and Ctrl-Alt-KP+ will be equivalent to -pressing the Turbo button. That is, both will produce the scancodes -1d 38 4a ca b8 9d and 1d 38 4e ce b8 9d, and both will switch between -Turbo (>= 25MHz) and non-Turbo (8 or 12 MHz). -(Often these key combinations only function this way when enabled -by jumpers on the motherboard.) -

Perry F Nguyen (pfnguyen@netcom22.netcom.com) writes: -AMI BIOS has a feature that locks up the keyboard and flashes the LED's -if the Ctrl-Alt-Backspace combination is pressed while a BIOS password -is enabled, until the CMOS/BIOS password is typed in. -

On some SiS based motherboards the combination Ctrl-Alt-Backspace -will cause a power off, or puts the machine in power save mode. -(Reported for SiS 630 and for SiS645DX.) -

-

8.4 Dosemu Combinations -

- -

- - - -

-

-Ctrl-Alt-Fn     Switch to VT n (from version 0.50; earlier Alt-Fn)
-Ctrl-Alt-PgDn   Kill dosemu (when in RAW keyboard mode)
-(and many other combinations - see the dosemu documentation)
-
-

-

8.5 Composing symbols -

- -

- - - -

One symbol may be constructed using several keystrokes. -

    -
  • LeftAlt-press, followed by a decimal number typed on the keypad, followed -by LeftAlt-release, yields the symbol with code given by this number. -(In Unicode mode this same mechanism, but then with 4 hexadecimal digits, -may be used to define a Unicode symbol.)
  • -
  • A dead diacritic followed by a symbol, yields that symbol adorned with -that diacritic. If the combination is undefined, both keys are taken -separately. -Which keys are dead diacritics is user-settable; none is by default. -Five (since 2.0.25 six) dead diacritics can be defined (using loadkeys(1)): -dead_grave, dead_acute, dead_circumflex, dead_tilde, dead_diaeresis -(and dead_cedilla). -Precisely what this adorning means is also user-settable: -dead-diacritic, symbol is equivalent to Compose + diacritic + symbol.
  • -
  • Compose followed by two symbols yields a combination symbol. These -combinations are user-settable. Today there are 68 combinations -defined by default; you can see them by saying "dumpkeys | grep compose".
  • -
  • Then there are `Sticky' modifier keys (since 1.3.33). For example, -one can type Ctrl-C as SControl, C and Ctrl-Alt-BackSpace as SControl, -SAlt, BackSpace.
  • -
-

Note that there are at least four such composition mechanisms: -

    -
  1. The Linux keyboard driver mechanism, used in conjunction with loadkeys.
  2. -
  3. The X mechanism - see X386keybd(1), later XFree86kbd(1). -Under X11R6: edit /usr/X11R6/lib/X11/locale/iso8859-1/Compose.

    See also Andrew D. Balsa's comments at -http://wauug.erols.com/~balsa/linux/deadkeys/index.html. -

  4. -
  5. The emacs mechanism obtained by loading "iso-insert.el" or -calling `iso-accents-mode'.
  6. -
  7. The vim mechanism: insert a composed symbol by pressing Ctrl-K -followed by two symbols. A list of the possible combinations is -obtained by the command :digraphs.
  8. -
- -For X the order of the two symbols is arbitrary: both Compose-,-c and -Compose-c-, yield a c-cedilla; for Linux and emacs only the former sequence -works by default. For X and vim the list of compose combinations is fixed. -Linux and emacs are flexible. -The default lists are somewhat similar, but the details are different. -

-

8.6 The SysRq key -

- -

- - -In case your kernel was compiled with CONFIG_MAGIC_SYSRQ enabled -(a feature that is present since Linux 2.1.43) -there is a single key (defined in <linux/keyboard.h>) -to which special system functions are attached, regardless of the -current keyboard mode. For the PC architecture this special key is, -naturally, the Alt+SysRq key, and any of the two Alt keys will work. -(Note that if CONFIG_MAGIC_SYSRQ was not enabled, the default action -of this key is to return to the previous console.) -

If you press this key, do not release it, and hit another key, -a corresponding action is performed. The action is performed whether -anybody is logged in or not, is root or not. For the details, see -drivers/char/sysrq.c. Since this feature is meant only -for kernel hackers, that should suffice. Still, let me add a few -remarks. -

For the key r the keyboard mode is reset to K_XLATE. -For the key k a SAK and console reset is done. -For the key b the machine is rebooted immediately. -(See, not something you want to have enabled on a production machine.) -For the key o the power is turned off (when the machine is capable of that). -For the key s an emergency sync is scheduled. -For the key u an emergency read-only remount is scheduled. -For the keys p,t,m various information is shown -(namely the same information also shown for RAlt,RCtrl,RShift+ScrollLock). -For the keys e,i,l all processes get a SIG_TERM or SIG_KILL, respectively; -for l even the init process is killed. -Digits set the log level. Anything else prints a short summary: -SysRq: unRaw saK Boot Off Sync Unmount showPc showTasks showMem -loglevel0-8 tErm kIll killalL. -

Note: These are very dangerous actions! And they do not use your -keymap - indeed, are meant for emergency cases where the state -of your keymap, or even of the entire kernel, is uncertain. -If you use a dvorak keyboard - bad luck! Most other people will -be able to survive: the dangerous letters A,M,Q,W,Y,Z that are -differently placed on English, French and German keyboards, are -not used for actions. (But if your finger slips and you hit L -instead of K - bye bye to your system.) -

In Linux 2.3.13 the possibility to enable/disable SysRq was added. -

-
-        echo 0 > /proc/sys/kernel/sysrq
-
-
- -will disable it (if the kernel was compiled with CONFIG_MAGIC_SYSRQ). -

-

8.7 Problems -

- -

A good keyboard accurately reports multiple key presses. -Especially for people using a keyboard as Braille input device, -where they have to be able to press up to six keys simultaneously, -this is important. Many modern keyboards fail here due to sloppy -design and testing - they misreport or fail in other ways when -four or more keys are pressed simultaneously, sometimes already -when two non-modifier keys are pressed simultaneously. -This affects Linux users a bit: the SysRq key is not a modifier key, -and people report problems using Alt-SysRq-X for various -letters or digits X. -

Long ago a similar problem (`ghosting') was caused by the design -of the scan matrix: when three keys were pressed a fourth was -also seen. That problem was solved by the use of diodes. -Today it is the interface logic that is deficient. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ-9.html b/docs/doc/kbd.FAQ-9.html deleted file mode 100644 index 420911c6..00000000 --- a/docs/doc/kbd.FAQ-9.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - The Linux keyboard and console HOWTO: How to get out of raw mode - - - - - -Next -Previous -Contents -
-

9. How to get out of raw mode

- -

- -

If some program using K_RAW keyboard mode exits without restoring the keyboard -mode to K_XLATE, then it is difficult to do anything - not even Ctrl-Alt-Del -works. However, it is sometimes possible to avoid hitting the reset button. -(And desirable as well: your users may get angry if you kill their Hack game -by rebooting; you might also damage your file system.) -Easy solutions involve logging in from another terminal or another machine -and doing kbd_mode -a. -The procedure below assumes that no X is running, that the display is in -text mode, and that you are at your bash prompt, that you are using a US -keyboard layout, and that your interrupt character is Ctrl-C. -

Step 1. Start X. -As follows: press 2 (and don't release), press F12 (and don't release) -and immediately afterwards press = . This starts X. -(Explanation: if a key press produces keycode K, then the key release -produces keycode K+128. Probably your shell does not like these high -characters, so we avoid generating them by not releasing any key. -However, we have to be quick, otherwise key repeat starts. The digit 2 -produces a Ctrl-C that discards previous junk, the F12 produces an X -and the = a Return.) -Probably your screen will be grey now, since no .xinitrc was specified. -However, Ctrl-Alt-Fn will work and you can go to another VT. -(Ctrl-Alt-Backspace also works, but that exits X, and gets you back into -the previous state, which is not what you want.) -

Step 2. Setup to change the keyboard mode. -(For example, by sleep 5; kbd_mode -a.) -

Step 3. Leave X again. -Alt-Fx (often Alt-F7) brings you back to X, and then Ctrl-Alt-Backspace -exits X. Within 5 seconds your keyboard will be usable again. -

If you want to prepare for the occasion, then make -\215A\301 (3 symbols) an alias for kbd_mode -a. -Now just hitting = F7 = (3 symbols) will return you to sanity. -

-


-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ.html b/docs/doc/kbd.FAQ.html deleted file mode 100644 index a7168878..00000000 --- a/docs/doc/kbd.FAQ.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - The Linux keyboard and console HOWTO - - - - - -Next -Previous -Contents -
-

The Linux keyboard and console HOWTO

- -

Andries Brouwer, aeb@cwi.nl

v2.13, 2002-10-12 -


-This note contains some information about the Linux keyboard -and console, and the use of non-ASCII characters. -It describes Linux 2.0. - - - - -
-

-

1. Useful programs

- -

-

2. Keyboard generalities

- -

-

3. Console generalities

- -

-

4. Resetting your terminal

- - -

-

5. Delete and Backspace

- - -

-

6. The console character sets

- -

-

7. Console switching

- - -

-

8. Ctrl-Alt-Del and other special key combinations

- - -

-

9. How to get out of raw mode

- -

-

10. The keyboard LEDs

- -

-

11. The TERM variable

- - -

-

12. How to make other programs work with non-ASCII chars

- -

-

13. X

- - -

-

14. Unusual keys and keyboards

- - -

-

15. Examples of use of loadkeys and xmodmap

- - -

-

16. Changing the video mode

- - -

-

17. Changing the keyboard repeat rate

- -

-

18. Scrolling

- -

-

19. Screensaving

- -

-

20. Screen dumps

- -

-

21. Some properties of the VT100 - application key mode

- -

-

22. Hardware incompatibility

- -

-

23. Copyright

- -
-Next -Previous -Contents - - diff --git a/docs/doc/kbd.FAQ.sgml b/docs/doc/kbd.FAQ.sgml deleted file mode 100644 index 18e68d1b..00000000 --- a/docs/doc/kbd.FAQ.sgml +++ /dev/null @@ -1,1883 +0,0 @@ - - -
- -The Linux keyboard and console HOWTO -<author>Andries Brouwer, <tt/aeb@cwi.nl/ -<date>v2.13, 2002-10-12 - -<abstract>This note contains some information about the Linux keyboard -and console, and the use of non-ASCII characters. -It describes Linux 2.0. -<nidx>HOWTOs!keyboard and console</nidx> -<nidx>HOWTOs!console and keyboard</nidx> -</abstract> - -<toc> - -<sect>Useful programs<p> -<nidx>programs!keyboard-related</nidx> -<nidx>programs!console-related</nidx> -<nidx>keyboard!programs related to</nidx> -<nidx>console!programs related to</nidx> - -The following packages contain keyboard or console related programs. -<p> -<tt/kbd-1.06.tar.gz/ contains <tt/loadkeys/, <tt/dumpkeys/, <tt/showkey/, -<tt/setmetamode/, <tt/setleds/, <tt/setfont/, <tt/showconsolefont/, -<tt/mapscrn/, <tt/kbd_mode/, <tt/kbdrate/, <tt/loadunimap/, <tt/chvt/, -<tt/resizecons/, <tt/deallocvt/, <tt/getkeycodes/, <tt/setkeycodes/. -It also contains <tt/openvt/, formerly called <tt/open/. -<p> -There exists a clone of the kbd package, namely <tt/console-tools/, -that contains more or less the same stuff. The latest version, -<tt/console-tools-0.3.3/ is roughly up-to-date with <tt/kbd-0.99/. -<p> -<tt/SVGATextMode-1.10/ contains <tt/SVGATextMode/, a program that -obsoletes <tt/resizecons/. -<p> -<tt/util-linux-2.11/ contains <tt/setterm/. -<p> -<tt/sh-utils-1.12/ contains <tt/stty/. -<p> -See also <tt/dynamic-vc-1.2.tar.gz/ and <tt/consd-1.3.tgz/ for -programs that exploit the `Keyboard Signal' key. Very primitive -versions are <tt/spawn_login/ or <tt/spawn_console/ found in the kbd package. -<p> -See <htmlurl name="font.tgz" url="http://www.cix.co.uk/~mayday/font.tgz"> -for a package that handles console fonts. -<p> -Packages like <tt/recode/ and <tt/konwert-1.8/ allow one to convert -between different character encodings. -<p> - -The X distribution contains <tt/xmodmap/, <tt/xset/, <tt/kbd_mode/. -(See also X386keybd(1) for the situation under XFree86 1.3, -and Xserver(1) for the XKEYBOARD extension under X11R6.) -A handy interface to <tt/xmodmap/ is <tt/xkeycaps/, see -<htmlurl name="http://www.jwz.org/xkeycaps/" url="www.jwz.org/xkeycaps/">. - -<tt/termcap-2.0.8.tar.gz/ contains <tt/termcap/, an old terminal -capabilities data base. <tt/ncurses-1.9.9e.tar.gz/ contains the -<tt/termlib/ data base which obsoletes <tt/termcap/. (However, -there are still many programs using <tt/termcap/.) - -See loadkeys(1), setleds(1) and setmetamode(1) for the codes generated by the -various keys and the setting of leds when not under X. Under X, see xmodmap(1) -and xset(1). - -See setfont(8) for loading console fonts. Many people will want to -load a font like <tt/iso01.f16/ because the default font is the -hardware font of the video card, and often is a `Code Page 437' font -missing accented characters and other Latin-1 symbols. - -See setterm(1) and kbdrate(8) for properties such as foreground and background -colors, screen blanking and character repeat rate when not under X. -Under X, see xset(1), also for key click and bell volume. - -The file <tt>/etc/termcap</tt> defines the escape sequences -used by many programs addressing the console (or any other terminal). -See termcap(5). -A more modern version is found in <tt>/usr/lib/terminfo</tt>. -See terminfo(5). Terminfo files are compiled -by the terminfo compiler <tt>/usr/lib/terminfo/tic</tt>, see tic(1). -Their contents can be examined using the program <tt/infocmp/, -see infocmp(1). - -The Linux console sequences are documented in console_codes(4). - -The package <tt>funkey</tt> by Rick van Rein provides support -for all these new keys modern keyboards have. See -<htmlurl url="http://rick.vanrein.org/linux/funkey" -name="rick.vanrein.org/linux/funkey">. - -<sect>Keyboard generalities<p> -<nidx>keyboard!theory of operation</nidx> - -You press a key, and the keyboard controller sends -<htmlurl name="scancodes" - url="http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html"> -to the kernel keyboard driver. Some keyboards can be programmed, -but usually the scancodes corresponding to your keys are fixed. -The kernel keyboard driver just transmits whatever it receives -to the application program when it is in <em>scancode mode</em>, -like when <tt/X/ is running. Otherwise, it parses the stream of scancodes -into keycodes, corresponding to key press or key release events. -(A single key press can generate up to 6 scancodes.) -These keycodes are transmitted to the application program when it is -in <em>keycode mode</em> (as used, for example, by <tt/showkey/ -and some X servers). -Otherwise, these keycodes are looked up in the keymap, and the character -or string found there is transmitted to the application, or the action -described there is performed. -(For example, if one presses and releases the <tt/a/ key, then the keyboard -produces scancodes 0x1e and 0x9e, this is converted to keycodes 30 and 158, -and then transmitted as 0141, the ASCII or latin-1 code for `a'; -if one presses and releases <tt/Delete/, then the keyboard produces scancodes -0xe0 0x53 0xe0 0xd3, these are converted to keycodes 111 and 239, and then -transmitted as the 4-symbol sequence ESC [ 3 ˜, all assuming -a US keyboard and a default keymap. An example of a key combination to which -an action is assigned is Ctrl-Alt-Del.) -<P> -The translation between unusual scancodes and keycodes can be set using the -utility <tt/setkeycodes/ - only few people will need it. -The translation between keycodes and characters or strings or actions, that is, -the keymap, is set using the utilities <tt/loadkeys/ and <tt/setmetamode/. -For details, see getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1), -setmetamode(1). The format of the files output by <tt/dumpkeys/ and read -by <tt/loadkeys/ is described in keymaps(5). -<P> -Where it says `transmitted to the application' in the above description, -this really means `transmitted to the terminal driver'. That is, further -processing is just like that of text that comes in over a serial line. -The details of this processing are set by the program <tt/stty/. - -<sect>Console generalities<p> -<nidx>console!theory of operation</nidx> - -Conversely, when you output something to the console, it first undergoes -the standard tty processing, and then is fed to the console driver. -The console driver emulates a VT100, and parses the input in order to -recognize VT100 escape sequences (for cursor movement, clear screen, etc.). -The characters that are not part of an escape sequence are first converted -into Unicode, using one of four mapping tables if the console was not -in UTF-8 mode to start with, then looked up in the table describing -the correspondence between Unicode values and font positions, -and the obtained 8- or 9-bit font indices are then written to video memory, -where they cause the display of character shapes found in the video card's -character ROM. -One can load one's own fonts into character ROM using <tt/setfont/. -The obsolete programs <tt/loadunimap/ and <tt/mapscrn/ can be used -to manipulate the Unicode map belonging to the font, or the mapping -table of the console. More details will be given below. - -There are many consoles (called <it/Virtual Consoles/ or -<it/Virtual Terminals/, abbreviated VCs or VTs) that share the same -screen. You can use them as independent devices, either to run -indendent login sessions, or just to send some output to, perhaps -from <tt/top/, or the tail of the system log or so. -See below (`Console switching') on how to set them up and -switch between them. - - -<sect>Resetting your terminal<p> -<nidx>terminal!resetting</nidx> -<nidx>screen!clearing</nidx> -<nidx>console!clearing</nidx> - -There is garbage on the screen, or all your keystrokes are echoed -as line drawing characters. What to do? - -Many programs will redraw the screen when Ctrl-L is typed. This might -help when there is some modem noise or broadcast message on your screen. -The command <tt/clear/ will clear the screen. - -The command <tt/reset/ will reset the console driver. This helps when -the screen is full of funny graphic characters, and also if it is -reduced to the bottom line. If you don't have this command, or if it -does something else, make your own by putting the following two lines -in an executable file <tt/reset/ in your PATH: -<tscreen><verb> - #!/bin/sh - echo -e \\033c -</verb></tscreen> -that is, you want to send the two characters ESC c to the console. - -Why is it that the display sometimes gets confused and gives you -a 24-line or 1-line screen, instead of the usual 25 lines? -Well, the main culprit is the use of <tt/TERM=vt100/ (or some other -entry with 24 lines) instead of <tt/TERM=linux/ when logged in remotely. -If this happens on <tt>/dev/tty2</tt> then typing -<tscreen><verb> - % cat > /dev/tty2 - ^[c - ^D -</verb></tscreen> -on some other VT (where 4 symbols are typed to <tt/cat/: ESC, c, ENTER, -Ctrl-D) and refreshing the screen on <tt>/dev/tty2</tt> -(perhaps using Ctrl-L) will fix things. Of course the permanent fix -is to use the right termcap or terminfo entry. -A command that only changes the number of lines is -<tscreen><verb> - % echo -e "\033[1;25r" -</verb></tscreen> - -Why is it that you sometimes get a lot of line-drawing characters, -e.g., after catting a binary to the screen? -Well, there are various character set changing escape sequences, -and by accident your binary might contain some of these. -The ESC c is a general reset, a cure for all, but if you know -precisely what went wrong you can repair it without resetting -other console attributes. For example, after -<tscreen><verb> - % cat - ^N - ^D -</verb></tscreen> -your shell prompt will be all line-drawing characters. -Now do (typing blindly) -<tscreen><verb> - % cat - ^O - ^D -</verb></tscreen> -and all is well again. (Three symbols typed to each <tt/cat/: -Ctrl-N (or Ctrl-O), ENTER, Ctrl-D.) To understand what is happening, -see `The console character sets' below. - -If you loaded some strange font, and want to return to the default, -<tscreen><verb> - % setfont -</verb></tscreen> -will do (provided you stored the default font in the default place). -If this default font does not contain an embedded Unicode map (and -gives the wrong symbols for accented characters), then say -<tscreen><verb> - % loadunimap -</verb></tscreen> -For example, if I do -<tscreen><verb> - % loadkeys de-latin1 -</verb></tscreen> -then I have a German keyboard, and the key left of the Enter key -gives me a-umlaut. This works, because the a-umlaut occurs -on the CP437 code page and the kernel Unicode map is initialized -to CP437, and my video card has a CP437 font built-in. -If I now load an ISO 8859-1 font with -<tscreen><verb> - % setfont iso01.f16 -</verb></tscreen> -then everything still works, because <tt/setfont/ invalidates the kernel -Unicode map (if there is no Unicode map attached to the font), and without -map the kernel goes directly to the font, and that is precisely correct -for an ISO 8859-1 system with <tt/iso01.f16/ font. -But going back to the previous font with -<tscreen><verb> - % setfont -</verb></tscreen> -gives capital Sigma's instead of a-umlaut - all accented letters -are mixed up because also this font has no embedded Unicode map. After -<tscreen><verb> - % loadunimap -</verb></tscreen> -which loads the default Unicode map (which is right for the default -font) all works correctly again. Usually <tt/loadunimap/ is not -invoked directly, but via <tt/setfont/. Thus, the previous two -commands may be replaced by -<tscreen><verb> - % setfont -u def -</verb></tscreen> -These days most fonts have embedded Unicode maps (often this is -indicated by the extension <tt/.psfu/), and none of this nonsense -is needed anymore. - -On very old terminals output involving tabs may require a delay, -and you have to say -<tscreen><verb> - % stty tab3 -</verb></tscreen> -(see stty(1)). - -You can change the video mode using <tt/resizecons/ or -<tt/SVGATextMode/. Or by rebooting and having "vga=ask" -in the LILO configuration file. - -This usually settles the output side. - -On the input side there are many things that might be wrong. If <tt/X/ or -<tt/DOOM/ or some other program using raw mode crashed, your keyboard may -still be in raw (or mediumraw) mode, and you must give the command -<tscreen><verb> - % kbd_mode -a -</verb></tscreen> -or -<tscreen><verb> - % kbd_mode -u -</verb></tscreen> -to get back to normal 8-bit or Unicode mode again. Of course in this -situation it may be difficult to give commands. -(See "How to get out of raw mode" below.) - -If you loaded a bad keymap, then -<tscreen><verb> - % loadkeys -d -</verb></tscreen> -loads the default map again, but it may well be difficult to type `-'! -An alternative is -<tscreen><verb> - % loadkeys defkeymap -</verb></tscreen> -Sometimes even the letters are garbled. It is useful to know that there -are four main types of keyboards: QWERTY, QWERTZ, AZERTY and DVORAK. -The first three are named after the first six letter keys, and roughly -represent the English, German and French speaking countries. -Compared to QWERTY, the QWERTZ map interchanges Y and Z. -Compared to QWERTY, the AZERTY map interchanges Q and A, W and Z, and has -its M right of the L, at the semicolon position. -DVORAK has an entirely different letter ordering. -There are two types of Turkish keyboard. The so-called `Q'-keyboard -has a QWERTY layout, while the `F'-keyboard has an entirely -different layout, let us say fgGIod, where G stands for Gbreve -and I for dotlessi. - -Matthew Arnison writes: <it>My keyboard got scrambled after vmware died, -so that in all X programs Ctrl, Shift, Alt no longer worked. -I found a fix to reset the keyboard without stopping X: -Run xkeycaps, then choose the correct keyboard then press the button -to reset the keyboard.</it> - -<sect1>Keyboard hardware reset<p> -<nidx>keyboard!resetting</nidx> - -Things may be wrong on a lower level than Linux knows about. -There are at least two distinct lower levels (keyboard and keyboard controller) -where one can give the command "keyboard disable" to the keyboard hardware. -Keyboards can often be programmed to use one out of three -different sets of scancodes. -<p> -However, I do not know of cases where this turned out to be -a problem. -<p> -Some keyboards have a remapping capability built in. -Stormy Henderson (<tt/stormy@Ghost.Net/) writes: -`If it's your keyboard accidently being reprogrammed, you can -(on a Gateway AnyKey keyboard) press control-alt-suspend_macro -to reset the keys to normal.' - -<sect>Delete and Backspace<p> -<nidx>delete key!problems with</nidx> -<nidx>backspace key!problems with</nidx> - -Getting Delete and Backspace to work just right is nontrivial, -especially in a mixed environment, where you talk to console, -to <tt/X/, to <tt/bash/, to <tt/emacs/, login remotely, etc. -You may have to edit several configuration files to tell all -of the programs involved precisely what you want. -On the one hand, there is the matter of which keys generate -which codes (and how these codes are remapped by e.g. <tt/kermit/ -or <tt/emacs/), and on the other hand the question of what functions -are bound to what codes. - -People often complain `my backspace key does not work', as if this -key had a built-in function `delete previous character'. -Unfortunately, all this key, or any key, does is producing a code, -and one only can hope that the kernel tty driver and -all application programs can be configured such that -the backspace key indeed does function as a `delete previous character' -key. - -Most Unix programs get their tty input via the kernel tty driver -in `cooked' mode, and a simple <tt/stty/ command determines the -erase character. However, programs like <tt/bash/ and <tt/emacs/ -and <tt/X/ do their own input handling, and have to be convinced -one-by-one to do the right thing. - -<sect1>How to tell Unix what character you want to use to delete the last typed character<p> -<nidx>stty!using to set erase character</nidx> - -<tscreen><verb> - % stty erase ^? -</verb></tscreen> -If the character is erased, but in a funny way, then something is -wrong with your tty settings. If <tt/echoprt/ is set, then erased characters -are enclosed between <tt>\</tt> and <tt>/</tt>. -If <tt/echoe/ is not set, then the erase char is echoed -(which is reasonable when it is a printing character, like #). -Most people will want <tt/stty echoe -echoprt/. Saying <tt/stty sane/ -will do this and more. Saying <tt/stty -a/ shows your current settings. -How come this is not right by default? It is, if you use the right -<tt/getty/. - -Note that many programs (like <tt/bash/, <tt/emacs/ etc.) have their own -keybindings (defined in <tt>˜/.inputrc</tt>, -<tt>˜/.emacs</tt> etc.) and are unaffected by the setting -of the erase character. - -The standard Unix tty driver does not recognize a cursor, or keys -(like the arrow keys) to move the current position, and hence does not -have a command `delete current character' either. But for example -you can get <tt/bash/ on the console to recognize the Delete key by putting -<tscreen><verb> - set editing-mode emacs - "\e[3˜":delete-char -</verb></tscreen> -into <tt>˜/.inputrc</tt>. - -<sect2>`Getty used to do the right thing with DEL and BS but is broken now?'<p> -<nidx>getty!problems with BS and DEL</nidx> - -Earlier, the console driver would do BS Space BS -(<tt>\010\040\010</tt>) -when it got a DEL (<tt>\177</tt>). -Nowadays, DEL's are ignored (as they should be, -since the driver emulates a vt100). Get a better getty, i.e., -one that does not output DEL. - -<sect2>`Login behaves differently at the first and second login attempts?'<p> -<nidx>login!problems with BS and DEL</nidx> - -At the first attempt, you are talking to <tt/getty/. At the second attempt, -you are talking to <tt/login/, a different program. - -<sect1>How to tell Linux what code to generate when a key is pressed<p> -<nidx>keyboard!keycode remapping</nidx> -<nidx>keycode remapping</nidx> - -On the console, or, more precisely, when not in (MEDIUM)RAW mode, use -<tscreen><verb> - % loadkeys mykeys.map -</verb></tscreen> -and under X use -<tscreen><verb> - % xmodmap mykeys.xmap -</verb></tscreen> -Note that (since XFree86-2.1) X reads the Linux settings of the keymaps -when initialising the X keymap. Although the two systems are not -100% compatible, this should mean that in many cases the use of -<tt/xmodmap/ has become superfluous. - -For example, suppose that you would like the Backspace key -to send a BackSpace (Ctrl-H, octal 010) and the grey Delete key -a DEL (octal 0177). Add the following to <tt>/etc/rc.local</tt> -(or wherever you keep your local boot-time stuff): -<tscreen><verb> - /usr/bin/loadkeys << EOF - keycode 14 = BackSpace - keycode 111 = Delete - EOF -</verb></tscreen> -Note that this will only change the function of these keys -when no modifiers are used. (You need to specify a keymaps line -to tell which keymaps should be affected if you want to change -bindings on more keymaps.) -The Linux kernel default lets -Ctrl-Backspace generate BackSpace - this is sometimes useful -as emergency escape, when you find you can only generate DELs. - -The left Alt key is sometimes called the Meta key, and by -default the combinations AltL-X are bound to the symbol MetaX. -But what character sequence is MetaX? -That is determined (per-tty) by the Meta flag, set by the command -<tt/setmetamode/. The two choices are: ESC X or X or-ed with 0200. - -Many distributions have a <tt/loadkeys/ command somewhere in the -bootup sequence. For example, one may have the name of the desired -keymap in <tt>/etc/sysconfig/keyboard</tt> and the <tt/loadkeys/ -command that loads it in <tt>/etc/rc.d/init.d/keytable</tt>. -Or one may have the actual default keymap in <tt>/etc/default.keytab</tt> -and the loadkeys command that loads it in <tt>/etc/rc.d/boot</tt>. -Etc. Instead of adding a local modification to the default, one can -of course change the default by editing the default keymap or changing -the name of the keymap to be loaded at boot time. Note that <tt/loadkeys/ -itself has default keymap <tt/defkeymap.map/ located somewhere under -<tt>/usr/lib/kbd</tt> or <tt>/usr/share/kbd</tt> (just like all other -keymaps) and this may not yet be available in single user boot before -<tt>/usr</tt> has been mounted. - -<sect2>`How do I get a dvorak keyboard?'<p> -<nidx>dvorak keyboard</nidx> -The command -<tscreen><verb> - % loadkeys dvorak -</verb></tscreen> -will give you a dvorak layout, probably by loading -something like <tt>/usr/lib/kbd/keymaps/i386/dvorak/dvorak.map.gz</tt>. -Under <tt/X/, put -<tscreen><verb> - XkbLayout "dvorak" -</verb></tscreen> -in <tt>XF86Config</tt>. - -<sect2>`Why doesn't the Backspace key generate BackSpace by default?'<p> -<nidx>backspace key!not generating correct keycode</nidx> - -(i) Because the VT100 had a Delete key above the Enter key. -<p> -(ii) Because Linus decided so. - -<sect1>How to tell X to interchange Delete and Backspace<p> -<nidx>X!swapping DEL, BS</nidx> -<nidx>xmodmap!using to swap DEL, BS</nidx> - -<tscreen><verb> - % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace" -</verb></tscreen> -Or, if you just want the Backspace key to generate a BackSpace: -<tscreen><verb> - % xmodmap -e "keycode 22 = BackSpace" -</verb></tscreen> -Or, if you just want the Delete key to generate a Delete: -<tscreen><verb> - % xmodmap -e "keycode 107 = Delete" -</verb></tscreen> -(but usually this is the default binding already). - -<sect1>How to tell emacs what to do when it receives a Delete or Backspace<p> -<nidx>emacs!binding DEL, BS</nidx> - -Put in your <tt/.emacs/ file lines like -<tscreen><verb> - (global-set-key "\?" 'help-command) - (global-set-key "\C-h" 'delete-backward-char) -</verb></tscreen> -Of course you can bind other commands to other keys in the same way. -Note that various major and minor modes redefine keybindings. -For example, in incremental search mode one finds the code -<tscreen><verb> - (define-key map "\177" 'isearch-delete-char) - (define-key map "\C-h" 'isearch-mode-help) -</verb></tscreen> -This means that it may be a bad idea to use the above two -global-set-key commands. There are too many places where -there are built-in assumptions about Ctrl-H = help and DEL = delete. -That doesn't mean that you have to setup keys so that Backspace -generates DEL. But if it doesn't then it is easiest to remap -them at the lowest possible level in emacs. - -<sect1>How to tell emacs to interchange Delete and Backspace<p> -<nidx>emacs!swapping DEL, BS</nidx> - -Put in your <tt/.emacs/ file lines -<tscreen><verb> - (setq keyboard-translate-table (make-string 128 0)) - (let ((i 0)) - (while (< i 128) - (aset keyboard-translate-table i i) - (setq i (1+ i)))) - (aset keyboard-translate-table ?\b ?\^?) - (aset keyboard-translate-table ?\^? ?\b) -</verb></tscreen> -Recent versions of emacs have a function <tt/keyboard-translate/ -and one may simplify the above to -<tscreen><verb> - (keyboard-translate ?\C-h ?\C-?) - (keyboard-translate ?\C-? ?\C-h) -</verb></tscreen> -Note that under X emacs can distinguish between Ctrl-h and the -Backspace key (regardless of what codes these produce on the console), -and by default emacs will view the Backspace key as DEL -(and do deletion things, as bound to that character, rather than -help things, bound to Ctrl-H). One can distinguish Backspace and Delete, -e.g. by -<tscreen><verb> - (global-unset-key [backspace] ) - (global-set-key [backspace] 'delete-backward-char) - (global-unset-key [delete] ) - (global-set-key [delete] 'delete-char) -</verb></tscreen> - -<sect1>How to tell kermit to interchange Delete and Backspace<p> -<nidx>kermit!swapping DEL, BS</nidx> - -Put in your <tt/.kermrc/ file the lines -<tscreen><verb> - set key \127 \8 - set key \8 \127 -</verb></tscreen> - -<sect1>How to tell xterm to interchange Delete and Backspace<p> -<nidx>xterm!swapping DEL, BS</nidx> -<tscreen><verb> -XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ - <KeyPress> Delete : string(0x08)\n -</verb></tscreen> - -<sect1>How to tell xterm about your favourite tty modes<p> -<nidx>xterm!setting tty modes for</nidx> - -Normally xterm will inherit the tty modes from its invoker. -Under <tt/xdm/, the default erase and kill characters are <tt/#/ and <tt/@/, -as in good old Unix Version 6. -If you don't like that, you might put something like -<tscreen><verb> - XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D \ - susp ^Z start ^Q stop ^S eol ^@ -</verb></tscreen> -in <tt>/usr/lib/X11/app-defaults/XTerm</tt> or in -<tt>$HOME/.Xresources</tt>, assuming that you have a line -<tscreen><verb> - xrdb -merge $HOME/.Xresources -</verb></tscreen> -in your <tt>$HOME/.xinitrc</tt> or <tt>$HOME/.xsession</tt>. - -<sect1>How to tell non-Motif X applications that the Del key deletes forward<p> -Put -<tscreen><verb> -*Text.translations: #override \ - ~Shift ~Meta <Key>Delete: delete-next-character() -</verb></tscreen> -into <tt>.Xresources</tt> to make non-Motif X applications such as -<tt>xfig</tt>, <tt>xedit</tt>, etc., work correctly. (Daniel T. Cobra) - -<sect1>How to tell xmosaic that the Backspace key generates a DEL<p> -<nidx>xmosaic!remapping BS key</nidx> -<nidx>Netscape!remapping BS</nidx> - -Putting -<tscreen><verb> - *XmText.translations: #override\n\ - <Key>osfDelete: delete-previous-character() - *XmTextField.translations: #override\n\ - <Key>osfDelete: delete-previous-character() -</verb></tscreen> -in your <tt>$HOME/.Xdefaults</tt> or -<tt>$HOME/.Xresources</tt> helps. -(What file? The file that is fed to <tt>xrdb</tt>, for example -in <tt>.xinitrc</tt>.) - -The netscape FAQ, however, says: -<verb> - Why doesn't my Backspace key work in text fields? - By default, Linux and XFree86 come with the Backspace and Delete keys - misconfigured. All Motif programs (including, of course, Netscape - Navigator) will malfunction in the same way. - - The Motif spec says that Backspace is supposed to delete the previous - character and Delete is supposed to delete the following character. - Linux and XFree86 come configured with both the Backspace and Delete - keys generating Delete. - - You can fix this by using any one of the xmodmap, xkeycaps, or - loadkeys programs to make the key in question generate the BackSpace - keysym instead of Delete. - - You can also fix it by having a .motifbind file; see the man page - for VirtualBindings(3). - - Note: Don't use the *XmText.translations or *XmTextField.translations - resources to attempt to fix this problem. If you do, you will blow - away Netscape Navigator's other text-field key bindings. -</verb> - -<sect1>A better solution for Motif-using programs, like netscape<p> -<nidx>Netscape!remapping BS</nidx> -<nidx>Motif!remapping BS</nidx> - -Ted Kandell (<tt/ted@tcg.net/) suggests the following: - -Somewhere in your .profile add the following: -<tscreen><verb> -stty erase ^H -</verb></tscreen> -If you are using <tt/bash/, add the following lines to your <tt/.inputrc/: -<tscreen><verb> -"\C-?": delete-char -"\C-h": backward-delete-char -</verb></tscreen> -Add the following lines to your .xinitrc file: -<tscreen><verb> -xmodmap <<-EOF -keycode 22 = BackSpace osfBackSpace -keycode 107 = Delete -EOF - -# start your window manager here, for example: -#(fvwm) 2>&1 | tee /dev/tty /dev/console - -stty sane -stty erase ^H -loadmap <<-EOF -keycode 14 = BackSpace -keycode 111 = Delete -EOF -</verb></tscreen> - -This will definitely work for a PC 101 or 102 key keyboard -with any Linux/XFree86 layout. - -The important part to making Motif apps like Netscape work properly -is adding osfBackSpace to keycode 22 in addition to BackSpace. - -Note that there must be spaces on either side of the = sign. - - -<sect1>What about termcap and terminfo?<p> -<nidx>termcap!remapping BS with</nidx> -<nidx>terminfo!remapping BS with</nidx> - -When people have problems with backspace, they tend to look at their termcap -(or terminfo) entry for the terminal, and indeed, there does exist a kb -(or kbs) capability describing the code generated by the Backspace key. -However, not many programs use it, so unless you are having problems with one -particular program only, probably the fault is elsewhere. -Of course it is a good idea anyway to correct your termcap (terminfo) entry. -See also below under "The TERM variable". - -<sect1>A complete solution<p> -There are many possibilities to get a functioning system. -Can't you give one complete set of settings that works? -<nidx>delete key!a solution</nidx> -<nidx>backspace key!a solution</nidx> -<p> -One way of getting a setup that works in all contexts -is to have the Backspace key generate DEL when on the -console (or xterm), and BackSpace when under X. -Maybe that is most convenient - there are too many X utilities -that expect BackSpace, and emacs on the console or xterm -expects DEL, while emacs under X can distinguish [BackSpace] -from Ctrl-H and does the right thing. -<p> -What is needed? -No loadkeys changes, since the Backspace key already generates -DEL by default. No stty settings, they are OK by default. -No X settings, they are OK by default. -One just has to tell xterm that the Backspace key should generate DEL: -put -<tscreen><verb> -XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ -</verb></tscreen> -in <tt/.Xresources/, and -<tscreen><verb> -xrdb -merge .Xresources -</verb></tscreen> -in <tt/.xinitrc/, and you are settled. - -For a much more extensive discussion of these things, and -alternative solutions, see -<htmlurl url="http://www.ibb.net/~anne/keyboard.html" -name="Anne Baretta's page">. - -<sect>The console character sets<p> -<nidx>console character sets</nidx> -<nidx>character sets, console</nidx> - -The kernel first tries to figure out what symbol is meant by any given -user byte, and next where this symbol is located in the current font. - -The kernel knows about 5 translations of bytes into console-screen symbols. -In Unicode (UTF-8) mode, the UTF-8 code is just converted directly into -Unicode. The assumption is that almost all symbols one needs are present -in Unicode, and for the cases where this does not hold the codes -0xf000-0xf1ff are reserved for direct font access. -When not in Unicode mode, one of four translation tables is used. -The four tables are: a) Latin1 -> Unicode, b) VT100 graphics -> Unicode, -c) PC -> Unicode, d) user-defined. - -There are two character sets, called G0 and G1, and one of them -is the current character set. (Initially G0.) -Typing Ctrl-N causes G1 to become current, Ctrl-O causes G0 to become current. - -These variables G0 and G1 point at a translation table, and can be changed -by the user. Initially they point at tables a) and b), respectively. -The sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( K cause G0 to point -at translation table a), b), c) and d), respectively. -The sequences ESC ) B and ESC ) 0 and ESC ) U and ESC ) K cause G1 to point -at translation table a), b), c) and d), respectively. - -The sequence ESC c causes a terminal reset, which is what you want if the -screen is all garbled. The oft-advised <tt/echo ˆVˆO/ will only -make G0 current, but there is no guarantee that G0 points at table a). -In some distributions there is a program reset(1) that just does -<tt>echo ˆ[c</tt>. -If your termcap entry for the console is correct (and has an entry -<tt>:rs=\Ec:</tt>), then also <tt/setterm -reset/ will work. - -The user-defined mapping table can be set using mapscrn(8). -The result of the mapping is that if a symbol c is printed, the symbol -<tt>s = map[c]</tt> is sent to the video memory. The bitmap that corresponds to -<tt/s/ is found in the character ROM, and can be changed using setfont(8). - -<sect>Console switching<p> -<nidx>console!switching</nidx> - -By default, console switching is done using Alt-Fn or Ctrl-Alt-Fn. -Under <tt/X/ (or recent versions of <tt/dosemu/), only Ctrl-Alt-Fn works. -Many keymaps will allow cyclic walks through all allocated consoles -using Alt-RightArrow and Alt-LeftArrow. - -XFree86 1.3 does not know that Alt is down when you switch to the X -window. Thus, you cannot switch immediately to some other VT again -but have to release Alt first. -In the other direction this should work: the kernel always keeps -track of the up/down status of all keys. (As far as possible: on some -keyboards some keys do not emit a scancode when pressed (e.g.: the PFn -keys of a FOCUS 9000) or released (e.g.: the Pause key of many keyboards).) - -XFree86 1.3 saves the fonts loaded in the character ROMs when started, -and restores it on a console switch. Thus, the result of <tt/setfont/ on -a VT is wiped out when you go to X and back. -Using <tt/setfont/ under X will lead to funny results. - -One can change VT under program control using the <tt/chvt/ command. - -<sect1>Changing the number of Virtual Consoles<p> -<nidx>console!changing number of</nidx> - -This question still comes up from time to time, but the answer is: -you already have enough of them. -Since kernel version 1.1.54, there are between 1 and 63 virtual -consoles. A new one is created as soon as it is opened. It is -removed by the utility <tt/deallocvt/ (but it can be removed only when -no processes are associated to it anymore, and no text on it has been -selected by programs like <tt/selection/ or <tt/gpm/). - -For older kernels, change the line -<tscreen><verb> - #define NR_CONSOLES 8 -</verb></tscreen> -in <tt>include/linux/tty.h</tt> (don't increase this number beyond 63), -and recompile the kernel. - -If they do not exist yet, create the tty devices with <tt/MAKEDEV/ -or <tt/mknod tty/N <tt/c 4/ N where N denotes the tty number. For example, -<tscreen><verb> - for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done -</verb></tscreen> -or, better (since it also takes care of owner and permissions), -<tscreen><verb> - for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done -</verb></tscreen> - -If you want the new VCs to run <tt/getty/, add lines in <tt>/etc/inittab</tt>. -(But it is much better to have only two <tt/getty/'s running, -and to create more consoles dynamically as the need arises. -That way you'll have more memory when you don't use all these consoles, -and also more consoles, in case you really need them. -Edit <tt>/etc/inittab</tt> and comment out all <tt/getty/'s except -for the first two.) - -When the consoles are allocated dynamically, it is usually easiest -to have only one or two running <tt/getty/. More are opened by -<tt>open -l -s bash</tt>. Unused consoles (without associated processes) -are deallocated using <tt/deallocvt/ (formerly <tt/disalloc/). -But, you say, I am involved in activities when I suddenly need more -consoles, and do not have a bash prompt available to give the <tt/open/ -command. -Fortunately it is possible to create a new console upon a single -keystroke, regardless of what is happening at the current console. - -If you have <tt/spawn_login/ from <tt/kbd-1.04.tar.gz/ and you put -<tscreen><verb> - loadkeys << EOF - alt keycode 103 = Spawn_Console - EOF - spawn_login & -</verb></tscreen> -in <tt>/etc/rc.local</tt>, then typing Alt-UpArrow will create a fresh VC -running <tt/login/ (and switch to it). With <tt/spawn_console &/ instead of -<tt/spawn_login &/ you'll have bash running there. -See also <tt>open-1.4.tgz</tt> and <tt/dynamic-vc-1.1.tar.gz/. - -What action should be taken upon this Spawn_Console keypress -can also be set in <tt>/etc/inittab</tt> under <tt/kbrequest/, -if you have a recent <tt/init/. See inittab(5). - -(This action can be something entirely different - I just called -the key Spawn_Console because that is what I used it for. -When used for other purposes it is less confusing to use -its synonym KeyboardSignal. -For example, some people like to put the lines -<tscreen><verb> - kb::kbrequest:/sbin/shutdown -h now -</verb></tscreen> -in <tt>/etc/inittab</tt>, and -<tscreen><verb> - control alt keycode 79 = KeyboardSignal - control alt keycode 107 = KeyboardSignal -</verb></tscreen> -in their keymap. Now Ctrl-Alt-End will do a system shutdown.) - -You can only login as "root" on terminals listed in <tt>/etc/securetty</tt>. -There exist programs that read terminal settings from files -<tt>/etc/ttys</tt> and <tt>/etc/ttytype</tt>. If you have such -files, and create additional consoles, then it might be a good idea -to also add entries for them in these files. - -<sect>Ctrl-Alt-Del and other special key combinations<p> - -<sect1>Ctrl-Alt-Del (Boot)<p> -<nidx>ctrl-alt-del!action taken by</nidx> - -If you press Ctrl-Alt-Del (or whatever key was assigned the keysym Boot by -loadkeys) then either the machine reboots immediately (without sync), or -<tt/init/ is sent a SIGINT. The former behaviour is the default. The default -can be changed by root, using the system call reboot(), see ctrlaltdel(8). -Some <tt/init/'s change the default. What happens when <tt/init/ gets SIGINT depends -on the version of <tt/init/ used - often it will be determined by the pf entry in -<tt>/etc/inittab</tt> (which means that you can run an arbitrary program -in this case). -In the current kernel Ctrl-AltGr-Del is no longer by default assigned to Boot. - -<sect1>Other combinations<p> -<nidx>keyboard!special key combinations</nidx> -<nidx>key combinations, special</nidx> - -<verb> -Name Default binding -------------------------------- -Show_Memory Shift-Scrollock -Show_Registers AltGr-ScrollLock -Show_State Ctrl-ScrollLock -Console_n Alt-Fn and Ctrl-Alt-Fn (1 <= n <= 12) -Console_{n+12} AltGr-Fn (1 <= n <= 12) -Incr_Console Alt-RightArrow -Decr_Console Alt-LeftArrow -Last_Console Alt[Gr]-PrintScreen -Scroll_Backward Shift-PageUp -Scroll_Forward Shift-PageDown -Caps_On (CapsLock is a toggle; this key sets) -Compose Ctrl-. -</verb> - -<sect1>X Combinations<p> -<nidx>keyboard!key combinations for X</nidx> -<nidx>key combinations, X</nidx> -<nidx>X!key combinations for</nidx> - -<verb> -Ctrl-Alt-Fn Switch to VT n -Ctrl-Alt-KP+ Next mode -Ctrl-Alt-KP- Previous mode -Ctrl-Alt-Backspace Kill X -</verb> -On some motherboards, Ctrl-Alt-KP- and Ctrl-Alt-KP+ will be equivalent to -pressing the Turbo button. That is, both will produce the scancodes -1d 38 4a ca b8 9d and 1d 38 4e ce b8 9d, and both will switch between -Turbo (>= 25MHz) and non-Turbo (8 or 12 MHz). -(Often these key combinations only function this way when enabled -by jumpers on the motherboard.) - -Perry F Nguyen (<tt/pfnguyen@netcom22.netcom.com/) writes: -AMI BIOS has a feature that locks up the keyboard and flashes the LED's -if the Ctrl-Alt-Backspace combination is pressed while a BIOS password -is enabled, until the CMOS/BIOS password is typed in. - -On some SiS based motherboards the combination Ctrl-Alt-Backspace -will cause a power off, or puts the machine in power save mode. -(Reported for SiS 630 and for SiS645DX.) - -<sect1>Dosemu Combinations<p> -<nidx>key combinations!dosemu</nidx> -<nidx>dosemu!key combinations for</nidx> - -<verb> -Ctrl-Alt-Fn Switch to VT n (from version 0.50; earlier Alt-Fn) -Ctrl-Alt-PgDn Kill dosemu (when in RAW keyboard mode) -(and many other combinations - see the dosemu documentation) -</verb> - -<sect1>Composing symbols<p> -<nidx>keyboard!composing symbols with</nidx> -<nidx>symbols!composing with keyboard</nidx> - -One symbol may be constructed using several keystrokes. -<itemize> -<item> -LeftAlt-press, followed by a decimal number typed on the keypad, followed -by LeftAlt-release, yields the symbol with code given by this number. -(In Unicode mode this same mechanism, but then with 4 hexadecimal digits, -may be used to define a Unicode symbol.) -<item> -A dead diacritic followed by a symbol, yields that symbol adorned with -that diacritic. If the combination is undefined, both keys are taken -separately. -Which keys are dead diacritics is user-settable; none is by default. -Five (since 2.0.25 six) dead diacritics can be defined (using loadkeys(1)): -dead_grave, dead_acute, dead_circumflex, dead_tilde, dead_diaeresis -(and dead_cedilla). -Precisely what this adorning means is also user-settable: -dead-diacritic, symbol is equivalent to Compose + diacritic + symbol. -<item> -Compose followed by two symbols yields a combination symbol. These -combinations are user-settable. Today there are 68 combinations -defined by default; you can see them by saying "dumpkeys | grep compose". -<item> -Then there are `Sticky' modifier keys (since 1.3.33). For example, -one can type Ctrl-C as SControl, C and Ctrl-Alt-BackSpace as SControl, -SAlt, BackSpace. -</itemize> - -Note that there are at least four such composition mechanisms: -<enum> -<item> -The Linux keyboard driver mechanism, used in conjunction with loadkeys. -<item> -The X mechanism - see X386keybd(1), later XFree86kbd(1). -Under X11R6: edit <tt>/usr/X11R6/lib/X11/locale/iso8859-1/Compose</tt>.<p> -See also Andrew D. Balsa's comments at -<htmlurl url="http://wauug.erols.com/~balsa/linux/deadkeys/index.html" -name="http://wauug.erols.com/~balsa/linux/deadkeys/index.html">. -<item> -The emacs mechanism obtained by loading "iso-insert.el" or -calling `iso-accents-mode'. -<item> -The vim mechanism: insert a composed symbol by pressing Ctrl-K -followed by two symbols. A list of the possible combinations is -obtained by the command <tt>:digraphs</tt>. -</enum> -For X the order of the two symbols is arbitrary: both Compose-,-c and -Compose-c-, yield a c-cedilla; for Linux and emacs only the former sequence -works by default. For X and vim the list of compose combinations is fixed. -Linux and emacs are flexible. -The default lists are somewhat similar, but the details are different. - -<sect1>The SysRq key<p> -<nidx>SysRq key</nidx> -In case your kernel was compiled with CONFIG_MAGIC_SYSRQ enabled -(a feature that is present since Linux 2.1.43) -there is a single key (defined in <tt><linux/keyboard.h></tt>) -to which special system functions are attached, regardless of the -current keyboard mode. For the PC architecture this special key is, -naturally, the Alt+SysRq key, and any of the two Alt keys will work. -(Note that if CONFIG_MAGIC_SYSRQ was not enabled, the default action -of this key is to return to the previous console.) -<p> -If you press this key, do not release it, and hit another key, -a corresponding action is performed. The action is performed whether -anybody is logged in or not, is root or not. For the details, see -<tt>drivers/char/sysrq.c</tt>. Since this feature is meant only -for kernel hackers, that should suffice. Still, let me add a few -remarks. -<p> -For the key r the keyboard mode is reset to K_XLATE. -For the key k a SAK and console reset is done. -For the key b the machine is rebooted immediately. -(See, not something you want to have enabled on a production machine.) -For the key o the power is turned off (when the machine is capable of that). -For the key s an emergency sync is scheduled. -For the key u an emergency read-only remount is scheduled. -For the keys p,t,m various information is shown -(namely the same information also shown for RAlt,RCtrl,RShift+ScrollLock). -For the keys e,i,l all processes get a SIG_TERM or SIG_KILL, respectively; -for l even the init process is killed. -Digits set the log level. Anything else prints a short summary: -<tt>SysRq: unRaw saK Boot Off Sync Unmount showPc showTasks showMem -loglevel0-8 tErm kIll killalL</tt>. -<p> -Note: These are very dangerous actions! And they do not use your -keymap - indeed, are meant for emergency cases where the state -of your keymap, or even of the entire kernel, is uncertain. -If you use a dvorak keyboard - bad luck! Most other people will -be able to survive: the dangerous letters A,M,Q,W,Y,Z that are -differently placed on English, French and German keyboards, are -not used for actions. (But if your finger slips and you hit L -instead of K - bye bye to your system.) -<p> -In Linux 2.3.13 the possibility to enable/disable SysRq was added. -<tscreen><verb> - echo 0 > /proc/sys/kernel/sysrq -</verb></tscreen> -will disable it (if the kernel was compiled with CONFIG_MAGIC_SYSRQ). - -<sect1>Problems<p> -A good keyboard accurately reports multiple key presses. -Especially for people using a keyboard as Braille input device, -where they have to be able to press up to six keys simultaneously, -this is important. Many modern keyboards fail here due to sloppy -design and testing - they misreport or fail in other ways when -four or more keys are pressed simultaneously, sometimes already -when two non-modifier keys are pressed simultaneously. -This affects Linux users a bit: the SysRq key is not a modifier key, -and people report problems using Alt-SysRq-<it>X</it> for various -letters or digits <it>X</it>. -<p> -Long ago a similar problem (`ghosting') was caused by the design -of the scan matrix: when three keys were pressed a fourth was -also seen. That problem was solved by the use of diodes. -Today it is the interface logic that is deficient. - -<sect>How to get out of raw mode<p> -<nidx>raw mode, exiting</nidx> - -If some program using K_RAW keyboard mode exits without restoring the keyboard -mode to K_XLATE, then it is difficult to do anything - not even Ctrl-Alt-Del -works. However, it is sometimes possible to avoid hitting the reset button. -(And desirable as well: your users may get angry if you kill their Hack game -by rebooting; you might also damage your file system.) -Easy solutions involve logging in from another terminal or another machine -and doing <tt>kbd_mode -a</tt>. -The procedure below assumes that no X is running, that the display is in -text mode, and that you are at your bash prompt, that you are using a US -keyboard layout, and that your interrupt character is Ctrl-C. - -Step 1. Start X. -As follows: press 2 (and don't release), press F12 (and don't release) -and immediately afterwards press = . This starts X. - (Explanation: if a key press produces keycode K, then the key release - produces keycode K+128. Probably your shell does not like these high - characters, so we avoid generating them by not releasing any key. - However, we have to be quick, otherwise key repeat starts. The digit 2 - produces a Ctrl-C that discards previous junk, the F12 produces an X - and the = a Return.) -Probably your screen will be grey now, since no <tt/.xinitrc/ was specified. -However, Ctrl-Alt-Fn will work and you can go to another VT. -(Ctrl-Alt-Backspace also works, but that exits X, and gets you back into -the previous state, which is not what you want.) - -Step 2. Setup to change the keyboard mode. -(For example, by <tt>sleep 5; kbd_mode -a</tt>.) - -Step 3. Leave X again. -Alt-Fx (often Alt-F7) brings you back to X, and then Ctrl-Alt-Backspace -exits X. Within 5 seconds your keyboard will be usable again. - -If you want to prepare for the occasion, then make -<tt>\215A\301</tt> (3 symbols) an alias for <tt/kbd_mode -a/. -Now just hitting = F7 = (3 symbols) will return you to sanity. - -<sect>The keyboard LEDs<p> -<nidx>LEDs, keyboard</nidx> -<nidx>keyboard!LEDs on</nidx> - -1. There are per-tty keyboard flags: -each VC has its own NumLock, CapsLock, ScrollLock. -By default these keyboard flags are shown in the LEDs. -The usual way to change them is by pressing the corresponding key. -(Side remark: pressing the NumLock key when in application key mode -will not change the NumLock status, but produce an escape sequence. -If you want the NumLock key to always change the Numlock status, -bind it to Bare_Num_Lock.) - -2. Next, there are per-tty default keyboard flags, -to initialize the keyboard flags when a reset occurs. -Thus if you want NumLock on all the time, that is possible. -The usual way to change them is by `<tt/setleds -D/ ...'. - -3. There is the possibility that the leds do not reflect -the keyboard flags, but something else. -<p> -3A. This something else can be three bits somewhere in the kernel - -which can be used if you want to monitor some hardware or software -status bit(s). If you want this, edit the kernel source to call -<tt/register_leds()/ somewhere. -<p> -3B. This something else can also be whatever some user program wants -to show in the LEDs. Thus, people who like such things can make -nice patterns of lights. If you want this, use the KDSETLED ioctl. - -This latter use is not per-tty, but the choice between former -and latter use is per-tty. - -Summarizing: Each tty has a flag <tt/kbd->ledmode/. -If this has the value LED_SHOW_FLAGS then the keyboard flags -(NumLock etc.) of that tty are shown. -If this has the value LED_SHOW_MEM then three selected memory -addresses are shown. -If this has the value LED_SHOW_IOCTL then the leds show whatever -value was last assigned to them using the KDSETLED ioctl. - -One may add that X uses ioctl's to set the LEDs, but fails -to reset its VT when it exits, so after using X there may -be one VT that is not in the default LED_SHOW_FLAGS state. -This can be fixed by doing `<tt/setleds -L/' on that VT. -See setleds(1). - -<sect>The TERM variable<p> -<nidx>TERM environment variable</nidx> -<nidx>environment variables!TERM</nidx> - -Many programs use the <tt/TERM/ variable and the database -<tt>/etc/termcap</tt> or <tt>/usr/lib/terminfo/*</tt> to decide -which strings to send for clear screen, move cursor, etc., -and sometimes also to decide which string is sent -by the users backspace key, function keys etc. -This value is first set by the kernel (for the console). -Usually, this variable is re-set by <tt/getty/, using <tt>/etc/ttytype</tt> or -the argument specified in <tt>/etc/inittab</tt>. -Sometimes, it is also set in <tt>/etc/profile</tt>. - -Older systems use <tt/TERM=console/ or <tt/TERM=con80x25/. Newer systems (with -ncurses 1.8.6) use the more specific <tt/TERM=linux/ or <tt/TERM=linux-80x25/. -However, old versions of <tt/setterm/ test for <tt/TERM=con*/ and hence fail -to work with <tt/TERM=linux/. - -Since kernel version 1.3.2, the kernel default for the console is -<tt/TERM=linux/. - -If you have a termcap without entry for linux, add the word linux -to the entry for the console: -<tscreen><verb> - console|con80x25|linux:\ -</verb></tscreen> -and make <tt>/usr/lib/terminfo/l/linux</tt> a copy of or symbolic link to -<tt>/usr/lib/terminfo/c/console</tt>. - -<sect1>Terminfo<p> -<nidx>terminfo</nidx> - -The terminfo entry for the linux console from ncurses 1.8.6 misses the -entry <tt>kich1=\E[2˜</tt>, needed by some programs. -Edit the file and <tt/tic/ it. - -<sect>How to make other programs work with non-ASCII chars<p> -<nidx>non-ASCII characters, using</nidx> - -In the bad old days this used to be quite a hassle. Every separate -program had to be convinced individually to leave your bits alone. -Not that all is easy now, but recently a lot of gnu utilities have -learned to react to <tt/LC_CTYPE=iso_8859_1/ or <tt/LC_CTYPE=iso-8859-1/. -Try this first, and if it doesn't help look at the hints below. -Note that in recent versions of libc the routine setlocale() only -works if you have installed the locale files (e.g. in -<tt>/usr/lib/locale</tt>). - -NOTE! The above was written years ago. Today locale stuff is a bit different. -Try the command <tt>locale -a</tt> to see which locales are available. -Then use one of these locale names instead of the <tt>iso_8859-1</tt> -mentioned above. For example, <tt>LC_CTYPE=fr_FR.ISO-8859-1</tt> or -<tt/LC_CTYPE=fr_FR@euro</tt>. - -NOTE! Some of the below may still be true. Most of it is outdated. -(Please report on what is incorrect today, so that it can be deleted.) - -First of all, the 8-th bit should survive the kernel input processing, -so make sure to have <tt/stty cs8 -istrip -parenb/ set. - -A. For <tt/emacs/ the details strongly depend on the version. -The information below is for version 19.34. Put lines -<tscreen><verb> - (set-input-mode nil nil 1) - (standard-display-european t) - (require 'iso-syntax) -</verb></tscreen> -into your <tt>$HOME/.emacs</tt>. -The first line (to be precise: the final 1) -tells <tt/emacs/ not to discard the 8-th bit from input characters. -The second line tells <tt/emacs/ not to display non-ASCII characters -as octal escapes. -The third line specifies the syntactic properties -and case conversion table for the Latin-1 character set -These last two lines are superfluous if you have something like -<tt/LC_CTYPE=ISO-8859-1/ in your environment. -(The variable may also be <tt/LC_ALL/ or even <tt/LANG/. -The value may be anything with a substring `88591' or `8859-1' -or `8859_1'.) -<p> -This is a good start. -On a terminal that cannot display non-ASCII ISO 8859-1 symbols, -the command -<tscreen><verb> - (load-library "iso-ascii") -</verb></tscreen> -will cause accented characters to be displayed comme {,c}a. -If your keymap does not make it easy to produce non-ASCII characters, -then -<tscreen><verb> - (load-library "iso-transl") -</verb></tscreen> -will make the 2-character sequence Ctrl-X 8 a compose character, -so that the 4-character sequence Ctrl-X 8 , c produces c-cedilla. -Very inconvenient. -<p> -The command -<tscreen><verb> - (iso-accents-mode) -</verb></tscreen> -will toggle ISO-8859-1 accent mode, in which the six -characters ', `, ", ˆ, ˜, / are dead keys -modifying the following symbol. -Special combinations: ˜c gives a c with cedilla, -˜d gives an Icelandic eth, ˜t gives an Icelandic thorn, -"s gives German sharp s, /a gives a with ring, -/e gives an a-e ligature, ˜< and ˜> give guillemots, -˜! gives an inverted exclamation mark, -˜? gives an inverted question mark, and '' gives an acute accent. -This is the default mapping of accents. -The variable <tt/iso-languages/ is a list of pairs (language name, -accent mapping), and a non-default mapping can be selected using -<tscreen><verb> - (iso-accents-customize LANGUAGE) -</verb></tscreen> -Here LANGUAGE can be one of <tt/"portuguese"/, <tt/"irish"/, -<tt/"french"/, <tt/"latin-2"/, <tt/"latin-1"/. - -Since the Linux default compose character is Ctrl-. -it might be convenient to use that everywhere. Try -<tscreen><verb> - (load-library "iso-insert.el") - (define-key global-map [?\C-.] 8859-1-map) -</verb></tscreen> -The latter line will not work under <tt/xterm/, if you use <tt/emacs -nw/, -but in that case you can put -<tscreen><verb> - XTerm*VT100.Translations: #override\n\ - Ctrl <KeyPress> . : string("\0308") -</verb></tscreen> -in your <tt/.Xresources/.) - -B. For <tt/less/, put <tt/LESSCHARSET=latin1/ in the environment. -This is also what you need if you see <tt/\255/ or <tt/<AD>/ -in <tt/man/ output: some versions of <tt/less/ will render the soft hyphen -(octal 0255, hex 0xAD) this way when not given permission to output Latin-1. - -C. For <tt/ls/, give the option <tt/-N/. (Probably you want to make an alias.) - -D. For <tt/bash/ (version 1.13.*), put -<tscreen><verb> - set meta-flag on - set convert-meta off - set output-meta on -</verb></tscreen> -into your <tt>$HOME/.inputrc</tt>. - -E. For <tt/tcsh/, use -<tscreen><verb> - setenv LANG en_US - setenv LC_CTYPE iso_8859_1 -</verb></tscreen> -If you have nls on your system, then the corresponding routines are used. -Otherwise <tt/tcsh/ will assume iso_8859_1, regardless of the values given to -LANG and LC_CTYPE. See the section NATIVE LANGUAGE SYSTEM in tcsh(1). -(The Danish HOWTO says: <tt>setenv LC_CTYPE ISO-8859-1; stty pass8</tt>) - -F. For <tt/flex/, give the option <tt/-8/ if the parser it generates must be -able to handle 8-bit input. (Of course it must.) - -G. For <tt/elm/, set <tt/displaycharset/ to <tt/ISO-8859-1/. -(Danish HOWTO: <tt/LANG=C/ and <tt/LC_CTYPE=ISO-8859-1/) - -H. For programs using curses (such as <tt/lynx/) David Sibley reports: -The regular curses package uses the high-order bit for reverse video mode -(see flag _STANDOUT defined in <tt>/usr/include/curses.h</tt>). However, -<tt/ncurses/ seems to be 8-bit clean and does display iso-latin-8859-1 -correctly. - -I. For programs using <tt/groff/ (such as <tt/man/), make sure to use -<tt/-Tlatin1/ instead of <tt/-Tascii/. Old versions of the program <tt/man/ -also use <tt/col/, and the next point also applies. - -K. For <tt/rlogin/, use option <tt/-8/. - -L. For <tt/joe/, -<tt>metalab.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz</tt> -is said to work after editing the configuration file. Someone else said: -<tt/joe/: Put the <tt/-asis/ option in <tt>/isr/lib/joerc</tt> in the -first column. - -M. For LaTeX: <tt>\documentstyle[isolatin]{article}</tt>. -For LaTeX2e: <tt>\documentclass{article}\usepackage{isolatin}</tt> -where <tt>isolatin.sty</tt> is available from -<htmlurl url="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit" -name="ftp.vlsivie.tuwien.ac.at/pub/8bit">. - -A nice discussion on the topic of ISO-8859-1 and how to manage 8-bit -characters is contained in the file <tt>grasp.insa-lyon.fr:/pub/faq/fr/accents</tt> -(in French). Another fine discussion (in English) can be found in -<htmlurl -url="ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/internationalization/iso-8859-1-charset" -name="rtfm.mit.edu:pub/usenet-by-group/comp.answers/internationalization/iso-8859-1-charset">. - -If you need to fix a program that behaves badly with 8-bit characters, -one thing to keep in mind is that if you have a signed char type then -characters may be negative, and using them as an array index will fail. -Several programs can be fixed by judiciously adding (unsigned char) casts. - -<sect>X<p> - -This FAQ/HOWTO is about the Linux keyboard and console, not about X, -which substitutes its own handling. However, it seems useful to -document some of the Linux keyboard and console related properties -of X. - -First of all, when X is started (say using <tt/startx/ or <tt/xinit/) -it opens the first unused console, unless the desired console has been -indicated explicitly, as in <tt/xinit -- vt12/. -Note that this will fail when there is no device file <tt>/dev/tty12</tt>, -but that it will not fail when the indicated console was in use already. -When X finishes, it will return to the original console. -While it is running one can use Ctrl-Alt-Fn to switch to VTn. -<p> -The XFree86 keymap mechanism is much poorer than the Linux mechanism. -For each keycode there are at most 4 symbols defined, namely for the -4 keymaps plain, shift, mod, mod+shift. What is the modifier mod? -It is the one designated by the symbol <tt/Mode_switch/. -For example, the command <tt/xmodmap keys.dk/, where the file -<tt/keys.dk/ contains -<tscreen><verb> -keycode 64 = Mode_switch -keycode 113 = Mode_switch -keycode 38 = a A aring Aring -keycode 26 = e E ae AE -keycode 32 = o O oslash Ooblique -</verb></tscreen> -will make both Alt keys into mod keys, so that Alt+a gives (a-ring), etc. -(Note the illogical naming of oslash and Ooblique.) -Such an <tt/xmodmap/ command can be placed in the <tt/.xinitrc/ -shell script that is executed by default when X is started. - -<sect1>What precisely does XFree86-2.1 do when it initializes its keymap?<p> -<nidx>keymap!initialization by XFree86</nidx> -<nidx>XFree86!keymap initialization</nidx> - -Since version 2.1, XFree86 will initialize its keymap from the Linux keymap, -as far as possible. However, Linux had 16 entries per key (one for each -combination of the Shift, AltGr, Ctrl, Alt modifiers) and presently has -256 entries per key, while X has 4 entries per key (one for each combination -of Shift, Mod), so some information is necessarily lost. - -First <tt/X/ reads the <tt/Xconfig/ file, where definitions of the LeftAlt, RightAlt, -RightCtl, ScrollLock keys as Meta, ModeShift, Compose, ModeLock or ScrollLock -might be found - see X386keybd(1), later XFree86kbd(1). - -For Mod the LeftAlt key is taken, unless RightCtl was defined as ModeShift or -ModeLock, in which case RightCtl is taken, or RightAlt was so defined, in which -case RightAlt is taken. -This determines how the 4 XFree86 meanings of a key are selected from the 16 -Linux meanings. -Note that Linux today does not distinguish by default between the two Ctrl keys -or between the two Shift keys. <tt/X/ does distinguish. - -Now the kernel keymap is read and the usually obvious corresponding X -bindings are made. The bindings for the "action keys" Show_Memory, Show_State, -Show_Registers, Last_Console, Console_n, Scroll_Backward, Scroll_Forward, -Caps_On and Boot are ignored, as are the dead diacriticals, and the locks -(except for ShiftLock), and the "ASCII-x" keys. - -Next, the definitions in the <tt/Xconfig/ file are used. (Thus, a definition -of Compose in <tt/Xconfig/ will override its value as found in the Linux -keymap.) - -What happens to the strings associated with the function keys? Nothing, -X does not have such a concept. (But it is possible to define strings -for function keys in <tt/xterm/ - note however that the window manager gets the -keys first.) - -I don't know how to convince <tt/xterm/ that it should use the X keymap -when Alt is pressed; it seems just to look at its resource <tt/eightBitInput/, -and depending on whether that is true or false either set the high order bit -of the character, or generate an additional Escape character -(just like setmetamode(1) does for the console). - -<sect>Unusual keys and keyboards<p> -<nidx>keyboard!unusual versions of</nidx> -<nidx>keyboard!non-standard keys on</nidx> - -The two keys PrintScrn/SysRq and Pause/Break are special in that they -have two keycodes: the former has keycode 84 when Alt is pressed -simultaneously, and keycode 99 otherwise; the latter has keycode -101 when Ctrl is pressed simultaneously, and keycode 119 otherwise. -(Thus, it makes no sense to bind functions to Alt keycode 99 or -Ctrl keycode 119.) The Pause/Break key is also special in another way: -it does not generate key-up scancodes, but generates the entire -6-scancode sequence on key-down. - -If you have strange keys, that do not generate any code under Linux -(or generate messages like "unrecognized scancode"), and your kernel -is 1.1.63 or later, then you can use setkeycodes(1) to tell the kernel -about them. Once they have gotten a keycode from <tt/setkeycodes/, -they can be assigned a function by <tt/loadkeys/. - -For example, using <tt/showkey -s/ one sees that Microsoft keyboards -use the scancode sequences (in hexadecimal) e0 5b (left Windows key), -e0 5c (right Windows key), e0 5d (Menu key). -Microsoft Internet keyboard also uses e0 6a (Back), e0 69 (Forward), -e0 68 (Stop), e0 6c (Mail), e0 65 (Search), e0 66 (Favorites), -e0 32 (Web/Home), e0 6b (My Computer), e0 21 (Calculator), e0 5f (Sleep). -Use <tt>dumpkeys</tt> to see what keycodes are still unused. -Typically values like 89-95 and 112-118 and 120-127 are free. -Now -<tscreen><verb> - % setkeycodes e05b 125 - % setkeycodes e05c 126 - % setkeycodes e05d 127 -</verb></tscreen> -assigns keycodes to these scancode sequences, and -<tscreen><verb> - % loadkeys - keycode 125 = Decr_Console - keycode 126 = Incr_Console - keycode 127 = KeyboardSignal - % -</verb></tscreen> -would make these Windows keys go to the previous or next virtual console, -and let the Menu key create a fresh virtual console (in case you have -something like <tt/spawn_console/ running). - -<sect1>Funkeys<p> -Many modern keyboards have buttons or keys with labels like -"Vol Up", "Eject" etc. that suggest actions rather than strings. -Of course one can bind shell commands to them, but then they'll -work only when you are at a shell prompt. -Rick van Rein wrote a package funkey consisting of a kernel patch -and a daemon. The kernel patch creates a new character device, -and adds a new key type to indicate which keystrokes should be -sent to this new character device. A daemon can now listen to -the character device, somewhat like <tt>gpm</tt> listens to the -mouse device, and perform the actions indicated in its config file. -See <htmlurl url="http://rick.vanrein.org/linux/funkey" -name="rick.vanrein.org/linux/funkey">. - -<sect>Examples of use of loadkeys and xmodmap<p> -<nidx>loadkeys!example using</nidx> -<nidx>xmodmap!example using</nidx> - -Switching Caps Lock and Control on the keyboard (assuming you use -keymaps 0-15; check with <tt>dumpkeys | head -1</tt>) -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 58 = Control - keycode 29 = Caps_Lock - % -</verb></tscreen> -Switching them under X only: -<tscreen><verb> - % xmodmap .xmodmaprc -</verb></tscreen> -where <tt/.xmodmaprc/ contains lines -<tscreen><verb> - remove Lock = Caps_Lock - remove Control = Control_L - keysym Control_L = Caps_Lock - keysym Caps_Lock = Control_L - add Lock = Caps_Lock - add Control = Control_L -</verb></tscreen> -What is this about the key numbering? Backspace is 14 under Linux, -22 under X? Well, the numbering can best be regarded as arbitrary; -the Linux number of a key can be found using showkey(1), and the -X number using xev(1). Often the X number will be 8 more than the -Linux number. - -Something else people like to change are the bindings of the function keys. -Suppose that you want to make F12 produce the string "emacs ". -Then -<tscreen><verb> - % loadkeys - keycode 88 = F12 - string F12 = "emacs " - % -</verb></tscreen> -will do this. More explicitly, the procedure is like this: -(i) find the keycodes of the keys to be remapped, using showkey(1). -(ii) save the current keymap, make a copy and edit that: -<tscreen><verb> - % dumpkeys > my_keymap - % cp my_keymap trial_keymap - % emacs trial_keymap - % loadkeys trial_keymap - % -</verb></tscreen> -The format of the table can be guessed by looking at the output -of <tt/dumpkeys/, and is documented in keymaps(5). -When the new keymap functions as desired, you can put an invocation -<tscreen><verb> - loadkeys my_new_keymap -</verb></tscreen> -in <tt>/etc/rc.local</tt> or so, to execute it automatically at boot-up. -Note that changing modifier keys is tricky, and a newbie can easily -get into a situation only an expert can get out of. -<p> -The default directory for keymaps is <tt>/usr/lib/kbd/keymaps</tt>. -The default extension for keymaps is <tt>.map</tt>. -For example, <tt>loadkeys uk</tt> would probably load -<tt>/usr/lib/kbd/keymaps/i386/qwerty/uk.map</tt>. -(With kbd-0.95 and older this would be <tt>/usr/lib/kbd/keytables</tt> -and <tt>/usr/lib/kbd/keytables/uk.map</tt>.) -<p> - -(On my machine) <tt>/dev/console</tt> is a symbolic link to <tt>/dev/tty0</tt>, -and the kernel regards <tt>/dev/tty0</tt> as a synonym for the current VT. -XFree86 1.3 changes the owner of <tt>/dev/tty0</tt>, but does not reset this -after finishing. Thus, <tt/loadkeys/ or <tt/dumpkeys/ might fail because -someone else owns <tt>/dev/tty0</tt>; -in such a case you might run X first. -Note that you cannot change keyboard mappings when not at the console -(and not superuser). - -<sect1>`I can use only one finger to type with'<p> -<nidx>keyboard!making modifier keys toggle</nidx> - -"Can the Shift, Ctrl and Alt keys be made to behave as toggles?"<p> -Yes, after saying -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 29 = Control_Lock - keycode 42 = Shift_Lock - keycode 56 = Alt_Lock - % -</verb></tscreen> -the left Control, Shift and Alt keys will act as toggles. -The numbers involved are revealed by showkey -(and usually are 29, 97, 42, 54, 56, 100 for left and right control, -shift and alt, respectively), and the functions are -Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock. - -"What about `sticky' modifier keys?"<p> -Since version 1.3.33, the kernel knows about `sticky' modifier keys. -These act on the next key pressed. So, where one earlier needed -the 3-symbol sequence Shift_Lock a Shift_Lock to type `A', one -can now use the 2-symbol sequence SShift a. -You can say -<tscreen><verb> - % loadkeys - keymaps 0-15 - keycode 54 = SShift - keycode 97 = SCtrl - keycode 100 = SAlt - % -</verb></tscreen> -to make the right Shift, Ctrl, Alt sticky versions of the left ones. -This will allow you to type Ctrl-Alt-Del in three keystrokes with one hand. - -The keymaps line in these examples should cover all keymaps you have in use. -You find what keymaps you have in use by -<tscreen><verb> - % dumpkeys | head -1 -</verb></tscreen> - - -<sect1>Sticky keys under <tt/X/<p> -The following text was contributed by Piotr Mitros. - -XFree86 supports an accessibility option which allows disabled users -to type single-handed. With sticky keys enabled, the user can hit a -modifier key (ctrl, alt, shift) followed by another key, rather than -having to hold the modifier key while hitting the letter. - -To enable sticky keys, first make sure the xkb extension is enabled -(this is done during initial <tt/X/ server configuration and is usually -enabled by default). Next, run the <tt/X/ server with the <tt/+accessx/ -option. If you use <tt/startx/, either run <tt/startx -- +accessx/ or -add <tt/+accessx/ to the serverargs line in the <tt/startx/ script. -If you use <tt/xdm/, add <tt/+accessx/ to the appropriate server line -in <tt>/etc/X11/xdm/Xservers</tt>. - -It is also possible to enable <tt/X/ accessibility with some end-user -utilities with a running <tt/X/ server. - -Once <tt/X/ accessibility is enabled, press the shift key five times in a -row to enable sticky keys. To disable sticky keys, either press the -shift key five times again, or press a key while holding a modifier -key. - -XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an -audible bell. <tt/xkbcomp/ can be used to generate a <tt/.xkm/ file -to enable these. The appropriate <tt/xkbcomp/ commands are listed in -<tt>/usr/X11R6/lib/X11/xkb/compat/accessx</tt>. -Unfortunately, the exact process is still undocumented. - -<sect>Changing the video mode<p> -<nidx>console!changing video modes</nidx> -<nidx>video modes, changing</nidx> -<nidx>resolution, changing</nidx> - -As far as I know there are 6 ways to change resolution: - -1. At compile time: change the line -<tscreen><verb> - SVGA_MODE= -DSVGA_MODE=NORMAL_VGA -</verb></tscreen> -in <tt>/usr/src/linux/Makefile</tt>. - -1A. After compilation: use <tt>rdev -v</tt> - a terrible hack, but it exists. - -2. At boot time: put <tt>vga=ask</tt> in the lilo config file, and lilo will -ask you what video mode you want. Once you know, put <tt/vga=/mypreference. - -3. At run time: -A. Use the <tt/resizecons/ command. (This is a very primitive wrapper around -the VT_RESIZE ioctl.) -B. Use the <tt/SVGATextMode/ command. (This is a less primitive wrapper around -the VT_RESIZE ioctl.) - -4. Not "on the console": -Under <tt/dosemu/, or with svgalib etc. you can change the hardware video mode -without the console driver being aware of it. Sometimes this is useful in -getting <tt/resizecons/ or <tt/SVGATextMode/ set up: use <tt/dosemu/ and some -DOS program to get into the desired videomode, dump (say from another VT) the -contents of all video hardware registers, and use that in the initialization -that <tt/resizecons/ and <tt/SVGATextMode/ require. -In some cases where the video mode has gotten into some unusable state, -starting <tt/dosemu/, relying on the BIOS to set up the video mode, and then -killing <tt/dosemu/ (with <tt/kill -9/), is the easiest way to get into shape -again. - -<sect1>Instructions for the use of resizecons<p> -<nidx>resizecons program</nidx> - -Get svgalib and compile the program <tt/restoretextmode/. -Boot up your machine in all possible video modes -(using <tt/vga=ask/ in the lilo config file), and write -the video hardware register contents to files CxR -(C=cols, R=rows), e.g., 80x25, 132x44, etc. -Put these files in <tt>/usr/lib/kbd/videomodes</tt>. -Now <tt>resizecons 132x44</tt> will change videomode for you -(and send SIGWINCH to all processes that need to know -about this, and load another font if necessary). - -At present, <tt/resizecons/ only succeeds when there is memory enough -for both the old and the new consoles at the same time. - -<sect>Changing the keyboard repeat rate<p> -<nidx>keyboard!repeat rate, setting</nidx> - -At startup, the Linux kernel sets the repeat rate to its maximal value. -For most keyboards this is reasonable, but for some it means that you -can hardly touch a key without getting three copies of the corresponding -symbol. Use the program kbdrate(8) to change the repeat rate, or, if -that doesn't help, edit or remove the section -<code> - ! set the keyboard repeat rate to the max - - mov ax,#0x0305 - xor bx,bx ! clear bx - int 0x16 -</code> -of <tt>/usr/src/linux/[arch/i386/]boot/setup.S</tt>. - -Scott Johnston (<tt/sj@zule.com/) reports: `To program the -repeat rate of a Gateway AnyKey keyboard all one has to do -is press the "Repeat Rate" key, then a function key -F1-F8, then "Repeat Rate" again. F1 is the slowest possible repeat rate, -and F8 is really fast. If you somehow manage to mess up your AnyKey -keyboard doing this, simply press Ctrl-Alt-SuspndMacro to reset -your keyboard to factory default settings.' - -<sect>Scrolling<p> -<nidx>console!scrolling</nidx> -<nidx>scrolling, console</nidx> - -There are two ways to get a screen to scroll. -The first, called `hard scrolling', is to leave the text in -video memory as it is, but change the viewing origin. This is -very fast. -The second, called `soft scrolling', involves moving all screen text -up or down. This is much slower. -The kernel console driver will write text starting at the top of -the video memory, continuing to the bottom, then copy the bottom -part to the top again, and continue, all the time using hard scrolling -to show the right part on the screen. -You can scroll back until the top op the video memory by using -Shift-PageUp (the grey PageUp) and scroll down again using -Shift-PageDown (the grey PageDown), assuming a default keymap. -The amount of scrollback is thus limited to the amount of video memory -you happen to have and you cannot increase this amount. -If you need more scrollback, use some program that -buffers the text, like <tt/less/ or <tt/screen/ - by using -a buffer on disk you can go back to what you did last week. -(One can set the amount of scrollback for <tt/xterm/ by -adding a line like <tt/XTerm*saveLines: 2500/ in <tt/.Xresources/.) - -Upon changing virtual consoles, the screen content of the old VT -is copied to kernel memory, and the screen content of the new VT -is copied from kernel memory to video memory. Only the visible screen -is copied, not all of video memory, so switching consoles means -losing the scrollback information. - -Sometimes, hard scrolling is undesirable, for example when the hardware -does not have the possibility to change viewing origin. The first -example was a Braille machine that would render the top of video -memory in Braille. There is a kernel boot-time option <tt/no-scroll/ -to tell the console driver not to use hard scrolling. -See bootparam(7). - -<sect>Screensaving<p> -<nidx>screensaving!controlling</nidx> -<nidx>screen blanking</nidx> - -<tt>setterm -blank</tt> <it/nn/ will tell the console driver to blank the -screen after <it/nn/ minutes of inactivity. (With <it/nn/ = 0, screensaving -is turned off. In some old kernels this first took effect after the next -keyboard interrupt.) - -The <tt/s/ option of xset(1) will set the X screensaving parameters: -<tt>xset s off</tt> turns off the screensaver, -<tt>xset s 10</tt> blanks the screen after 10 minutes. - -The video hardware powersaving modes can be enabled/disabled -using the <tt/setvesablank/ program given in the starting comment of -<tt>/usr/src/linux/drivers/char/vesa_blank.c</tt>. - -<sect>Screen dumps<p> -<nidx>console!screenshots, obtaining</nidx> -<nidx>screenshots!obtaining from console</nidx> - -<tt>setterm -dump</tt> <it/N/ will dump the contents of the -screen of <tt>/dev/tty</tt><it/N/ to a file <tt/screen.dump/ -in the current directory. See setterm(1). - -The current contents of the screen of <tt>/dev/tty</tt><it/N/ -can be accessed using the device <tt>/dev/vcs</tt><it/N/ -(where `vcs' stands for `virtual console screen'). -For example, you could have a clock program that displays the -current time in the upper right hand corner of the console screen -(see the program <tt/vcstime/ in <tt/kbd-1.04.tar.gz/). -Just dumping the contents goes with <tt>cat /dev/vcs</tt><it/N/. -These device files <tt>/dev/vcs</tt><it/N/ do not contain -newlines, and do not contain attributes, like colors. From a program -it is usually better to use <tt>/dev/vcsa</tt><it/N/ -(`virtual console screen with attributes') instead - it starts with -a header giving the number of rows and columns and the location -of the cursor. -See vcs(4). - -<sect>Some properties of the VT100 - application key mode<p> -<nidx>keyboard!VT100 application key mode</nidx> -<nidx>VT100 application key mode</nidx> - -: Sometimes my cursor keys or keypad keys produce strange codes? - -When the terminal is in application cursor key mode the cursor keys -produce Esc O x and otherwise Esc [ x where x is one of A,B,C,D. -Certain programs put the terminal in application cursor key mode; -if you kill them with <tt/kill -9/, or if they crash, then the mode will -not be reset. -<verb> % echo -e '\033c' </verb> -resets all properties of the current VC. Just changing the cursor -application key mode is done by -<verb> % echo -e '\033[?1h' </verb> -(set) and -<verb> % echo -e '\033[?1l' </verb> -(clear). - -When the terminal is in application keypad key mode the keypad keys -produce Esc O y and otherwise Esc [ z ˜ for -certain y and z. Setting application keypad key mode is done by -<verb> % echo -e '\033=' </verb> -and -<verb> % echo -e '\033>' </verb> -clears it again. - -<sect>Hardware incompatibility<p> -<nidx>keyboard!hardware incompatibilities</nidx> -<nidx>incompatibility!keyboard-related</nidx> - -Several people have noticed that they lose typed characters when -a floppy disk is active. It seems that this might be a problem with -Uni-486WB motherboards. - -Tjalling Tjalkens (<tt/tjalling@ei.ele.tue.nl/) reports very similar problems -with "a no-brand GMB-486 UNP Vesa motherboard with AMD 486DX2-66 CPU" - -during floppy activity some keystrokes are lost, during floppy tape streamer -(Conner C 250 MQ) activity many keystrokes are lost. - -Some people experience sporadic lockups - sometimes associated to -hard disk activity or other I/O. - -Ulf Tietz (<tt/ulf@rio70.bln.sni.de/) wrote: -`I have had the same problems, when I had my motherboard tuned too fast. -So I reset all the timings ( CLK, wait statements etc ) to more -conventional values, and the problems are gone.' - -Bill Hogan (<tt/bhogan@crl.com/) wrote: -`If you have an AMI BIOS, you might try setting the Gate A20 emulation -parameter to "chipset" (if you have that option). Whenever I have had -that parameter set to any of the other options on my machine -("fast", "both", "disabled") I have had frequent keyboard lockups.' - -There may be a relation between keyboard problems and the video card in use. - -Shawn K. Quinn (<tt/skquinn@wt.net/) wrote: -`I have a Zeos Pantera Pentium-90 that originally came with a Diamond Stealth -64 S3-based video card. Under X I frequently got q's inserted into my text -(how annoying) especially if I typed very fast (during Netrek for instance, -even more annoying because guess what that does :-( ). -Switching to a Creative Labs Graphics Blaster MA202 solved the problem. -I'm assuming the Stealth 64 did something funny with the timings.' - -<sect>Copyright<p> -Copyright (c) 1993-2001 by Andries Brouwer. This document may be -distributed under the terms set forth in the LDP license -at <htmlurl url="http://metalab.unc.edu/LDP/COPYRIGHT.html" -name="http://metalab.unc.edu/LDP/COPYRIGHT.html"> or -<htmlurl url="ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt" -name="ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt">. - -Additions and corrections are welcome. -Andries Brouwer - <tt/aeb@cwi.nl/ - -</article> diff --git a/docs/doc/kbd.FAQ.txt b/docs/doc/kbd.FAQ.txt deleted file mode 100644 index ab208bb5..00000000 --- a/docs/doc/kbd.FAQ.txt +++ /dev/null @@ -1,2163 +0,0 @@ - The Linux keyboard and console HOWTO - Andries Brouwer, aeb@cwi.nl - v2.9, 990114 - - This note contains some information about the Linux keyboard and con- - sole, and the use of non-ASCII characters. It describes Linux 2.0. - ______________________________________________________________________ - - Table of Contents - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1. Useful programs - - 2. Keyboard generalities - - 3. Console generalities - - 4. Resetting your terminal - - 4.1 Keyboard hardware reset - - 5. Delete and Backspace - - 5.1 How to tell Unix what character you want to use to delete the last typed character - 5.1.1 `Getty used to do the right thing with DEL and BS but is broken now?' - 5.1.2 `Login behaves differently at the first and second login attempts?' - 5.2 How to tell Linux what code to generate when a key is pressed - 5.2.1 `How do I get a dvorak keyboard?' - 5.2.2 `Why doesn't the Backspace key generate BackSpace by default?' - 5.3 How to tell X to interchange Delete and Backspace - 5.4 How to tell emacs what to do when it receives a Delete or Backspace - 5.5 How to tell emacs to interchange Delete and Backspace - 5.6 How to tell kermit to interchange Delete and Backspace - 5.7 How to tell xterm to interchange Delete and Backspace - 5.8 How to tell xterm about your favourite tty modes - 5.9 How to tell xmosaic that the Backspace key generates a DEL - 5.10 A better solution for Motif-using programs, like netscape - 5.11 What about termcap and terminfo? - 5.12 A complete solution - - 6. The console character sets - - 7. Console switching - - 7.1 Changing the number of Virtual Consoles - - 8. Ctrl-Alt-Del and other special key combinations - - 8.1 Ctrl-Alt-Del (Boot) - 8.2 Other combinations - 8.3 X Combinations - 8.4 Dosemu Combinations - 8.5 Composing symbols - 8.6 The SysRq key - - 9. How to get out of raw mode - - 10. The keyboard LEDs - - 11. The TERM variable - - 11.1 Terminfo - - 12. How to make other programs work with non-ASCII chars - - 13. X - - 13.1 What precisely does XFree86-2.1 do when it initializes its keymap? - - 14. Unusual keys and keyboards - - 15. Examples of use of loadkeys and xmodmap - - 15.1 `I can use only one finger to type with' - - 16. Changing the video mode - - 16.1 Instructions for the use of resizecons - - 17. Changing the keyboard repeat rate - - 18. Scrolling - - 19. Screensaving - - 20. Screen dumps - - 21. Some properties of the VT100 - application key mode - - 22. Hardware incompatibility - - 23. Copyright - - - - ______________________________________________________________________ - - 11.. UUsseeffuull pprrooggrraammss - - - The following packages contain keyboard or console related programs. - - kbd-1.00.tar.gz contains loadkeys, dumpkeys, showkey, setmetamode, - setleds, setfont, showfont, mapscrn, kbd_mode, kbdrate, loadunimap, - chvt, resizecons, deallocvt, getkeycodes, setkeycodes. It also - contains openvt, formerly called open. - - SVGATextMode-1.8.tar.gz contains SVGATextMode, a program that - obsoletes resizecons. - - util-linux-2.9 contains setterm, kbdrate. - - sh-utils-1.12 contains stty. - - See also dynamic-vc-1.1.tar.gz and consd-1.1.tgz for programs that - exploit the `Keyboard Signal' key. Very primitive versions are - spawn_login or spawn_console found in the kbd package. - - See font.tgz for a package that handles console fonts. - - - The X distribution contains xmodmap, xset, kbd_mode. (See also - X386keybd(1) for the situation under XFree86 1.3, and Xserver(1) for - the XKEYBOARD extension under X11R6.) A handy interface to xmodmap is - xkeycaps, see http://www.jwz.org/xkeycaps/. - - termcap-2.0.8.tar.gz contains termcap, an old terminal capabilities - data base. ncurses-1.9.9e.tar.gz contains the termlib data base which - obsoletes termcap. (However, there are still many programs using - termcap.) - - See loadkeys(1), setleds(1) and setmetamode(1) for the codes generated - by the various keys and the setting of leds when not under X. Under X, - see xmodmap(1) and xset(1). - - See setfont(8) for loading console fonts. Many people will want to - load a font like iso01.f16 because the default font is the hardware - font of the video card, and often is a `Code Page 437' font missing - accented characters and other Latin-1 symbols. - - See setterm(1) and kbdrate(8) for properties such as foreground and - background colors, screen blanking and character repeat rate when not - under X. Under X, see xset(1), also for key click and bell volume. - The file /etc/termcap defines the escape sequences used by many - programs addressing the console (or any other terminal). See - termcap(5). A more modern version is found in /usr/lib/terminfo. See - terminfo(5). Terminfo files are compiled by the terminfo compiler - /usr/lib/terminfo/tic, see tic(1). Their contents can be examined - using the program infocmp, see infocmp(1). - - The Linux console sequences are documented in console_codes(4). - - - - - 22.. KKeeyybbooaarrdd ggeenneerraalliittiieess - - - You press a key, and the keyboard controller sends scancodes to the - kernel keyboard driver. Some keyboards can be programmed, but usually - the scancodes corresponding to your keys are fixed. The kernel - keyboard driver just transmits whatever it receives to the application - program when it is in _s_c_a_n_c_o_d_e _m_o_d_e, like when X is running. - Otherwise, it parses the stream of scancodes into keycodes, - corresponding to key press or key release events. (A single key press - can generate up to 6 scancodes.) These keycodes are transmitted to - the application program when it is in _k_e_y_c_o_d_e _m_o_d_e (as used, for - example, by showkey). Otherwise, these keycodes are looked up in the - keymap, and the character or string found there is transmitted to the - application, or the action described there is performed. (For - example, if one presses and releases the a key, then the keyboard - produces scancodes 0x1e and 0x9e, this is converted to keycodes 30 and - 158, and then transmitted as 0141, the ASCII or latin-1 code for `a'; - if one presses and releases Delete, then the keyboard produces - scancodes 0xe0 0x53 0xe0 0xd3, these are converted to keycodes 111 and - 239, and then transmitted as the 4-symbol sequence ESC [ 3 ~, all - assuming a US keyboard and a default keymap. An example of a key - combination to which an action is assigned is Ctrl-Alt-Del.) - - The translation between unusual scancodes and keycodes can be set - using the utility setkeycodes - only very few people will need it. - The translation between keycodes and characters or strings or actions, - that is, the keymap, is set using the utilities loadkeys and - setmetamode. For details, see getkeycodes(8), setkeycodes(8), - dumpkeys(1), loadkeys(1), setmetamode(1). The format of the files - output by dumpkeys and read by loadkeys is described in keymaps(5). - - Where it says `transmitted to the application' in the above - description, this really means `transmitted to the terminal driver'. - That is, further processing is just like that of text that comes in - over a serial line. The details of this processing are set by the - program stty. - - - 33.. CCoonnssoollee ggeenneerraalliittiieess - - - Conversely, when you output something to the console, it first - undergoes the standard tty processing, and then is fed to the console - driver. The console driver emulates a VT100, and parses the input in - order to recognize VT100 escape sequences (for cursor movement, clear - screen, etc.). The characters that are not part of an escape sequence - are first converted into Unicode, using one of four mapping tables if - the console was not in UTF-8 mode to start with, then looked up in the - table describing the correspondence between Unicode values and font - positions, and the obtained 8- or 9-bit font indices are then written - to video memory, where they cause the display of character shapes - found in the video card's character ROM. One can load one's own fonts - into character ROM using setfont, load the corresponding Unicode map - with loadunimap, and load a user mapping table using mapscrn. More - details will be given below. - - There are many consoles (called _V_i_r_t_u_a_l _C_o_n_s_o_l_e_s or _V_i_r_t_u_a_l _T_e_r_m_i_n_a_l_s, - abbreviated VCs or VTs) that share the same screen. You can use them - as independent devices, either to run indendent login sessions, or - just to send some output to, perhaps from top, or the tail of the - system log or so. See below (`Console switching') on how to set them - up and switch between them. - - - - 44.. RReesseettttiinngg yyoouurr tteerrmmiinnaall - - - There is garbage on the screen, or all your keystrokes are echoed as - line drawing characters. What to do? - - Many programs will redraw the screen when Ctrl-L is typed. This might - help when there is some modem noise or broadcast message on your - screen. The command clear will clear the screen. - - The command reset will reset the console driver. This helps when the - screen is full of funny graphic characters, and also if it is reduced - to the bottom line. If you don't have this command, or if it does - something else, make your own by putting the following two lines in an - executable file reset in your PATH: - - - #!/bin/sh - echo -e \\033c - - - - - that is, you want to send the two characters ESC c to the console. - - Why is it that the display sometimes gets confused and gives you a - 24-line or 1-line screen, instead of the usual 25 lines? Well, the - main culprit is the use of TERM=vt100 (or some other entry with 24 - lines) instead of TERM=linux when logged in remotely. If this happens - on /dev/tty2 then typing - - - % cat > /dev/tty2 - ^[c - ^D - - - - - on some other VT (where 4 symbols are typed to cat: ESC, c, ENTER, - Ctrl-D) and refreshing the screen on /dev/tty2 (perhaps using Ctrl-L) - will fix things. Of course the permanent fix is to use the right term- - cap or terminfo entry. - - Why is it that you sometimes get a lot of line-drawing characters, - e.g., after catting a binary to the screen? Well, there are various - character set changing escape sequences, and by accident your binary - might contain some of these. The ESC c is a general reset, a cure for - all, but if you know precisely what went wrong you can repair it - without resetting other console attributes. For example, after - - - - - % cat - ^N - ^D - - - - - your shell prompt will be all line-drawing characters. Now do (typing - blindly) - - - % cat - ^O - ^D - - - - - and all is well again. (Three symbols typed to each cat: Ctrl-N (or - Ctrl-O), ENTER, Ctrl-D.) To understand what is happening, see `The - console character sets' below. - - If you loaded some strange font, and want to return to the default, - - - % setfont - - - - - will do (provided you stored the default font in the default place). - If this default font does not contain an embedded Unicode map (and - gives the wrong symbols for accented characters), then say - - - % loadunimap - - - - - For example, if I do - - - % loadkeys de-latin1 - - - - - then I have a German keyboard, and the key left of the Enter key gives - me a-umlaut. This works, because the a-umlaut occurs on the CP437 code - page and the kernel Unicode map is initialized to CP437, and my video - card has a CP437 font built-in. If I now load an ISO 8859-1 font with - - - % setfont iso01.f16 - - - - - then everything still works, because setfont invalidates the kernel - Unicode map (if there is no Unicode map attached to the font), and - without map the kernel goes directly to the font, and that is pre- - cisely correct for an ISO 8859-1 system with iso01.f16 font. But - going back to the previous font with - - - % setfont - - - - - gives capital Sigma's instead of a-umlaut - all accented letters are - mixed up because also this font has no embedded Unicode map. After - - - % loadunimap - - - - - which loads the default Unicode map (which is right for the default - font) all works correctly again. Usually loadunimap is not invoked - directly, but via setfont. Thus, the previous two commands may be - replaced by - - - % setfont -u def - - - - - The Ethiopian fonts and the lat1u*.psf fonts have embedded Unicode - code map. Most of the others don't. - - On old terminals output involving tabs may require a delay, and you - have to say - - - % stty tab3 - - - - - (see stty(1)). - - You can change the video mode using resizecons or SVGATextMode. This - usually settles the output side. On the input side there are many - things that might be wrong. If X or DOOM or some other program using - raw mode crashed, your keyboard may still be in raw (or mediumraw) - mode, and it is difficult to give commands. (See "How to get out of - raw mode" below.) If you loaded a bad keymap, then - - - % loadkeys -d - - - - - loads the default map again, but it may well be difficult to type `-'! - An alternative is - - - % loadkeys defkeymap - - - - - Sometimes even the letters are garbled. It is useful to know that - there are four main types of keyboards: QWERTY, QWERTZ, AZERTY and - DVORAK. The first three are named after the first six letter keys, - and roughly represent the English, German and French speaking coun- - tries. Compared to QWERTY, the QWERTZ map interchanges Y and Z. - Compared to QWERTY, the AZERTY map interchanges Q and A, W and Z, and - has its M right of the L, at the semicolon position. DVORAK has an - entirely different letter ordering. There are two types of Turkish - keyboard. The so-called `Q'-keyboard has a QWERTY layout, while the - `F'-keyboard has an entirely different layout, let us say fgGIod, - where G stands for Gbreve and I for dotlessi. - - - 44..11.. KKeeyybbooaarrdd hhaarrddwwaarree rreesseett - - - Things may be wrong on a lower level than Linux knows about. There - are at least two distinct lower levels (keyboard and keyboard - controller) where one can give the command "keyboard disable" to the - keyboard hardware. Keyboards can often be programmed to use one out - of three different sets of scancodes. - - However, I do not know of cases where this turned out to be a problem. - - Some keyboards have a remapping capability built in. Stormy Henderson - (stormy@Ghost.Net) writes: `If it's your keyboard accidently being - reprogrammed, you can (on a Gateway AnyKey keyboard) press control- - alt-suspend_macro to reset the keys to normal.' - - - 55.. DDeelleettee aanndd BBaacckkssppaaccee - - - Getting Delete and Backspace to work just right is nontrivial, - especially in a mixed environment, where you talk to console, to X, to - bash, to emacs, login remotely, etc. You may have to edit several - configuration files to tell all of the programs involved precisely - what you want. On the one hand, there is the matter of which keys - generate which codes (and how these codes are remapped by e.g. kermit - or emacs), and on the other hand the question of what functions are - bound to what codes. - - People often complain `my backspace key does not work', as if this key - had a built-in function `delete previous character'. Unfortunately, - all this key, or any key, does is producing a code, and one only can - hope that the kernel tty driver and all application programs can be - configured such that the backspace key indeed does function as a - `delete previous character' key. - - Most Unix programs get their tty input via the kernel tty driver in - `cooked' mode, and a simple stty command determines the erase - character. However, programs like bash and emacs and X do their own - input handling, and have to be convinced one-by-one to do the right - thing. - - - 55..11.. HHooww ttoo tteellll UUnniixx wwhhaatt cchhaarraacctteerr yyoouu wwaanntt ttoo uussee ttoo ddeelleettee tthhee - llaasstt ttyyppeedd cchhaarraacctteerr - - - - - % stty erase ^? - - - - - If the character is erased, but in a funny way, then something is - wrong with your tty settings. If echoprt is set, then erased charac- - ters are enclosed between \ and /. If echoe is not set, then the - erase char is echoed (which is reasonable when it is a printing - character, like #). Most people will want stty echoe -echoprt. Saying - stty sane will do this and more. Saying stty -a shows your current - settings. How come this is not right by default? It is, if you use - the right getty. - - Note that many programs (like bash, emacs etc.) have their own - keybindings (defined in ~/.inputrc, ~/.emacs etc.) and are unaffected - by the setting of the erase character. - - The standard Unix tty driver does not recognize a cursor, or keys - (like the arrow keys) to move the current position, and hence does not - have a command `delete current character' either. But for example you - can get bash on the console to recognize the Delete key by putting - - - set editing-mode emacs - "\e[3~":delete-char - - - - - into ~/.inputrc. - - - 55..11..11.. ``GGeettttyy uusseedd ttoo ddoo tthhee rriigghhtt tthhiinngg wwiitthh DDEELL aanndd BBSS bbuutt iiss bbrroo-- - kkeenn nnooww??'' - - - Earlier, the console driver would do BS Space BS (\010\040\010) when - it got a DEL (\177). Nowadays, DEL's are ignored (as they should be, - since the driver emulates a vt100). Get a better getty, i.e., one that - does not output DEL. - - - 55..11..22.. ``LLooggiinn bbeehhaavveess ddiiffffeerreennttllyy aatt tthhee ffiirrsstt aanndd sseeccoonndd llooggiinn - aatttteemmppttss??'' - - - At the first attempt, you are talking to getty. At the second attempt, - you are talking to login, a different program. - - - 55..22.. HHooww ttoo tteellll LLiinnuuxx wwhhaatt ccooddee ttoo ggeenneerraattee wwhheenn aa kkeeyy iiss pprreesssseedd - - - On the console, or, more precisely, when not in (MEDIUM)RAW mode, use - - - % loadkeys mykeys.map - - - - - and under X use - - - % xmodmap mykeys.xmap - - - - - Note that (since XFree86-2.1) X reads the Linux settings of the - keymaps when initialising the X keymap. Although the two systems are - not 100% compatible, this should mean that in many cases the use of - xmodmap has become superfluous. - - For example, suppose that you would like the Backspace key to send a - BackSpace (Ctrl-H, octal 010) and the grey Delete key a DEL (octal - 0177). Add the following to /etc/rc.local (or wherever you keep your - local boot-time stuff): - - - /usr/bin/loadkeys << EOF - keycode 14 = BackSpace - keycode 111 = Delete - EOF - - - - - Note that this will only change the function of these keys when no - modifiers are used. (You need to specify a keymaps line to tell which - keymaps should be affected if you want to change bindings on more - keymaps.) The Linux kernel default lets Ctrl-Backspace generate - BackSpace - this is sometimes useful as emergency escape, when you - find you can only generate DELs. - - The left Alt key is sometimes called the Meta key, and by default the - combinations AltL-X are bound to the symbol MetaX. But what character - sequence is MetaX? That is determined (per-tty) by the Meta flag, set - by the command setmetamode. The two choices are: ESC X or X or-ed with - 0200. - - Many distributions have a loadkeys command somewhere in the bootup - sequence. For example, one may have the name of the desired keymap in - /etc/sysconfig/keyboard and the loadkeys command that loads it in - /etc/rc.d/init.d/keytable. Or one may have the actual default keymap - in /etc/default.keytab and the loadkeys command that loads it in - /etc/rc.d/boot. Etc. Instead of adding a local modification to the - default, one can of course change the default by editing the default - keymap or changing the name of the keymap to be loaded at boot time. - Note that loadkeys itself has default keymap defkeymap.map located - somewhere under /usr/lib/kbd or /usr/share/kbd (just like all other - keymaps) and this may not yet be available in single user boot before - /usr has been mounted. - - - 55..22..11.. ``HHooww ddoo II ggeett aa ddvvoorraakk kkeeyybbooaarrdd??'' - - The command - - - % loadkeys dvorak - - - - - will give you a dvorak layout, probably by loading something like - /usr/lib/kbd/keymaps/i386/dvorak/dvorak.map.gz. Under X, put - - - XkbLayout "dvorak" - - - - - in XF86Config. - - - - - - 55..22..22.. ``WWhhyy ddooeessnn''tt tthhee BBaacckkssppaaccee kkeeyy ggeenneerraattee BBaacckkSSppaaccee bbyy ddeeffaauulltt??'' - - - (i) Because the VT100 had a Delete key above the Enter key. - - (ii) Because Linus decided so. - - - 55..33.. HHooww ttoo tteellll XX ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - - - % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace" - - - - - Or, if you just want the Backspace key to generate a BackSpace: - - - % xmodmap -e "keycode 22 = BackSpace" - - - - - Or, if you just want the Delete key to generate a Delete: - - - % xmodmap -e "keycode 107 = Delete" - - - - - (but usually this is the default binding already). - - - 55..44.. HHooww ttoo tteellll eemmaaccss wwhhaatt ttoo ddoo wwhheenn iitt rreecceeiivveess aa DDeelleettee oorr - BBaacckkssppaaccee - - - Put in your .emacs file lines like - - - (global-set-key "\?" 'help-command) - (global-set-key "\C-h" 'delete-backward-char) - - - - - Of course you can bind other commands to other keys in the same way. - Note that various major and minor modes redefine keybindings. For - example, in incremental search mode one finds the code - - - (define-key map "\177" 'isearch-delete-char) - (define-key map "\C-h" 'isearch-mode-help) - - - - - This means that it may be a bad idea to use the above two global-set- - key commands. There are too many places where there are built-in - assumptions about Ctrl-H = help and DEL = delete. That doesn't mean - that you have to setup keys so that Backspace generates DEL. But if it - doesn't then it is easiest to remap them at the lowest possible level - in emacs. - - - 55..55.. HHooww ttoo tteellll eemmaaccss ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - Put in your .emacs file lines - - - (setq keyboard-translate-table (make-string 128 0)) - (let ((i 0)) - (while (< i 128) - (aset keyboard-translate-table i i) - (setq i (1+ i)))) - (aset keyboard-translate-table ?\b ?\^?) - (aset keyboard-translate-table ?\^? ?\b) - - - - - Recent versions of emacs have a function keyboard-translate and one - may simplify the above to - - - (keyboard-translate ?\C-h ?\C-?) - (keyboard-translate ?\C-? ?\C-h) - - - - - Note that under X emacs can distinguish between Ctrl-h and the - Backspace key (regardless of what codes these produce on the console), - and by default emacs will view the Backspace key as DEL (and do dele- - tion things, as bound to that character, rather than help things, - bound to Ctrl-H). One can distinguish Backspace and Delete, e.g. by - - - (global-unset-key [backspace] ) - (global-set-key [backspace] 'delete-backward-char) - (global-unset-key [delete] ) - (global-set-key [delete] 'delete-char) - - - - - - 55..66.. HHooww ttoo tteellll kkeerrmmiitt ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - Put in your .kermrc file the lines - - - set key \127 \8 - set key \8 \127 - - - - - - 55..77.. HHooww ttoo tteellll xxtteerrmm ttoo iinntteerrcchhaannggee DDeelleettee aanndd BBaacckkssppaaccee - - - - - - - XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ - <KeyPress> Delete : string(0x08)\n - - - - - - 55..88.. HHooww ttoo tteellll xxtteerrmm aabboouutt yyoouurr ffaavvoouurriittee ttttyy mmooddeess - - - Normally xterm will inherit the tty modes from its invoker. Under - xdm, the default erase and kill characters are # and @, as in good old - Unix Version 6. If you don't like that, you might put something like - - - XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D \ - susp ^Z start ^Q stop ^S eol ^@ - - - - - in /usr/lib/X11/app-defaults/XTerm or in $HOME/.Xresources, assuming - that you have a line - - - xrdb -merge $HOME/.Xresources - - - - - in your $HOME/.xinitrc or $HOME/.xsession. - - - 55..99.. HHooww ttoo tteellll xxmmoossaaiicc tthhaatt tthhee BBaacckkssppaaccee kkeeyy ggeenneerraatteess aa DDEELL - - - Putting - - - *XmText.translations: #override\n\ - <Key>osfDelete: delete-previous-character() - *XmTextField.translations: #override\n\ - <Key>osfDelete: delete-previous-character() - - - - - in your $HOME/.Xdefaults or $HOME/.Xresources helps. (What file? The - file that is fed to xrdb, for example in .xinitrc.) - - The netscape FAQ, however, says: - - - - - - - - - - - - - - - Why doesn't my Backspace key work in text fields? - By default, Linux and XFree86 come with the Backspace and Delete keys - misconfigured. All Motif programs (including, of course, Netscape - Navigator) will malfunction in the same way. - - The Motif spec says that Backspace is supposed to delete the previous - character and Delete is supposed to delete the following character. - Linux and XFree86 come configured with both the Backspace and Delete - keys generating Delete. - - You can fix this by using any one of the xmodmap, xkeycaps, or - loadkeys programs to make the key in question generate the BackSpace - keysym instead of Delete. - - You can also fix it by having a .motifbind file; see the man page - for VirtualBindings(3). - - Note: Don't use the *XmText.translations or *XmTextField.translations - resources to attempt to fix this problem. If you do, you will blow - away Netscape Navigator's other text-field key bindings. - - - - - 55..1100.. AA bbeetttteerr ssoolluuttiioonn ffoorr MMoottiiff--uussiinngg pprrooggrraammss,, lliikkee nneettssccaappee - - - Ted Kandell (ted@tcg.net) suggests the following: - - Somewhere in your .profile add the following: - - - stty erase ^H - - - - - If you are using bash, add the following lines to your .inputrc: - - - "\C-?": delete-char - "\C-h": backward-delete-char - - - - - Add the following lines to your .xinitrc file: - - - xmodmap <<-EOF - keycode 22 = BackSpace osfBackSpace - keycode 107 = Delete - EOF - - # start your window manager here, for example: - #(fvwm) 2>&1 | tee /dev/tty /dev/console - - stty sane - stty erase ^H - loadmap <<-EOF - keycode 14 = BackSpace - keycode 111 = Delete - EOF - - - - This will definitely work for a PC 101 or 102 key keyboard with any - Linux/XFree86 layout. - - The important part to making Motif apps like Netscape work properly is - adding osfBackSpace to keycode 22 in addition to BackSpace. - - Note that there must be spaces on either side of the = sign. - - - - 55..1111.. WWhhaatt aabboouutt tteerrmmccaapp aanndd tteerrmmiinnffoo?? - - - When people have problems with backspace, they tend to look at their - termcap (or terminfo) entry for the terminal, and indeed, there does - exist a kb (or kbs) capability describing the code generated by the - Backspace key. However, not many programs use it, so unless you are - having problems with one particular program only, probably the fault - is elsewhere. Of course it is a good idea anyway to correct your - termcap (terminfo) entry. See also below under "The TERM variable". - - - 55..1122.. AA ccoommpplleettee ssoolluuttiioonn - - There are many possibilities to get a functioning system. Can't you - give one complete set of settings that works? - - One way of getting a setup that works in all contexts is to have the - Backspace key generate DEL when on the console (or xterm), and - BackSpace when under X. Maybe that is most convenient - there are too - many X utilities that expect BackSpace, and emacs on the console or - xterm expects DEL, while emacs under X can distinguish [BackSpace] - from Ctrl-H and does the right thing. - - What is needed? No loadkeys changes, since the Backspace key already - generates DEL by default. No stty settings, they are OK by default. - No X settings, they are OK by default. One just has to tell xterm - that the Backspace key should generate DEL: put - - - XTerm*VT100.Translations: #override\n\ - <KeyPress> BackSpace : string(0x7f)\n\ - - - - - in .Xresources, and - - - xrdb -merge .Xresources - - - - - in .xinitrc, and you are settled. - - For a much more extensive discussion of these things, and alternative - solutions, see Anne Baretta's page. - - - 66.. TThhee ccoonnssoollee cchhaarraacctteerr sseettss - - - The kernel first tries to figure out what symbol is meant by any given - user byte, and next where this symbol is located in the current font. - - The kernel knows about 5 translations of bytes into console-screen - symbols. In Unicode (UTF-8) mode, the UTF-8 code is just converted - directly into Unicode. The assumption is that almost all symbols one - needs are present in Unicode, and for the cases where this does not - hold the codes 0xff** are reserved for direct font access. When not - in Unicode mode, one of four translation tables is used. The four - tables are: a) Latin1 -> Unicode, b) VT100 graphics -> Unicode, c) PC - -> Unicode, d) user-defined. - - There are two character sets, called G0 and G1, and one of them is the - current character set. (Initially G0.) Typing Ctrl-N causes G1 to - become current, Ctrl-O causes G0 to become current. - - These variables G0 and G1 point at a translation table, and can be - changed by the user. Initially they point at tables a) and b), - respectively. The sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( - K cause G0 to point at translation table a), b), c) and d), - respectively. The sequences ESC ) B and ESC ) 0 and ESC ) U and ESC ) - K cause G1 to point at translation table a), b), c) and d), - respectively. - - The sequence ESC c causes a terminal reset, which is what you want if - the screen is all garbled. The oft-advised echo ^V^O will only make G0 - current, but there is no guarantee that G0 points at table a). In - some distributions there is a program reset(1) that just does echo - ^[c. If your termcap entry for the console is correct (and has an - entry :rs=\Ec:), then also setterm -reset will work. - - The user-defined mapping table can be set using mapscrn(8). The - result of the mapping is that if a symbol c is printed, the symbol s = - map[c] is sent to the video memory. The bitmap that corresponds to s - is found in the character ROM, and can be changed using setfont(8). - - - 77.. CCoonnssoollee sswwiittcchhiinngg - - - By default, console switching is done using Alt-Fn or Ctrl-Alt-Fn. - Under X (or recent versions of dosemu), only Ctrl-Alt-Fn works. Many - keymaps will allow cyclic walks through all allocated consoles using - Alt-RightArrow and Alt-LeftArrow. - - XFree86 1.3 does not know that Alt is down when you switch to the X - window. Thus, you cannot switch immediately to some other VT again but - have to release Alt first. In the other direction this should work: - the kernel always keeps track of the up/down status of all keys. (As - far as possible: on some keyboards some keys do not emit a scancode - when pressed (e.g.: the PFn keys of a FOCUS 9000) or released (e.g.: - the Pause key of many keyboards).) - - XFree86 1.3 saves the fonts loaded in the character ROMs when started, - and restores it on a console switch. Thus, the result of setfont on a - VT is wiped out when you go to X and back. Using setfont under X will - lead to funny results. - - One can change VT under program control using the chvt command. - - - 77..11.. CChhaannggiinngg tthhee nnuummbbeerr ooff VViirrttuuaall CCoonnssoolleess - - - This question still comes up from time to time, but the answer is: you - already have enough of them. Since kernel version 1.1.54, there are - between 1 and 63 virtual consoles. A new one is created as soon as it - is opened. It is removed by the utility deallocvt (but it can be - removed only when no processes are associated to it anymore, and no - text on it has been selected by programs like selection or gpm). - - For older kernels, change the line - - - #define NR_CONSOLES 8 - - - - - in include/linux/tty.h (don't increase this number beyond 63), and - recompile the kernel. - - If they do not exist yet, create the tty devices with MAKEDEV or mknod - ttyN c 4 N where N denotes the tty number. For example, - - - for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done - - - - - or, better (since it also takes care of owner and permissions), - - - for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done - - - - - If you want the new VCs to run getty, add lines in /etc/inittab. (But - it is much better to have only two getty's running, and to create more - consoles dynamically as the need arises. That way you'll have more - memory when you don't use all these consoles, and also more consoles, - in case you really need them. Edit /etc/inittab and comment out all - getty's except for the first two.) - - When the consoles are allocated dynamically, it is usually easiest to - have only one or two running getty. More are opened by open -l -s - bash. Unused consoles (without associated processes) are deallocated - using deallocvt (formerly disalloc). But, you say, I am involved in - activities when I suddenly need more consoles, and do not have a bash - prompt available to give the open command. Fortunately it is possible - to create a new console upon a single keystroke, regardless of what is - happening at the current console. - - If you have spawn_login from kbd-0.99.tar.gz and you put - - - loadkeys << EOF - alt keycode 103 = Spawn_Console - EOF - spawn_login & - - - - - in /etc/rc.local, then typing Alt-UpArrow will create a fresh VC run- - ning login (and switch to it). With spawn_console & instead of - spawn_login & you'll have bash running there. See also open-1.4.tgz - and dynamic-vc-1.1.tar.gz. - - What action should be taken upon this Spawn_Console keypress can also - be set in /etc/inittab under kbrequest, if you have a recent init. See - inittab(5). - - (This action can be something entirely different - I just called the - key Spawn_Console because that is what I used it for. When used for - other purposes it is less confusing to use its synonym KeyboardSignal. - For example, some people like to put the lines - - - kb::kbrequest:/sbin/shutdown -h now - - - - - in /etc/inittab, and - - - control alt keycode 79 = KeyboardSignal - control alt keycode 107 = KeyboardSignal - - - - - in their keymap. Now Ctrl-Alt-End will do a system shutdown.) - - You can only login as "root" on terminals listed in /etc/securetty. - There exist programs that read terminal settings from files /etc/ttys - and /etc/ttytype. If you have such files, and create additional - consoles, then it might be a good idea to also add entries for them in - these files. - - - 88.. CCttrrll--AAlltt--DDeell aanndd ootthheerr ssppeecciiaall kkeeyy ccoommbbiinnaattiioonnss - - - - 88..11.. CCttrrll--AAlltt--DDeell ((BBoooott)) - - - If you press Ctrl-Alt-Del (or whatever key was assigned the keysym - Boot by loadkeys) then either the machine reboots immediately (without - sync), or init is sent a SIGINT. The former behaviour is the default. - The default can be changed by root, using the system call reboot(), - see ctrlaltdel(8). Some init's change the default. What happens when - init gets SIGINT depends on the version of init used - often it will - be determined by the pf entry in /etc/inittab (which means that you - can run an arbitrary program in this case). In the current kernel - Ctrl-AltGr-Del is no longer by default assigned to Boot. - - - 88..22.. OOtthheerr ccoommbbiinnaattiioonnss - - - - Name Default binding - ------------------------------- - Show_Memory Shift-Scrollock - Show_Registers AltGr-ScrollLock - Show_State Ctrl-ScrollLock - Console_n Alt-Fn and Ctrl-Alt-Fn (1 <= n <= 12) - Console_{n+12} AltGr-Fn (1 <= n <= 12) - Incr_Console Alt-RightArrow - Decr_Console Alt-LeftArrow - Last_Console Alt[Gr]-PrintScreen - Scroll_Backward Shift-PageUp - Scroll_Forward Shift-PageDown - Caps_On (CapsLock is a toggle; this key sets) - Compose Ctrl-. - - 88..33.. XX CCoommbbiinnaattiioonnss - - - - Ctrl-Alt-Fn Switch to VT n - Ctrl-Alt-KP+ Next mode - Ctrl-Alt-KP- Previous mode - Ctrl-Alt-Backspace Kill X - - - On some motherboards, Ctrl-Alt-KP- and Ctrl-Alt-KP+ will be equivalent - to pressing the Turbo button. That is, both will produce the scancodes - 1d 38 4a ca b8 9d and 1d 38 4e ce b8 9d, and both will switch between - Turbo (>= 25MHz) and non-Turbo (8 or 12 MHz). (Often these key combi- - nations only function this way when enabled by jumpers on the mother- - board.) - - Perry F Nguyen (pfnguyen@netcom22.netcom.com) writes: AMI BIOS has a - feature that locks up the keyboard and flashes the LED's if the Ctrl- - Alt-Backspace combination is pressed while a BIOS password is enabled, - until the CMOS/BIOS password is typed in. - - - 88..44.. DDoosseemmuu CCoommbbiinnaattiioonnss - - - - Ctrl-Alt-Fn Switch to VT n (from version 0.50; earlier Alt-Fn) - Ctrl-Alt-PgDn Kill dosemu (when in RAW keyboard mode) - (and many other combinations - see the dosemu documentation) - - - - - 88..55.. CCoommppoossiinngg ssyymmbboollss - - - One symbol may be constructed using several keystrokes. - - +o LeftAlt-press, followed by a decimal number typed on the keypad, - followed by LeftAlt-release, yields the symbol with code given by - this number. (In Unicode mode this same mechanism, but then with 4 - hexadecimal digits, may be used to define a Unicode symbol.) - - +o A dead diacritic followed by a symbol, yields that symbol adorned - with that diacritic. If the combination is undefined, both keys are - taken separately. Which keys are dead diacritics is user-settable; - none is by default. Five (since 2.0.25 six) dead diacritics can be - defined (using loadkeys(1)): dead_grave, dead_acute, - dead_circumflex, dead_tilde, dead_diaeresis (and dead_cedilla). - Precisely what this adorning means is also user-settable: dead- - diacritic, symbol is equivalent to Compose + diacritic + symbol. - - +o Compose followed by two symbols yields a combination symbol. These - combinations are user-settable. Today there are 68 combinations - defined by default; you can see them by saying "dumpkeys | grep - compose". - - +o Then there are `Sticky' modifier keys (since 1.3.33). For example, - one can type Ctrl-C as SControl, C and Ctrl-Alt-BackSpace as - SControl, SAlt, BackSpace. - - Note that there are at least four such composition mechanisms: - - 1. The Linux keyboard driver mechanism, used in conjunction with - loadkeys. - 2. The X mechanism - see X386keybd(1), later XFree86kbd(1). Under - X11R6: edit /usr/X11R6/lib/X11/locale/iso8859-1/Compose. - - See also Andrew D. Balsa's comments at - http://wauug.erols.com/~balsa/linux/deadkeys/index.html. - - 3. The emacs mechanism obtained by loading "iso-insert.el" or calling - `iso-accents-mode'. - - 4. The vim mechanism: insert a composed symbol by pressing Ctrl-K - followed by two symbols. A list of the possible combinations is - obtained by the command :digraphs. - - For X the order of the two symbols is arbitrary: both Compose-,-c - and Compose-c-, yield a c-cedilla; for Linux and emacs only the - former sequence works by default. For X and vim the list of compose - combinations is fixed. Linux and emacs are flexible. The default - lists are somewhat similar, but the details are different. - - - 88..66.. TThhee SSyyssRRqq kkeeyy - - In case your kernel was compiled with CONFIG_MAGIC_SYSRQ enabled (a - feature that is present since Linux 2.1.43) there is a single key - (defined in <linux/keyboard.h>) to which special system functions are - attached, regardless of the current keyboard mode. For the PC - architecture this special key is, naturally, the Alt+SysRq key, and - any of the two Alt keys will work. (Note that if CONFIG_MAGIC_SYSRQ - was not enabled, the default action of this key is to return to the - previous console.) - - If you press this key, do not release it, and hit another key, a - corresponding action is performed. The action is performed whether - anybody is logged in or not, is root or not. For the details, see - drivers/char/sysrq.c. Since this feature is meant only for kernel - hackers, that should suffice. Still, let me add a few remarks. - - For the key r the keyboard mode is reset to K_XLATE. For the key k a - SAK and console reset is done. For the key b the machine is rebooted - immediately. (See, not something you want to have enabled on a - production machine.) For the key o the power is turned off (when the - machine is capable of that). For the key s an emergency sync is - scheduled. For the key u an emergency read-only remount is scheduled. - For the keys p,t,m various information is shown (namely the same - information also shown for RAlt,RCtrl,RShift+ScrollLock). For the - keys e,i,l all processes get a SIG_TERM or SIG_KILL, respectively; for - l even the init process is killed. Digits set the log level. Anything - else prints a short summary: SysRq: unRaw saK Boot Off Sync Unmount - showPc showTasks showMem loglevel0-8 tErm kIll killalL. - - Note: These are very dangerous actions! And they do not use your - keymap - indeed, are meant for emergency cases where the state of your - keymap, or even of the entire kernel, is uncertain. If you use a - dvorak keyboard - bad luck! Most other people will be able to survive: - the dangerous letters A,M,Q,W,Y,Z that are differently placed on - English, French and German keyboards, are not used for actions. (But - if your finger slips and you hit L instead of K - bye bye to your - system.) - - - 99.. HHooww ttoo ggeett oouutt ooff rraaww mmooddee - - - If some program using K_RAW keyboard mode exits without restoring the - keyboard mode to K_XLATE, then it is difficult to do anything - not - even Ctrl-Alt-Del works. However, it is sometimes possible to avoid - hitting the reset button. (And desirable as well: your users may get - angry if you kill their Hack game by rebooting; you might also damage - your file system.) Easy solutions involve logging in from another - terminal or another machine and doing kbd_mode -a. The procedure - below assumes that no X is running, that the display is in text mode, - and that you are at your bash prompt, that you are using a US keyboard - layout, and that your interrupt character is Ctrl-C. - - Step 1. Start X. As follows: press 2 (and don't release), press F12 - (and don't release) and immediately afterwards press = . This starts - X. (Explanation: if a key press produces keycode K, then the key - release produces keycode K+128. Probably your shell does not like - these high characters, so we avoid generating them by not releasing - any key. However, we have to be quick, otherwise key repeat starts. - The digit 2 produces a Ctrl-C that discards previous junk, the F12 - produces an X and the = a Return.) Probably your screen will be grey - now, since no .xinitrc was specified. However, Ctrl-Alt-Fn will work - and you can go to another VT. (Ctrl-Alt-Backspace also works, but - that exits X, and gets you back into the previous state, which is not - what you want.) - - Step 2. Setup to change the keyboard mode. (For example, by sleep 5; - kbd_mode -a.) - - Step 3. Leave X again. Alt-Fx (often Alt-F7) brings you back to X, - and then Ctrl-Alt-Backspace exits X. Within 5 seconds your keyboard - will be usable again. - - If you want to prepare for the occasion, then make \215A\301 (3 - symbols) an alias for kbd_mode -a. Now just hitting = F7 = (3 - symbols) will return you to sanity. - - - 1100.. TThhee kkeeyybbooaarrdd LLEEDDss - - - 1. There are per-tty keyboard flags: each VC has its own NumLock, - CapsLock, ScrollLock. By default these keyboard flags are shown in - the LEDs. The usual way to change them is by pressing the - corresponding key. (Side remark: pressing the NumLock key when in - application key mode will not change the NumLock status, but produce - an escape sequence. If you want the NumLock key to always change the - Numlock status, bind it to Bare_Num_Lock.) - - 2. Next, there are per-tty default keyboard flags, to initialize the - keyboard flags when a reset occurs. Thus if you want NumLock on all - the time, that is possible. The usual way to change them is by - `setleds -D ...'. - - 3. There is the possibility that the leds do not reflect the keyboard - flags, but something else. - - 3A. This something else can be three bits somewhere in the kernel - - which can be used if you want to monitor some hardware or software - status bit(s). If you want this, edit the kernel source to call - register_leds() somewhere. - - 3B. This something else can also be whatever some user program wants - to show in the LEDs. Thus, people who like such things can make nice - patterns of lights. If you want this, use the KDSETLED ioctl. - - This latter use is not per-tty, but the choice between former and - latter use is per-tty. - - Summarizing: Each tty has a flag kbd->ledmode. If this has the value - LED_SHOW_FLAGS then the keyboard flags (NumLock etc.) of that tty are - shown. If this has the value LED_SHOW_MEM then three selected memory - addresses are shown. If this has the value LED_SHOW_IOCTL then the - leds show whatever value was last assigned to them using the KDSETLED - ioctl. - - One may add that X uses ioctl's to set the LEDs, but fails to reset - its VT when it exits, so after using X there may be one VT that is not - in the default LED_SHOW_FLAGS state. This can be fixed by doing - `setleds -L' on that VT. See setleds(1). - - - 1111.. TThhee TTEERRMM vvaarriiaabbllee - - - Many programs use the TERM variable and the database /etc/termcap or - /usr/lib/terminfo/* to decide which strings to send for clear screen, - move cursor, etc., and sometimes also to decide which string is sent - by the users backspace key, function keys etc. This value is first - set by the kernel (for the console). Usually, this variable is re-set - by getty, using /etc/ttytype or the argument specified in - /etc/inittab. Sometimes, it is also set in /etc/profile. - - Older systems use TERM=console or TERM=con80x25. Newer systems (with - ncurses 1.8.6) use the more specific TERM=linux or TERM=linux-80x25. - However, old versions of setterm test for TERM=con* and hence fail to - work with TERM=linux. - - Since kernel version 1.3.2, the kernel default for the console is - TERM=linux. - - If you have a termcap without entry for linux, add the word linux to - the entry for the console: - - - console|con80x25|linux:\ - - - - - and make /usr/lib/terminfo/l/linux a copy of or symbolic link to - /usr/lib/terminfo/c/console. - - - 1111..11.. TTeerrmmiinnffoo - - - The terminfo entry for the linux console from ncurses 1.8.6 misses the - entry kich1=\E[2~, needed by some programs. Edit the file and tic it. - - - 1122.. HHooww ttoo mmaakkee ootthheerr pprrooggrraammss wwoorrkk wwiitthh nnoonn--AASSCCIIII cchhaarrss - - - In the bad old days this used to be quite a hassle. Every separate - program had to be convinced individually to leave your bits alone. - Not that all is easy now, but recently a lot of gnu utilities have - learned to react to LC_CTYPE=iso_8859_1 or LC_CTYPE=iso-8859-1. Try - this first, and if it doesn't help look at the hints below. Note that - in recent versions of libc the routine setlocale() only works if you - have installed the locale files (e.g. in /usr/lib/locale). - - First of all, the 8-th bit should survive the kernel input processing, - so make sure to have stty cs8 -istrip -parenb set. - - A. For emacs the details strongly depend on the version. The - information below is for version 19.34. Put lines - (set-input-mode nil nil 1) - (standard-display-european t) - (require 'iso-syntax) - - - - - into your $HOME/.emacs. The first line (to be precise: the final 1) - tells emacs not to discard the 8-th bit from input characters. The - second line tells emacs not to display non-ASCII characters as octal - escapes. The third line specifies the syntactic properties and case - conversion table for the Latin-1 character set These last two lines - are superfluous if you have something like LC_CTYPE=ISO-8859-1 in your - environment. (The variable may also be LC_ALL or even LANG. The - value may be anything with a substring `88591' or `8859-1' or - `8859_1'.) - - This is a good start. On a terminal that cannot display non-ASCII ISO - 8859-1 symbols, the command - - - (load-library "iso-ascii") - - - - - will cause accented characters to be displayed comme {,c}a. If your - keymap does not make it easy to produce non-ASCII characters, then - - - (load-library "iso-transl") - - - - - will make the 2-character sequence Ctrl-X 8 a compose character, so - that the 4-character sequence Ctrl-X 8 , c produces c-cedilla. Very - inconvenient. - - The command - - - (iso-accents-mode) - - - - - will toggle ISO-8859-1 accent mode, in which the six characters ', `, - ", ^, ~, / are dead keys modifying the following symbol. Special com- - binations: ~c gives a c with cedilla, ~d gives an Icelandic eth, ~t - gives an Icelandic thorn, "s gives German sharp s, /a gives a with - ring, /e gives an a-e ligature, ~< and ~> give guillemots, ~! gives an - inverted exclamation mark, ~? gives an inverted question mark, and '' - gives an acute accent. This is the default mapping of accents. The - variable iso-languages is a list of pairs (language name, accent map- - ping), and a non-default mapping can be selected using - - - (iso-accents-customize LANGUAGE) - - - - - Here LANGUAGE can be one of "portuguese", "irish", "french", - "latin-2", "latin-1". - - Since the Linux default compose character is Ctrl-. it might be - convenient to use that everywhere. Try - - - (load-library "iso-insert.el") - (define-key global-map [?\C-.] 8859-1-map) - - - - - The latter line will not work under xterm, if you use emacs -nw, but - in that case you can put - - - XTerm*VT100.Translations: #override\n\ - Ctrl <KeyPress> . : string("\0308") - - - - - in your .Xresources.) - - B. For less, put LESSCHARSET=latin1 in the environment. This is also - what you need if you see \255 or <AD> in man output: some versions of - less will render the soft hyphen (octal 0255, hex 0xAD) this way when - not given permission to output Latin-1. - - C. For ls, give the option -N. (Probably you want to make an alias.) - - D. For bash (version 1.13.*), put - - - set meta-flag on - set convert-meta off - set output-meta on - - - - - into your $HOME/.inputrc. - - E. For tcsh, use - - - setenv LANG US_en - setenv LC_CTYPE iso_8859_1 - - - - - If you have nls on your system, then the corresponding routines are - used. Otherwise tcsh will assume iso_8859_1, regardless of the values - given to LANG and LC_CTYPE. See the section NATIVE LANGUAGE SYSTEM in - tcsh(1). (The Danish HOWTO says: setenv LC_CTYPE ISO-8859-1; stty - pass8) - - F. For flex, give the option -8 if the parser it generates must be - able to handle 8-bit input. (Of course it must.) - - G. For elm, set displaycharset to ISO-8859-1. (Danish HOWTO: LANG=C - and LC_CTYPE=ISO-8859-1) - - H. For programs using curses (such as lynx) David Sibley reports: The - regular curses package uses the high-order bit for reverse video mode - (see flag _STANDOUT defined in /usr/include/curses.h). However, - ncurses seems to be 8-bit clean and does display iso-latin-8859-1 - correctly. - - I. For programs using groff (such as man), make sure to use -Tlatin1 - instead of -Tascii. Old versions of the program man also use col, and - the next point also applies. - - J. For col, make sure 1) that it is fixed so as to do - setlocale(LC_CTYPE,""); and 2) put LC_CTYPE=ISO-8859-1 in the - environment. - - K. For rlogin, use option -8. - - L. For joe, - metalab.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz is said - to work after editing the configuration file. Someone else said: joe: - Put the -asis option in /isr/lib/joerc in the first column. - - M. For LaTeX: \documentstyle[isolatin]{article}. For LaTeX2e: - \documentclass{article}\usepackage{isolatin} where isolatin.sty is - available from ftp.vlsivie.tuwien.ac.at/pub/8bit. - - A nice discussion on the topic of ISO-8859-1 and how to manage 8-bit - characters is contained in the file grasp.insa- - lyon.fr:/pub/faq/fr/accents (in French). Another fine discussion (in - English) can be found in rtfm.mit.edu:pub/usenet-by- - group/comp.answers/internationalization/iso-8859-1-charset. - - If you need to fix a program that behaves badly with 8-bit characters, - one thing to keep in mind is that if you have a signed char type then - characters may be negative, and using them as an array index will - fail. Several programs can be fixed by judiciously adding (unsigned - char) casts. - - - 1133.. XX - - - This FAQ/HOWTO is about the Linux keyboard and console, not about X, - which substitutes its own handling. However, it seems useful to - document some of the Linux keyboard and console related properties of - X. - - First of all, when X is started (say using startx or xinit) it opens - the first unused console, unless the desired console has been - indicated explicitly, as in xinit -- vt12. Note that this will fail - when there is no device file /dev/tty12, but that it will not fail - when the indicated console was in use already. When X finishes, it - will return to the original console. While it is running one can use - Ctrl-Alt-Fn to switch to VTn. - - The XFree86 keymap mechanism is much poorer than the Linux mechanism. - For each keycode there are at most 4 symbols defined, namely for the 4 - keymaps plain, shift, mod, mod+shift. What is the modifier mod? It is - the one designated by the symbol Mode_switch. For example, the - command xmodmap keys.dk, where the file keys.dk contains - - - keycode 64 = Mode_switch - keycode 113 = Mode_switch - keycode 38 = a A aring Aring - keycode 26 = e E ae AE - keycode 32 = o O oslash Ooblique - - - - - will make both Alt keys into mod keys, so that Alt+a gives (a-ring), - etc. (Note the illogical naming of oslash and Ooblique.) Such an - xmodmap command can be placed in the .xinitrc shell script that is - executed by default when X is started. - - - 1133..11.. WWhhaatt pprreecciisseellyy ddooeess XXFFrreeee8866--22..11 ddoo wwhheenn iitt iinniittiiaalliizzeess iittss - kkeeyymmaapp?? - - - Since version 2.1, XFree86 will initialize its keymap from the Linux - keymap, as far as possible. However, Linux had 16 entries per key (one - for each combination of the Shift, AltGr, Ctrl, Alt modifiers) and - presently has 256 entries per key, while X has 4 entries per key (one - for each combination of Shift, Mod), so some information is - necessarily lost. - - First X reads the Xconfig file, where definitions of the LeftAlt, - RightAlt, RightCtl, ScrollLock keys as Meta, ModeShift, Compose, - ModeLock or ScrollLock might be found - see X386keybd(1), later - XFree86kbd(1). - - For Mod the LeftAlt key is taken, unless RightCtl was defined as - ModeShift or ModeLock, in which case RightCtl is taken, or RightAlt - was so defined, in which case RightAlt is taken. This determines how - the 4 XFree86 meanings of a key are selected from the 16 Linux - meanings. Note that Linux today does not distinguish by default - between the two Ctrl keys or between the two Shift keys. X does - distinguish. - - Now the kernel keymap is read and the usually obvious corresponding X - bindings are made. The bindings for the "action keys" Show_Memory, - Show_State, Show_Registers, Last_Console, Console_n, Scroll_Backward, - Scroll_Forward, Caps_On and Boot are ignored, as are the dead - diacriticals, and the locks (except for ShiftLock), and the "ASCII-x" - keys. - - Next, the definitions in the Xconfig file are used. (Thus, a - definition of Compose in Xconfig will override its value as found in - the Linux keymap.) - - What happens to the strings associated with the function keys? - Nothing, X does not have such a concept. (But it is possible to define - strings for function keys in xterm - note however that the window - manager gets the keys first.) - - I don't know how to convince xterm that it should use the X keymap - when Alt is pressed; it seems just to look at its resource - eightBitInput, and depending on whether that is true or false either - set the high order bit of the character, or generate an additional - Escape character (just like setmetamode(1) does for the console). - - - 1144.. UUnnuussuuaall kkeeyyss aanndd kkeeyybbooaarrddss - - - The two keys PrintScrn/SysRq and Pause/Break are special in that they - have two keycodes: the former has keycode 84 when Alt is pressed - simultaneously, and keycode 99 otherwise; the latter has keycode 101 - when Ctrl is pressed simultaneously, and keycode 119 otherwise. - (Thus, it makes no sense to bind functions to Alt keycode 99 or Ctrl - keycode 119.) - - If you have strange keys, that do not generate any code under Linux - (or generate messages like "unrecognized scancode"), and your kernel - is 1.1.63 or later, then you can use setkeycodes(1) to tell the kernel - about them. They won't work under X, however. Once they have gotten a - keycode from setkeycodes, they can be assigned a function by loadkeys. - - - 1155.. EExxaammpplleess ooff uussee ooff llooaaddkkeeyyss aanndd xxmmooddmmaapp - - - Switching Caps Lock and Control on the keyboard (assuming you use - keymaps 0-15; check with dumpkeys | head -1) - - - % loadkeys - keymaps 0-15 - keycode 58 = Control - keycode 29 = Caps_Lock - % - - - - - Switching them under X only: - - - % xmodmap .xmodmaprc - - - - - where .xmodmaprc contains lines - - - remove Lock = Caps_Lock - remove Control = Control_L - keysym Control_L = Caps_Lock - keysym Caps_Lock = Control_L - add Lock = Caps_Lock - add Control = Control_L - - - - - What is this about the key numbering? Backspace is 14 under Linux, 22 - under X? Well, the numbering can best be regarded as arbitrary; the - Linux number of a key can be found using showkey(1), and the X number - using xev(1). Often the X number will be 8 more than the Linux number. - - Something else people like to change are the bindings of the function - keys. Suppose that you want to make F12 produce the string "emacs ". - Then - - - % loadkeys - keycode 88 = F12 - string F12 = "emacs " - % - - - - - will do this. More explicitly, the procedure is like this: (i) find - the keycodes of the keys to be remapped, using showkey(1). (ii) save - the current keymap, make a copy and edit that: - - - - - % dumpkeys > my_keymap - % cp my_keymap trial_keymap - % emacs trial_keymap - % loadkeys trial_keymap - % - - - - - The format of the table can be guessed by looking at the output of - dumpkeys, and is documented in keymaps(5). When the new keymap func- - tions as desired, you can put an invocation - - - loadkeys my_new_keymap - - - - - in /etc/rc.local or so, to execute it automatically at boot-up. Note - that changing modifier keys is tricky, and a newbie can easily get - into a situation only an expert can get out of. - - The default directory for keymaps is /usr/lib/kbd/keymaps. The - default extension for keymaps is .map. For example, loadkeys uk would - probably load /usr/lib/kbd/keymaps/i386/qwerty/uk.map. (With kbd-0.95 - and older this would be /usr/lib/kbd/keytables and - /usr/lib/kbd/keytables/uk.map.) - - - (On my machine) /dev/console is a symbolic link to /dev/tty0, and the - kernel regards /dev/tty0 as a synonym for the current VT. XFree86 1.3 - changes the owner of /dev/tty0, but does not reset this after - finishing. Thus, loadkeys or dumpkeys might fail because someone else - owns /dev/tty0; in such a case you might run X first. Note that you - cannot change keyboard mappings when not at the console (and not - superuser). - - - 1155..11.. ``II ccaann uussee oonnllyy oonnee ffiinnggeerr ttoo ttyyppee wwiitthh'' - - - "Can the Shift, Ctrl and Alt keys be made to behave as toggles?" - - Yes, after saying - - - % loadkeys - keymaps 0-15 - keycode 29 = Control_Lock - keycode 42 = Shift_Lock - keycode 56 = Alt_Lock - % - - - - - the left Control, Shift and Alt keys will act as toggles. The numbers - involved are revealed by showkey (and usually are 29, 97, 42, 54, 56, - 100 for left and right control, shift and alt, respectively), and the - functions are Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock. - - "What about `sticky' modifier keys?" - - Since version 1.3.33, the kernel knows about `sticky' modifier keys. - These act on the next key pressed. So, where one earlier needed the - 3-symbol sequence Shift_Lock a Shift_Lock to type `A', one can now use - the 2-symbol sequence SShift a. - You can say - - - % loadkeys - keymaps 0-15 - keycode 54 = SShift - keycode 97 = SCtrl - keycode 100 = SAlt - % - - - - - to obtain the same result. This will allow you to type Ctrl-Alt-Del - in three keystrokes with one hand. - - The keymaps line in these examples should cover all keymaps you have - in use. You find what keymaps you have in use by - - - % dumpkeys | head -1 - - - - - - 1166.. CChhaannggiinngg tthhee vviiddeeoo mmooddee - - - As far as I know there are 6 ways to change resolution: - - 1. At compile time: change the line - - - SVGA_MODE= -DSVGA_MODE=NORMAL_VGA - - - - - in /usr/src/linux/Makefile. - - 1A. After compilation: use rdev -v - a terrible hack, but it exists. - - 2. At boot time: put vga=ask in the lilo config file, and lilo will - ask you what video mode you want. Once you know, put vga=mypreference. - - 3. At run time: A. Use the resizecons command. (This is a very - primitive wrapper around the VT_RESIZE ioctl.) B. Use the - SVGATextMode command. (This is a less primitive wrapper around the - VT_RESIZE ioctl.) - - 4. Not "on the console": Under dosemu, or with svgalib etc. you can - change the hardware video mode without the console driver being aware - of it. Sometimes this is useful in getting resizecons or SVGATextMode - set up: use dosemu and some DOS program to get into the desired - videomode, dump (say from another VT) the contents of all video - hardware registers, and use that in the initialization that resizecons - and SVGATextMode require. In some cases where the video mode has - gotten into some unusable state, starting dosemu, relying on the BIOS - to set up the video mode, and then killing dosemu (with kill -9), is - the easiest way to get into shape again. - - - 1166..11.. IInnssttrruuccttiioonnss ffoorr tthhee uussee ooff rreessiizzeeccoonnss - - - Get svgalib and compile the program restoretextmode. Boot up your - machine in all possible video modes (using vga=ask in the lilo config - file), and write the video hardware register contents to files CxR - (C=cols, R=rows), e.g., 80x25, 132x44, etc. Put these files in - /usr/lib/kbd/videomodes. Now resizecons 132x44 will change videomode - for you (and send SIGWINCH to all processes that need to know about - this, and load another font if necessary). - - At present, resizecons only succeeds when there is memory enough for - both the old and the new consoles at the same time. - - - 1177.. CChhaannggiinngg tthhee kkeeyybbooaarrdd rreeppeeaatt rraattee - - - At startup, the Linux kernel sets the repeat rate to its maximal - value. For most keyboards this is reasonable, but for some it means - that you can hardly touch a key without getting three copies of the - corresponding symbol. Use the program kbdrate(8) to change the repeat - rate, or, if that doesn't help, edit or remove the section - - ______________________________________________________________________ - ! set the keyboard repeat rate to the max - - mov ax,#0x0305 - xor bx,bx ! clear bx - int 0x16 - ______________________________________________________________________ - - - of /usr/src/linux/[arch/i386/]boot/setup.S. - - Scott Johnston (sj@zule.com) reports: `To program the repeat rate of a - Gateway AnyKey keyboard all one has to do is press the "Repeat Rate" - key, then a function key F1-F8, then "Repeat Rate" again. F1 is the - slowest possible repeat rate, and F8 is really fast. If you somehow - manage to mess up your AnyKey keyboard doing this, simply press Ctrl- - Alt-SuspndMacro to reset your keyboard to factory default settings.' - - - 1188.. SSccrroolllliinngg - - - There are two ways to get a screen to scroll. The first, called `hard - scrolling', is to leave the text in video memory as it is, but change - the viewing origin. This is very fast. The second, called `soft - scrolling', involves moving all screen text up or down. This is much - slower. The kernel console driver will write text starting at the top - of the video memory, continuing to the bottom, then copy the bottom - part to the top again, and continue, all the time using hard scrolling - to show the right part on the screen. You can scroll back until the - top op the video memory by using Shift-PageUp (the grey PageUp) and - scroll down again using Shift-PageDown (the grey PageDown), assuming a - default keymap. The amount of scrollback is thus limited to the - amount of video memory you happen to have and you cannot increase this - amount. If you need more scrollback, use some program that buffers - the text, like less or screen - by using a buffer on disk you can go - back to what you did last week. (One can set the amount of scrollback - for xterm by adding a line like XTerm*saveLines: 2500 in .Xresources.) - - Upon changing virtual consoles, the screen content of the old VT is - copied to kernel memory, and the screen content of the new VT is - copied from kernel memory to video memory. Only the visible screen is - copied, not all of video memory, so switching consoles means losing - the scrollback information. - - Sometimes, hard scrolling is undesirable, for example when the - hardware does not have the possibility to change viewing origin. The - first example was a Braille machine that would render the top of video - memory in Braille. There is a kernel boot-time option no-scroll to - tell the console driver not to use hard scrolling. See bootparam(7). - - - 1199.. SSccrreeeennssaavviinngg - - - setterm -blank _n_n will tell the console driver to blank the screen - after _n_n minutes of inactivity. (With _n_n = 0, screensaving is turned - off. In some old kernels this first took effect after the next - keyboard interrupt.) - - The s option of xset(1) will set the X screensaving parameters: xset s - off turns off the screensaver, xset s 10 blanks the screen after 10 - minutes. - - The video hardware powersaving modes can be enabled/disabled using the - setvesablank program given in the starting comment of - /usr/src/linux/drivers/char/vesa_blank.c. - - - 2200.. SSccrreeeenn dduummppss - - - setterm -dump _N will dump the contents of the screen of /dev/tty_N to a - file screen.dump in the current directory. See setterm(1). - - The current contents of the screen of /dev/tty_N can be accessed using - the device /dev/vcs_N (where `vcs' stands for `virtual console - screen'). For example, you could have a clock program that displays - the current time in the upper right hand corner of the console screen - (see the program vcstime in kbd-0.99.tar.gz). Just dumping the - contents goes with cat /dev/vcs_N. These device files /dev/vcs_N do not - contain newlines, and do not contain attributes, like colors. From a - program it is usually better to use /dev/vcsa_N (`virtual console - screen with attributes') instead - it starts with a header giving the - number of rows and columns and the location of the cursor. See - vcs(4). - - - 2211.. SSoommee pprrooppeerrttiieess ooff tthhee VVTT110000 -- aapppplliiccaattiioonn kkeeyy mmooddee - - - : Sometimes my cursor keys or keypad keys produce strange codes? - - - When the terminal is in application cursor key mode the cursor keys - produce Esc O x and otherwise Esc [ x where x is one of A,B,C,D. - Certain programs put the terminal in application cursor key mode; if - you kill them with kill -9, or if they crash, then the mode will not - be reset. - - % echo -e '\033c' - - - resets all properties of the current VC. Just changing the cursor - application key mode is done by - - % echo -e '\033[?1h' - - - (set) and - - % echo -e '\033[?1l' - - - (clear). - - When the terminal is in application keypad key mode the keypad keys - produce Esc O y and otherwise Esc [ z ~ for certain y and z. - Setting application keypad key mode is done by - - % echo -e '\033=' - - - and - - % echo -e '\033>' - - - clears it again. - - - 2222.. HHaarrddwwaarree iinnccoommppaattiibbiilliittyy - - - Several people have noticed that they lose typed characters when a - floppy disk is active. It seems that this might be a problem with - Uni-486WB motherboards. - - Tjalling Tjalkens (tjalling@ei.ele.tue.nl) reports very similar - problems with "a no-brand GMB-486 UNP Vesa motherboard with AMD - 486DX2-66 CPU" - during floppy activity some keystrokes are lost, - during floppy tape streamer (Conner C 250 MQ) activity many keystrokes - are lost. - - Some people experience sporadic lockups - sometimes associated to hard - disk activity or other I/O. - - Ulf Tietz (ulf@rio70.bln.sni.de) wrote: `I have had the same problems, - when I had my motherboard tuned too fast. So I reset all the timings - ( CLK, wait statements etc ) to more conventional values, and the - problems are gone.' - - Bill Hogan (bhogan@crl.com) wrote: `If you have an AMI BIOS, you might - try setting the Gate A20 emulation parameter to "chipset" (if you have - that option). Whenever I have had that parameter set to any of the - other options on my machine ("fast", "both", "disabled") I have had - frequent keyboard lockups.' - - There may be a relation between keyboard problems and the video card - in use. - Shawn K. Quinn (skquinn@wt.net) wrote: `I have a Zeos Pantera - Pentium-90 that originally came with a Diamond Stealth 64 S3-based - video card. Under X I frequently got q's inserted into my text (how - annoying) especially if I typed very fast (during Netrek for instance, - even more annoying because guess what that does :-( ). Switching to a - Creative Labs Graphics Blaster MA202 solved the problem. I'm assuming - the Stealth 64 did something funny with the timings.' - - - 2233.. CCooppyyrriigghhtt - - Copyright (c) 1993-1999 by Andries Brouwer. This document may be - distributed under the terms set forth in the LDP license at - http://metalab.unc.edu/LDP/COPYRIGHT.html or - ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt. - - Additions and corrections are welcome. Andries Brouwer - aeb@cwi.nl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/doc/n474.doc b/docs/doc/n474.doc deleted file mode 100644 index 7e0aa165691fca61cdd9eea837ae22124ac21630..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13312 zcmeHOTWlOx89uWcr{1`()3iygmbNEN07qSKy}l(*3;42|bQ62+de?P@T#4D)v)-v^ zXO@{+J1!u#pjIFi1VZBSQd-o@LtiNHgeZ!5DH0DvqDTbtkcw79eX!CXRiHx6_n(>B zUGLhlQ;HhM9_!!#oHOV4U(cEUjL-e<=8Mn2di$HKA>Gfy?1S|P+g(?$AWtCEUdBSm zQ2B%P^>we3F=Sime~1JB!dg3g8SVmZ1CY#b0JH-lfIWa40VHRFn~?7UKn2*%fPH{l z0Jj460}cRg19StZeJfqN9GGPm{#?dcl9|9ZTZPnio(@1`0_wulEka&_v9t1*o$!$N z`}Bo}e(~MEzNW}_q%=qho51`fR%X*I#~$-4ui|$f3n{_;gm>CC=Qo_k>^94@1hB>` zSc#B)*y%X8`}33S>~#K4wEa362$Dy&z}zmI!5S=Pcn@~?dw?kl`C#JuR`UmZ4=@e= zM(5zIqr2Yd4E#6sy&lqMK>KF_p972n#sK4h2|xmn1d!661Y8fkO97Q(ICzqMqwRhI zJeblo+j6Xe%jYdS&xd1uJYi{-k}zGlFHB{q9#wKTpnNQN9ven~#;$yl2=q@j#n1Ji zgVz#`U;fIM7IF)PczmJY#D}?Qny9E2H+$N-=gQBo?&-C}i;rV1sm%0!spJGdm7U=6 z`!W-}|GxQ?e1NC<;L*WOq*>uuM#a@F)8STuZ_&P&PYL1b<|0p9F&-c69M7bpe9|)W zmKo*ok&$D)eIvd7Ll`fanVy`>rl!+;Dn1zNi}RlO1h-5+JTh>U+hSRFFxQde9g#Ux zHT9BJaXRO9w}?jtVGC0e+_kt{6x{1J>-V6=$su%;=Y0>s(}P2UQ7#G6O~<t>n(J^K zP`0hdgywRQ*Imn|5zDqHt2PG5$P)?fiZd?Ht;(V>^ECRj=2|&nOKPIrRhNid-9%qi z)2xc=a@8=nW|hb}IaseI^ktFfs*6!{hnIW~sTfW*S9zggV=}weqhMPlo*s8--uO`C zlrioR5_H>0kY<_7!o+A;PQkKQR5;6eQcz98<&My7;i|TdRiRyV5nzZW9EV7v^`Utx zJJ*|)Z32?8g0xrx<@Ta*d0use!&h|BoD;;*WjzmSeVzsDi8TqlpZAc=Fc5fZi$xuB zQAxjOjI!mZh6CwOsHU1%qdbxjW=XY|qWqLvR-sENTNqejl+Rcm&a8;Mz=IRI=~bi! zv6b>pl%KQ(<lxZ+$<CdI#CSnnwkr1hd@jS)oa3rsWv5gUH4pUzRiq-~Oj+2#BwsMb zajB=LCB!AEsi1dr3ebg{0t*8}R0qExPd9Z}R}F~3CDH?~))d7p+E!(;DCH)FMRR~p zQa1Stl#@i$+^<2wnpr-;duB+!G=}4ew5Zyu=0aa+HT5)H74NUa^QdGm=~5HlJ&`r? zUeiRG_>JbU9cf0;G3j`uWyo<d+>~|TW6sL2f*U5u4;<cT_roJm$*rAPN!4KlW<sU` zv$t$VkTnN3K}(peSJ|<OTeNK5g*BrG7URGOJaujs!yswCQ${1{!|L>u8^R@FV0!6@ z8{8i`WYwGLaR`uB5!e@X@$+2ePKjKQD5<)^)jTg+8t+*l=Ly&5>Y85m3{A3g3g&J* zF`l%SmUMpFGDH#mOfsdpl3G%W!hshdlRK^2MsI3awfUrKI}UmDDSb)s(~fE%p#=oK zQ-$Da^hp&?55xySw@+VHj`g%xiEifD5bqf)V{{GfiaZ3&28t{_cT#$8aut#BRX(O^ z2G&fCd`s4rOl!pu`9<lZzyi0ZnoAz@RxEo7n}jI>Zv_jh+YTHlZqMk+)V)n&!}fRV z*wBb%s>9<^-XG-yQI4HvD9VSU{8*Gj`{I27RL4<Ib_<W*+sjvqx>n>xbs5GCQRRd% zVS>;wa3Ph=p75NqZbHAym7Jk#9^tf^n69zf%%Wjw+l#hZBJSV-ytIk(Y;6UB=t!qZ zR$edYFeR`f7*Mi`bX)pIpHJAK0;i^dtHfeh9}Tf#Zz!pGQ0Z1TzJL=>C0EknP9@RQ zt8r&)rt&E72@V*JR)ixn#3p27AFjHPf@K)i3W+b+cY}`5m|!f(g!j^hJ|d4NM|*qw zA-oBzEX<<1NT%R#Kb-f}2Bal}9sR+`M>={uHspC#!GlS`7k}fLQf)|nWaLQGj(Ds= z%b^N1MbUEHt<>9BX4<Ey8IB|9Fb+qgJ4K#xp>H?<I6Q?zkM7FTo9_<M0UKVS5aqB` zvMa+_g*7{H1mnWSo=c91XNqtHQK^eGJaLgG@QLz<BBg*nVAq#6az+z|L5f^EVZaAL z@6~(>JD<17L+hPNxop{PaGJqxPv@sA7;8}&Wq%^tO|e=VYsFDc@EIIIZ1^M6KFeOj zaq;nnrN%lp9Bc=A(>T^fBK3z_HE)$&j0{DUI$rY5v81e<onJdUZ(~1ff8nXvi@zRw z>AAL-pKE(YVc%5PD-m|?L&UN_K*WgNe;X6MmtK78N0<LGUEKT1ciP##pZ?kTKGgjL zffkB?Qhf9W0E)X@08spgg5eZ1Jq%3o(g%SlwrT)V%;(#{6gT}jFvU*)2uxG|6PUtb z+#fpuOmWvDFvV4$0p9N2<Sw+k8<0G{FrP}#PtPV6vdO8L$+2v5Aw4}iH8vSbOlQ%c zA+@oLjCz%rDr0{sM866$CPp<b(~&nD`qUSDz=8U;)j!)R{{S9b1Wg}Ry4v|as(FKP z{$J)N9U{H0y&@hDNUUONLpu3zEEC&!PN_CwJ83hD=1<?7dY<CJwVoSu)MmRhiU!+_ zBje56478IrG}m@1puIV6R_nQwxo8|Rk^Wk@rrb`(+0G|kcu}x{vk~dOMEwjHd;pFv zh*Q@;deirp57k#T=5ZOcMs+@3qst+rD`9HVO&3VpVA9dUXh+M4`8eqJGA^G^q5haZ z4q+nh0l&Oc{3o<0{$KF>)#Fd1Uco#vUhLy<0F%t#1<nE|5#OHxruA%=0zL%mp`9aw z4Mb^LX=Cr8M}UJFf^sl&fP?zRaRLqn&$q&j<206uQ=6p_>S;IJ157(+&~Gao%pZ(L z<!8|^sNZak|GaLCcv>s|){4Ki;%}|^+cvS!R{X6Me{03xTJg75{7r@-Tk*H+I{v0s z3>Ps$TSf4?T;wNkHB@&%Kg`Czps>sAFpG@S%~2L7OnNu#Vgrb#%{}?>laJz^le4== z6?{|0+3p7gqM<e-5_?%!I}2Uhd-kA$S2E5xTI{11CoBsANVK?lLyK;9Wc0`Epwi7c zW)MZ@=}HOr#=%m~<E5mHou|N@j9e*fH(y`(f)MnqmZp%Mp(56G8SU|1By!aA21YR~ zdcULZg{aLf2X9^9|HS9nzUIJ4UtLTt`A9aCO=K1j6^&>5=LZ(%PYz5@rxOdfi%-lV z@Pa7aL>QO%U1P^L)UA&`ID_jSN7$!uVVFv#X4vFRHh!EH%Vo_NDmkp_IaXDl_JnT? zC)gwlFH)c~!oGLsyz;uFs2fz>2`B@;2zU{YYeNhY1pfi>6oQ=#;LHnvZy_-Gd%&xB z`KCC)_rZ<V0KWpf4tNic#0$C$_$lBb0-tXJ`tS<a51^RBB;ft`-v8UBwd&tHm;ArA zx7pfX>X+Th?|=iLio)9Go_sXKGz6A!kj4~ZVU*ioR``|A+GSqjcrW*I-Rw@%=(_-S z132Iy;1R%w)rH?c{(<ZRxyS2d|97S&53MSfJfbd9=?;`OL2FdG#@=QjLTjuodFU;a z!d?lex#YL>pKUD33FTnaPd@weuJz=hSom#kEpq6$*m;`vtQWiTLs-n4_ARg7$Nj6| zlj}$q+kb|2b+GWckbBSYVHOIpcCQYel4?)^D~B$0u{MR==W}h;OqN5n@*OuJn%j<+ zr{&EAW4ALl`tEuNcz4>eah)xrU}2_uA;JdY?_p!3m)D<X_pk#AQP|f1k6sJ@e*hZV zCjHQE-~aEb`hR*>OXSxxRD?Z{&w~3yjyzaI)<64S^Y$Nh7deqi&(aMW?IP==sqra% zFyzWB<QW@ZO5qEK{y~4=z_nXWlpVH3qbe8ngv;1A;2`cNg;Ll%d#v_6@K@O*A#Bw6 zWgp2H$`gtVpi&SO`^ytTp&TW`r`Y}jbbXf9OStT&ub^hFl4`OWQ5#~J)l$wfSjVTR z$r!$^GFZ24K7k9-ioMD+TG6tMoMkORRd+F^{Tcjk!a1zGDEIwWe|zL50-6n#O=%bV z8r<qu>6eEl@Tg<st;r@5+@z{D<aTj-Y{S(=YnJP#8Z3;KOlA6BnW`w&-$`95|8J^o BRs8?} diff --git a/docs/doc/repeat/set_kbd_repeat-1 b/docs/doc/repeat/set_kbd_repeat-1 deleted file mode 100644 index 3d111941..00000000 --- a/docs/doc/repeat/set_kbd_repeat-1 +++ /dev/null @@ -1,34 +0,0 @@ -From: johnsonm@stolaf.edu (Michael K. Johnson) -Subject: changing keyboard repeat rate. - -OK, I have gotten several requests for info on how to change the -keyboard repeat rate, so here goes. Note: I can't just give diffs, -because there are lots of options, and for heaven's sake it's only -three lines of code. - -In boot/setup.S, there are the lines: - -! set the keyboard repeat rate to the max - - mov ax,#0x0305 - mov bx,0x0000 - int 0x16 - -If you don't want to change the repeat rate at all, just comment out -these lines by prefacing them with !'s. If you want something in the -middle, change the - mov bx,0x0000 -to mov bx,0x???? -where ???? is determined by (from Ralf Brown's interrupt list) -bh = delay value (0x00 = 250 ms to 0x03 = 1000 ms (one second)) - this is the delay before the repeat starts happening -bl = repeat rate (0x00 = 30/sec to 0x0c = 10/sec [default] to 0x1f = 2/sec) - -I use mov bx,0x0006 -to delay 1/4 sec, then repeat at what I think is a comfortable rate. -I am too lazy to calculate the exact speed -- maybe 20/sec? ;-) - -Hope this helps people. - -michaelkjohnson -johnsonm@stolaf.edu diff --git a/docs/doc/repeat/set_kbd_repeat-2 b/docs/doc/repeat/set_kbd_repeat-2 deleted file mode 100644 index 7fc6f911..00000000 --- a/docs/doc/repeat/set_kbd_repeat-2 +++ /dev/null @@ -1,34 +0,0 @@ -Date: Wed, 21 Jul 1999 23:34:05 -0700 -From: Marc Merlin <marc_news@merlins.org> -Cc: linux-kernel@vger.rutgers.edu, Larry Augustin <lma@valinux.com> - -There is an issue with setup.S: -! Set the keyboard repeat rate to the max - mov ax,#0x0305 - xor bx,bx ! clear bx - int 0x16 - -Those lines are not really needed but they cause a problem on some (very -few) systems where every other boot (or so) the keyboard won't be found (and -has to be plugged/unplugged before it re-appears). -It happens to affect some of the Pentium Pro systems that VA Linux Systems -used to sell. -Larry Augustin (CEO VA) found that removing those three lines fixes the -problem and VA has been shipping kernels with them disabled for at least two -years without any adverse effects. -The patch actually got in the 2.0.31pre series (by David Miller) but got -dropped/lost when David gave up. - -More details from Larry: - ------ Forwarded message from Larry Augustin <lma@valinux.com> ----- -From: Larry Augustin <lma@valinux.com> - -Specifically, we had the problem on Intel Venus (VS440FX) Pentium Pro -systems. I have a feeling the problem could be traced to a Keytronic -keyboard BIOS bug, but I never tracked it down. - -Interesting enough, that was one of the patches david miller had in the code -base that got dropped when he quit doing 2.0 maintenance releases. - -Larry diff --git a/docs/doc/scancodes/README b/docs/doc/scancodes/README deleted file mode 100644 index 692bd15a..00000000 --- a/docs/doc/scancodes/README +++ /dev/null @@ -1,3 +0,0 @@ -The stuff that used to be here is distributed separately - -it became too large. See also -http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html . diff --git a/docs/doc/utf/README b/docs/doc/utf/README deleted file mode 100644 index 2788bbab..00000000 --- a/docs/doc/utf/README +++ /dev/null @@ -1,22 +0,0 @@ -The file with a strange name in this directory is no mistake. -It shows that Linux handles filenames in Unicode (UTF-8) -without ever realizing that they are in Unicode. -[However, some old tar's are unhappy with this filename.] - -If you want to see it (the filename consists of two musical notes): -% setfont # load PC font, just to be sure -% setfont -u def.uni # load Unicode mapping table -% echo -e '\033%8' # set Unicode output mode -% ls -N # show filenames (raw) -% echo -e '\033%@' # set Latin1 output mode again. - -If you want to remove it: -% rm ./?????? - -If you want to input Unicode: -% kbd_mode -u # Be careful! Do this only with a kbd_mode - # from kbd-0.88.tar.gz or later! -and next tell loadkeys what key combinations correspond to which -Unicode values. (See also the contents of that musical file.) - -See also the scripts unicode_start and unicode_stop in ../../src. diff --git a/docs/doc/utf/ethiopic b/docs/doc/utf/ethiopic deleted file mode 100644 index 02e2072e..00000000 --- a/docs/doc/utf/ethiopic +++ /dev/null @@ -1,388 +0,0 @@ -List of codes (in Unicode and UTF-8) of the characters -available in the ethiopic fonts. View this for example by: -% unicode_start -% setfont Goha-16.psf -% less -r ethiopic -% unicode_stop - -1200 ሀ ETHIOPIC SYLLABLE HA (he) -1201 ሁ ETHIOPIC SYLLABLE HU (hu) -1202 ሂ ETHIOPIC SYLLABLE HI (hi) -1203 ሃ ETHIOPIC SYLLABLE HAA (ha) -1204 ሄ ETHIOPIC SYLLABLE HEE (hE) -1205 ህ ETHIOPIC SYLLABLE HE (h) -1206 ሆ ETHIOPIC SYLLABLE HO (ho) -1207 ሇ -1208 ለ ETHIOPIC SYLLABLE LA (le) -1209 ሉ ETHIOPIC SYLLABLE LU (lu) -120A ሊ ETHIOPIC SYLLABLE LI (li) -120B ላ ETHIOPIC SYLLABLE LAA (la) -120C ሌ ETHIOPIC SYLLABLE LEE (lE) -120D ል ETHIOPIC SYLLABLE LE (l) -120E ሎ ETHIOPIC SYLLABLE LO (lo) -120F ሏ ETHIOPIC SYLLABLE LWA (lWa) -1210 ሐ ETHIOPIC SYLLABLE HHA (He) -1211 ሑ ETHIOPIC SYLLABLE HHU (Hu) -1212 ሒ ETHIOPIC SYLLABLE HHI (Hi) -1213 ሓ ETHIOPIC SYLLABLE HHAA (Ha) -1214 ሔ ETHIOPIC SYLLABLE HHEE (HE) -1215 ሕ ETHIOPIC SYLLABLE HHE (H) -1216 ሖ ETHIOPIC SYLLABLE HHO (Ho) -1217 ሗ ETHIOPIC SYLLABLE HHWA (HWa) -1218 መ ETHIOPIC SYLLABLE MA (me) -1219 ሙ ETHIOPIC SYLLABLE MU (mu) -121A ሚ ETHIOPIC SYLLABLE MI (mi) -121B ማ ETHIOPIC SYLLABLE MAA (ma) -121C ሜ ETHIOPIC SYLLABLE MEE (mE) -121D ም ETHIOPIC SYLLABLE ME (m) -121E ሞ ETHIOPIC SYLLABLE MO (mo) -121F ሟ ETHIOPIC SYLLABLE MWA (mWa) -1220 ሠ ETHIOPIC SYLLABLE SZA (`se) -1221 ሡ ETHIOPIC SYLLABLE SZU (`su) -1222 ሢ ETHIOPIC SYLLABLE SZI (`si) -1223 ሣ ETHIOPIC SYLLABLE SZAA (`sa) -1224 ሤ ETHIOPIC SYLLABLE SZEE (`sE) -1225 ሥ ETHIOPIC SYLLABLE SZE (`s) -1226 ሦ ETHIOPIC SYLLABLE SZO (`so) -1227 ሧ ETHIOPIC SYLLABLE SZWA (`sWa) -1228 ረ ETHIOPIC SYLLABLE RA (re) -1229 ሩ ETHIOPIC SYLLABLE RU (ru) -122A ሪ ETHIOPIC SYLLABLE RI (ri) -122B ራ ETHIOPIC SYLLABLE RAA (ra) -122C ሬ ETHIOPIC SYLLABLE REE (rE) -122D ር ETHIOPIC SYLLABLE RE (r) -122E ሮ ETHIOPIC SYLLABLE RO (ro) -122F ሯ ETHIOPIC SYLLABLE RWA (rWa) -1230 ሰ ETHIOPIC SYLLABLE SA (se) -1231 ሱ ETHIOPIC SYLLABLE SU (su) -1232 ሲ ETHIOPIC SYLLABLE SI (si) -1233 ሳ ETHIOPIC SYLLABLE SAA (sa) -1234 ሴ ETHIOPIC SYLLABLE SEE (sE) -1235 ስ ETHIOPIC SYLLABLE SE (s) -1236 ሶ ETHIOPIC SYLLABLE SO (so) -1237 ሷ ETHIOPIC SYLLABLE SWA (sWa) -1238 ሸ ETHIOPIC SYLLABLE SHA (xe) -1239 ሹ ETHIOPIC SYLLABLE SHU (xu) -123A ሺ ETHIOPIC SYLLABLE SHI (xi) -123B ሻ ETHIOPIC SYLLABLE SHAA (xa) -123C ሼ ETHIOPIC SYLLABLE SHEE (xE) -123D ሽ ETHIOPIC SYLLABLE SHE (xa) -123E ሾ ETHIOPIC SYLLABLE SHO (xo) -123F ሿ ETHIOPIC SYLLABLE SHWA (xWa) -1240 ቀ ETHIOPIC SYLLABLE QA (qe) -1241 ቁ ETHIOPIC SYLLABLE QU (qu) -1242 ቂ ETHIOPIC SYLLABLE QI (qi) -1243 ቃ ETHIOPIC SYLLABLE QAA (qa) -1244 ቄ ETHIOPIC SYLLABLE QEE (qE) -1245 ቅ ETHIOPIC SYLLABLE QE (q) -1246 ቆ ETHIOPIC SYLLABLE QO (qo) -1247 ቇ -1248 ቈ ETHIOPIC SYLLABLE QWA (qWe) -1249 ቉ -124A ቊ ETHIOPIC SYLLABLE QWI (qWi) -124B ቋ ETHIOPIC SYLLABLE QWAA (qWa) -124C ቌ ETHIOPIC SYLLABLE QWEE (qWE) -124D ቍ ETHIOPIC SYLLABLE QWE (qW) -124E ቎ -124F ቏ -1250 ቐ ETHIOPIC SYLLABLE QHA (Qe) -1251 ቑ ETHIOPIC SYLLABLE QHU (Qu) -1252 ቒ ETHIOPIC SYLLABLE QHI (Qi) -1253 ቓ ETHIOPIC SYLLABLE QHAA (Qa) -1254 ቔ ETHIOPIC SYLLABLE QHEE (QE) -1255 ቕ ETHIOPIC SYLLABLE QHE (Q) -1256 ቖ ETHIOPIC SYLLABLE QHO (Qo) -1257 ቗ -1258 ቘ ETHIOPIC SYLLABLE QHWA (QWe) -1259 ቙ -125A ቚ ETHIOPIC SYLLABLE QHWI (QWi) -125B ቛ ETHIOPIC SYLLABLE QHWAA (QWa) -125C ቜ ETHIOPIC SYLLABLE QHWEE (QWE) -125D ቝ ETHIOPIC SYLLABLE QHWE (QW) -125E ቞ -125F ቟ -1260 በ ETHIOPIC SYLLABLE BA (be) -1261 ቡ ETHIOPIC SYLLABLE BU (bu) -1262 ቢ ETHIOPIC SYLLABLE BI (bi) -1263 ባ ETHIOPIC SYLLABLE BAA (ba) -1264 ቤ ETHIOPIC SYLLABLE BEE (bE) -1265 ብ ETHIOPIC SYLLABLE BE (b) -1266 ቦ ETHIOPIC SYLLABLE BO (bo) -1267 ቧ ETHIOPIC SYLLABLE BWA (bWa) -1268 ቨ ETHIOPIC SYLLABLE VA (ve) -1269 ቩ ETHIOPIC SYLLABLE VU (vu) -126A ቪ ETHIOPIC SYLLABLE VI (vi) -126B ቫ ETHIOPIC SYLLABLE VAA (va) -126C ቬ ETHIOPIC SYLLABLE VEE (vE) -126D ቭ ETHIOPIC SYLLABLE VE (v) -126E ቮ ETHIOPIC SYLLABLE VO (vo) -126F ቯ ETHIOPIC SYLLABLE VWA (vWa) -1270 ተ ETHIOPIC SYLLABLE TA (te) -1271 ቱ ETHIOPIC SYLLABLE TU (tu) -1272 ቲ ETHIOPIC SYLLABLE TI (ti) -1273 ታ ETHIOPIC SYLLABLE TAA (ta) -1274 ቴ ETHIOPIC SYLLABLE TEE (tE) -1275 ት ETHIOPIC SYLLABLE TE (t) -1276 ቶ ETHIOPIC SYLLABLE TO (to) -1277 ቷ ETHIOPIC SYLLABLE TWA (tWa) -1278 ቸ ETHIOPIC SYLLABLE CA (ce) -1279 ቹ ETHIOPIC SYLLABLE CU (cu) -127A ቺ ETHIOPIC SYLLABLE CI (ci) -127B ቻ ETHIOPIC SYLLABLE CAA (ca) -127C ቼ ETHIOPIC SYLLABLE CEE (cE) -127D ች ETHIOPIC SYLLABLE CE (c) -127E ቾ ETHIOPIC SYLLABLE CO (co) -127F ቿ ETHIOPIC SYLLABLE CWA (cWa) -1280 ኀ ETHIOPIC SYLLABLE XA (`he) -1281 ኁ ETHIOPIC SYLLABLE XU (`hu) -1282 ኂ ETHIOPIC SYLLABLE XI (`hi) -1283 ኃ ETHIOPIC SYLLABLE XAA (`ha) -1284 ኄ ETHIOPIC SYLLABLE XEE (`hE) -1285 ኅ ETHIOPIC SYLLABLE XE (`h) -1286 ኆ ETHIOPIC SYLLABLE XO (`ho) -1287 ኇ -1288 ኈ ETHIOPIC SYLLABLE XWA (hWe) -1289 ኉ -128A ኊ ETHIOPIC SYLLABLE XWI (hWi) -128B ኋ ETHIOPIC SYLLABLE XWAA (hWa) -128C ኌ ETHIOPIC SYLLABLE XWEE (hWE) -128D ኍ ETHIOPIC SYLLABLE XWE (hW) -128E ኎ -128F ኏ -1290 ነ ETHIOPIC SYLLABLE NA (na) -1291 ኑ ETHIOPIC SYLLABLE NU (nu) -1292 ኒ ETHIOPIC SYLLABLE NI (ni) -1293 ና ETHIOPIC SYLLABLE NAA (na) -1294 ኔ ETHIOPIC SYLLABLE NEE (nE) -1295 ን ETHIOPIC SYLLABLE NE (n) -1296 ኖ ETHIOPIC SYLLABLE NO (no) -1297 ኗ ETHIOPIC SYLLABLE NWA (nWa) -1298 ኘ ETHIOPIC SYLLABLE NYA (Ne) -1299 ኙ ETHIOPIC SYLLABLE NYU (Nu) -129A ኚ ETHIOPIC SYLLABLE NYI (Ni) -129B ኛ ETHIOPIC SYLLABLE NYAA (Na) -129C ኜ ETHIOPIC SYLLABLE NYEE (NE) -129D ኝ ETHIOPIC SYLLABLE NYE (N) -129E ኞ ETHIOPIC SYLLABLE NYO (No) -129F ኟ ETHIOPIC SYLLABLE NYWA (NWa) -12A0 አ ETHIOPIC SYLLABLE GLOTTAL A (e) -12A1 ኡ ETHIOPIC SYLLABLE GLOTTAL U (u) -12A2 ኢ ETHIOPIC SYLLABLE GLOTTAL I (i) -12A3 ኣ ETHIOPIC SYLLABLE GLOTTAL AA (a) -12A4 ኤ ETHIOPIC SYLLABLE GLOTTAL EE (E) -12A5 እ ETHIOPIC SYLLABLE GLOTTAL E (I) -12A6 ኦ ETHIOPIC SYLLABLE GLOTTAL O (o) -12A7 ኧ ETHIOPIC SYLLABLE GLOTTAL WA (e3) -12A8 ከ ETHIOPIC SYLLABLE KA (ke) -12A9 ኩ ETHIOPIC SYLLABLE KU (ku) -12AA ኪ ETHIOPIC SYLLABLE KI (ki) -12AB ካ ETHIOPIC SYLLABLE KAA (ka) -12AC ኬ ETHIOPIC SYLLABLE KEE (kE) -12AD ክ ETHIOPIC SYLLABLE KE (k) -12AE ኮ ETHIOPIC SYLLABLE KO (ko) -12AF ኯ -12B0 ኰ ETHIOPIC SYLLABLE KWA (kWe) -12B1 ኱ -12B2 ኲ ETHIOPIC SYLLABLE KWI (kWi) -12B3 ኳ ETHIOPIC SYLLABLE KWAA (kWa) -12B4 ኴ ETHIOPIC SYLLABLE KWEE (kWE) -12B5 ኵ ETHIOPIC SYLLABLE KWE (kW) -12B6 ኶ -12B7 ኷ -12B8 ኸ ETHIOPIC SYLLABLE KXA (Ke) -12B9 ኹ ETHIOPIC SYLLABLE KXU (Ku) -12BA ኺ ETHIOPIC SYLLABLE KXI (Ki) -12BB ኻ ETHIOPIC SYLLABLE KXAA (Ka) -12BC ኼ ETHIOPIC SYLLABLE KXEE (KE) -12BD ኽ ETHIOPIC SYLLABLE KXE (K) -12BE ኾ ETHIOPIC SYLLABLE KXO (Ko) -12BF ኿ -12C0 ዀ ETHIOPIC SYLLABLE KXWA (KWe) -12C1 ዁ -12C2 ዂ ETHIOPIC SYLLABLE KXWI (KWi) -12C3 ዃ ETHIOPIC SYLLABLE KXWAA (KWa) -12C4 ዄ ETHIOPIC SYLLABLE KXWEE (KWE) -12C5 ዅ ETHIOPIC SYLLABLE KXWE (KW) -12E6 ዆ -12C7 ዇ -12C8 ወ ETHIOPIC SYLLABLE WA (we) -12C9 ዉ ETHIOPIC SYLLABLE WU (wu) -12CA ዊ ETHIOPIC SYLLABLE WI (wi) -12CB ዋ ETHIOPIC SYLLABLE WAA (wa) -12CC ዌ ETHIOPIC SYLLABLE WEE (wE) -12CD ው ETHIOPIC SYLLABLE WE (w) -12CE ዎ ETHIOPIC SYLLABLE WO (wo) -12CF ዏ -12D0 ዐ ETHIOPIC SYLLABLE PHARYNGEAL A (`e) -12D1 ዑ ETHIOPIC SYLLABLE PHARYNGEAL U (`u) -12D2 ዒ ETHIOPIC SYLLABLE PHARYNGEAL I (`i) -12D3 ዓ ETHIOPIC SYLLABLE PHARYNGEAL AA (`a) -12D4 ዔ ETHIOPIC SYLLABLE PHARYNGEAL EE (`E) -12D5 ዕ ETHIOPIC SYLLABLE PHARYNGEAL E (`I) -12D6 ዖ ETHIOPIC SYLLABLE PHARYNGEAL O (`o) -12D7 ዗ -12D8 ዘ ETHIOPIC SYLLABLE ZA (ze) -12D9 ዙ ETHIOPIC SYLLABLE ZU (zu) -12DA ዚ ETHIOPIC SYLLABLE ZI (zi) -12DB ዛ ETHIOPIC SYLLABLE ZAA (za) -12DC ዜ ETHIOPIC SYLLABLE ZEE (zE) -12DD ዝ ETHIOPIC SYLLABLE ZE (z) -12DE ዞ ETHIOPIC SYLLABLE ZO (zo) -12DF ዟ ETHIOPIC SYLLABLE ZWA (zWa) -12E0 ዠ ETHIOPIC SYLLABLE ZHA (Ze) -12E1 ዡ ETHIOPIC SYLLABLE ZHU (Zu) -12E2 ዢ ETHIOPIC SYLLABLE ZHI (Zi) -12E3 ዣ ETHIOPIC SYLLABLE ZHAA (Za) -12E4 ዤ ETHIOPIC SYLLABLE ZHEE (ZE) -12E5 ዥ ETHIOPIC SYLLABLE ZHE (Z) -12E6 ዦ ETHIOPIC SYLLABLE ZHO (Zo) -12E7 ዧ ETHIOPIC SYLLABLE ZHWA (ZWa) -12E8 የ ETHIOPIC SYLLABLE YA (ye) -12E9 ዩ ETHIOPIC SYLLABLE YU (yu) -12EA ዪ ETHIOPIC SYLLABLE YI (yi) -12EB ያ ETHIOPIC SYLLABLE YAA (ya) -12EC ዬ ETHIOPIC SYLLABLE YEE (yE) -12ED ይ ETHIOPIC SYLLABLE YE (y) -12EE ዮ ETHIOPIC SYLLABLE YO (yo) -12EF ዯ ETHIOPIC SYLLABLE YWA (yWa) -12F0 ደ ETHIOPIC SYLLABLE DA (de) -12F1 ዱ ETHIOPIC SYLLABLE DU (du) -12F2 ዲ ETHIOPIC SYLLABLE DI (di) -12F3 ዳ ETHIOPIC SYLLABLE DAA (da) -12F4 ዴ ETHIOPIC SYLLABLE DEE (dE) -12F5 ድ ETHIOPIC SYLLABLE DE (d) -12F6 ዶ ETHIOPIC SYLLABLE DO (do) -12F7 ዷ ETHIOPIC SYLLABLE DWA (dWa) -12F8 ዸ ETHIOPIC SYLLABLE DDA (De) -12F9 ዹ ETHIOPIC SYLLABLE DDU (Du) -12FA ዺ ETHIOPIC SYLLABLE DDI (Di) -12FB ዻ ETHIOPIC SYLLABLE DDAA (Da) -12FC ዼ ETHIOPIC SYLLABLE DDEE (DE) -12FD ዽ ETHIOPIC SYLLABLE DDE (D) -12FE ዾ ETHIOPIC SYLLABLE DDO (Do) -12FF ዿ ETHIOPIC SYLLABLE DDWA (DWa) -1300 ጀ ETHIOPIC SYLLABLE JA (je) -1301 ጁ ETHIOPIC SYLLABLE JU (ju) -1302 ጂ ETHIOPIC SYLLABLE JI (ji) -1303 ጃ ETHIOPIC SYLLABLE JAA (ja) -1304 ጄ ETHIOPIC SYLLABLE JEE (jE) -1305 ጅ ETHIOPIC SYLLABLE JE (j) -1306 ጆ ETHIOPIC SYLLABLE JO (jo) -1307 ጇ ETHIOPIC SYLLABLE JWA (jWa) -1308 ገ ETHIOPIC SYLLABLE GA (ga) -1309 ጉ ETHIOPIC SYLLABLE GU (gu) -130A ጊ ETHIOPIC SYLLABLE GI (gi) -130B ጋ ETHIOPIC SYLLABLE GAA (ga) -130C ጌ ETHIOPIC SYLLABLE GEE (gE) -130D ግ ETHIOPIC SYLLABLE GE (g) -130E ጎ ETHIOPIC SYLLABLE GO (go) -130F ጏ -1310 ጐ ETHIOPIC SYLLABLE GWU (gWu) -1311 ጑ -1312 ጒ ETHIOPIC SYLLABLE GWI (gWi) -1313 ጓ ETHIOPIC SYLLABLE GWAA (gWa) -1314 ጔ ETHIOPIC SYLLABLE GWEE (gWE) -1315 ጕ ETHIOPIC SYLLABLE GWE (gW) -1316 ጖ -1317 ጗ -1318 ጘ ETHIOPIC SYLLABLE GGA (Ge) -1319 ጙ ETHIOPIC SYLLABLE GGU (Gu) -131A ጚ ETHIOPIC SYLLABLE GGI (Gi) -131B ጛ ETHIOPIC SYLLABLE GGAA (Ga) -131C ጜ ETHIOPIC SYLLABLE GGEE (GE) -131D ጝ ETHIOPIC SYLLABLE GGE (G) -131E ጞ ETHIOPIC SYLLABLE GGO (Go) -131F ጟ ETHIOPIC SYLLABLE GGWA (GWa) -1320 ጠ ETHIOPIC SYLLABLE THA (Te) -1321 ጡ ETHIOPIC SYLLABLE THU (Tu) -1322 ጢ ETHIOPIC SYLLABLE THI (Ti) -1323 ጣ ETHIOPIC SYLLABLE THAA (Ta) -1324 ጤ ETHIOPIC SYLLABLE THEE (TE) -1325 ጥ ETHIOPIC SYLLABLE THE (T) -1326 ጦ ETHIOPIC SYLLABLE THO (To) -1327 ጧ ETHIOPIC SYLLABLE THWA (TWa) -1328 ጨ ETHIOPIC SYLLABLE CHA (Ce) -1329 ጩ ETHIOPIC SYLLABLE CHU (Ca) -132A ጪ ETHIOPIC SYLLABLE CHI (Cu) -132B ጫ ETHIOPIC SYLLABLE CHAA (Ca) -132C ጬ ETHIOPIC SYLLABLE CHEE (CE) -132D ጭ ETHIOPIC SYLLABLE CHE (C) -132E ጮ ETHIOPIC SYLLABLE CHO (Co) -132F ጯ ETHIOPIC SYLLABLE CHWA (CWa) -1330 ጰ ETHIOPIC SYLLABLE PHA (Pe) -1331 ጱ ETHIOPIC SYLLABLE PHU (Pu) -1332 ጲ ETHIOPIC SYLLABLE PHI (Pi) -1333 ጳ ETHIOPIC SYLLABLE PHAA (Pa) -1334 ጴ ETHIOPIC SYLLABLE PHEE (PE) -1335 ጵ ETHIOPIC SYLLABLE PHE (P) -1336 ጶ ETHIOPIC SYLLABLE PHO (Po) -1337 ጷ ETHIOPIC SYLLABLE PHWA (PWa) -1338 ጸ ETHIOPIC SYLLABLE TSA (SWe) -1339 ጹ ETHIOPIC SYLLABLE TSU (SWu) -133A ጺ ETHIOPIC SYLLABLE TSI (SWi) -133B ጻ ETHIOPIC SYLLABLE TSAA (SWa) -133C ጼ ETHIOPIC SYLLABLE TSEE (SWE) -133D ጽ ETHIOPIC SYLLABLE TSE (SW) -133E ጾ ETHIOPIC SYLLABLE TSO (SWo) -133F ጿ ETHIOPIC SYLLABLE TSWA (SWa) -1340 ፀ ETHIOPIC SYLLABLE TZA (`Sa) -1341 ፁ ETHIOPIC SYLLABLE TZU (`Su) -1342 ፂ ETHIOPIC SYLLABLE TZI (`Si) -1343 ፃ ETHIOPIC SYLLABLE TZAA (`Sa) -1344 ፄ ETHIOPIC SYLLABLE TZEE (`SE) -1345 ፅ ETHIOPIC SYLLABLE TZE (`S) -1346 ፆ ETHIOPIC SYLLABLE TZO (`So) -1347 ፇ -1348 ፈ ETHIOPIC SYLLABLE FA (fa) -1349 ፉ ETHIOPIC SYLLABLE FU (fu) -134A ፊ ETHIOPIC SYLLABLE FI (fi) -134B ፋ ETHIOPIC SYLLABLE FAA (fa) -134C ፌ ETHIOPIC SYLLABLE FEE (fE) -134D ፍ ETHIOPIC SYLLABLE FE (f) -134E ፎ ETHIOPIC SYLLABLE FO (fo) -134F ፏ ETHIOPIC SYLLABLE FWA (fWa) -1350 ፐ ETHIOPIC SYLLABLE PA (pe) -1351 ፑ ETHIOPIC SYLLABLE PU (pu) -1352 ፒ ETHIOPIC SYLLABLE PI (pi) -1353 ፓ ETHIOPIC SYLLABLE PAA (pa) -1354 ፔ ETHIOPIC SYLLABLE PEE (pE) -1355 ፕ ETHIOPIC SYLLABLE PE (p) -1356 ፖ ETHIOPIC SYLLABLE PO (po) -1357 ፗ ETHIOPIC SYLLABLE PWA (pWa) -1358 ፘ ETHIOPIC SYLLABLE MYA (mYa) -1359 ፙ ETHIOPIC SYLLABLE RYA (rYa) -135A ፚ ETHIOPIC SYLLABLE FYA (fYa) -135B ፛ -135C ፜ -135D ፝ -135E ፞ -135F ፟ -1360 ፠ ETHIOPIC SPACE -1361 ፡ ETHIOPIC WORDSPACE (:) -1362 ። ETHIOPIC FULL STOP (::) -1363 ፣ ETHIOPIC COMMA (,) -1364 ፤ ETHIOPIC SEMICOLON (;) -1365 ፥ ETHIOPIC COLON (-:) -1366 ፦ ETHIOPIC PREFACE COLON (:-) -1367 ፧ ETHIOPIC QUESTION MARK (`?) -1368 ፨ ETHIOPIC PARAGRAPH SEPARATOR (:|:) -1369 ፩ ETHIOPIC DIGIT ONE (`1) -136A ፪ ETHIOPIC DIGIT TWO (`2) -136B ፫ ETHIOPIC DIGIT THREE (`3) -136C ፬ ETHIOPIC DIGIT FOUR (`4) -136D ፭ ETHIOPIC DIGIT FIVE (`5) -136E ፮ ETHIOPIC DIGIT SIX (`6) -136F ፯ ETHIOPIC DIGIT SEVEN (`7) -1370 ፰ ETHIOPIC DIGIT EIGHT (`8) -1371 ፱ ETHIOPIC DIGIT NINE (`9) -1372 ፲ ETHIOPIC NUMBER TEN (`10) -1373 ፳ ETHIOPIC NUMBER TWENTY (`20) -1374 ፴ ETHIOPIC NUMBER THIRTY (`30) -1375 ፵ ETHIOPIC NUMBER FORTY (`40) -1376 ፶ ETHIOPIC NUMBER FIFTY (`50) -1377 ፷ ETHIOPIC NUMBER SIXTY (`60) -1378 ፸ ETHIOPIC NUMBER SEVENTY (`70) -1379 ፹ ETHIOPIC NUMBER EIGHTY (`80) -137A ፺ ETHIOPIC NUMBER NINETY (`90) -137B ፻ ETHIOPIC NUMBER HUNDRED (`100) -137C ፼ ETHIOPIC NUMBER TEN THOUSAND (`10000) diff --git a/docs/doc/utf/utfdemo b/docs/doc/utf/utfdemo deleted file mode 100644 index 333f8c19..00000000 --- a/docs/doc/utf/utfdemo +++ /dev/null @@ -1,115 +0,0 @@ -In addition to the Latin-1 characters, with the new UTF-8 patch, -the Linux console can now also display the following further -Unicode/ISO 10646 characters (i.e. the complete PC character set) -when put into UTF-8 mode by the escape sequence Esc % 8. -Instructions: -% unicode_start # see ../src -% less -r utfdemo -% unicode_stop # idem - -2008   PUNCTUATION SPACE -263A ☺ WHITE SMILING FACE -263B ☻ BLACK SMILING FACE -2665 ♥ BLACK HEART SUIT -2666 ♦ BLACK DIAMOND SUIT -2663 ♣ BLACK CLUB SUIT -2660 ♠ BLACK SPADE SUIT -2022 • BULLET -25D8 ◘ INVERSE BULLET -25CB ○ WHITE CIRCLE -25D9 ◙ INVERSE WHITE CIRCLE -2642 ♂ MALE SIGN -2640 ♀ FEMALE SIGN -266A ♪ EIGHTH NOTE -266C ♬ BEAMED SIXTEENTH NOTES -263C ☼ WHITE SUN WITH RAYS -25B6 ▶ BLACK RIGHT-POINTING TRIANGLE -25C0 ◀ BLACK LEFT-POINTING TRIANGLE -2195 ↕ UP DOWN ARROW -203C ‼ DOUBLE EXCLAMATION MARK -25AC ▬ BLACK RECTANGLE -21A8 ↨ UP DOWN ARROW WITH BASE -2191 ↑ UPWARDS ARROW -2193 ↓ DOWNWARDS ARROW -2192 → RIGHTWARDS ARROW -2190 ← LEFTWARDS ARROW -2319 ⌙ TURNED NOT SIGN -2194 ↔ LEFT RIGHT ARROW -25B2 ▲ BLACK UP-POINTING TRIANGLE -25BC ▼ BLACK DOWN-POINTING TRIANGLE -2302 ⌂ HOUSE -20A7 ₧ PESETA SIGN -0192 ƒ LATIN SMALL LETTER F WITH HOOK -2310 ⌐ REVERSED NOT SIGN -2591 ░ LIGHT SHADE -2592 ▒ MEDIUM SHADE -2593 ▓ DARK SHADE -2502 │ BOX DRAWINGS LIGHT VERTICAL -2524 ┤ BOX DRAWINGS LIGHT VERTICAL AND LEFT -2561 ╡ BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -2562 ╢ BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -2556 ╖ BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -2555 ╕ BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -2563 ╣ BOX DRAWINGS DOUBLE VERTICAL AND LEFT -2551 ║ BOX DRAWINGS DOUBLE VERTICAL -2557 ╗ BOX DRAWINGS DOUBLE DOWN AND LEFT -255D ╝ BOX DRAWINGS DOUBLE UP AND LEFT -255C ╜ BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -255B ╛ BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -2510 ┐ BOX DRAWINGS LIGHT DOWN AND LEFT -2514 └ BOX DRAWINGS LIGHT UP AND RIGHT -2534 ┴ BOX DRAWINGS LIGHT UP AND HORIZONTAL -252C ┬ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -251C ├ BOX DRAWINGS LIGHT VERTICAL AND RIGHT -2500 ─ BOX DRAWINGS LIGHT HORIZONTAL -253C ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -255E ╞ BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -255F ╟ BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -255A ╚ BOX DRAWINGS DOUBLE UP AND RIGHT -2554 ╔ BOX DRAWINGS DOUBLE DOWN AND RIGHT -2569 ╩ BOX DRAWINGS DOUBLE UP AND HORIZONTAL -2566 ╦ BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -2560 ╠ BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -2550 ═ BOX DRAWINGS DOUBLE HORIZONTAL -256C ╬ BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -2567 ╧ BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -2568 ╨ BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -2564 ╤ BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -2565 ╥ BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -2559 ╙ BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -2558 ╘ BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -2552 ╒ BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -2553 ╓ BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -256B ╫ BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -256A ╪ BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -2518 ┘ BOX DRAWINGS LIGHT UP AND LEFT -250C ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT -2588 █ FULL BLOCK -2584 ▄ LOWER HALF BLOCK -258C ▌ LEFT HALF BLOCK -2590 ▐ RIGHT HALF BLOCK -2580 ▀ UPPER HALF BLOCK -03B1 α GREEK SMALL LETTER ALPHA -0393 Γ GREEK CAPITAL LETTER GAMMA -03C0 π GREEK SMALL LETTER PI -03A3 Σ GREEK CAPITAL LETTER SIGMA -03C3 σ GREEK SMALL LETTER SIGMA -03C4 τ GREEK SMALL LETTER TAU -03A6 Φ GREEK CAPITAL LETTER PHI -0398 Θ GREEK CAPITAL LETTER THETA -2126 Ω OHM SIGN -03B4 δ GREEK SMALL LETTER DELTA -221E ∞ INFINITY -2205 ∅ EMPTY SET -2208 ∈ ELEMENT OF -2229 ∩ INTERSECTION -2261 ≡ IDENTICAL TO -2265 ≥ GREATER-THAN OR EQUAL TO -2264 ≤ LESS-THAN OR EQUAL TO -2320 ⌠ TOP HALF INTEGRAL -2321 ⌡ BOTTOM HALF INTEGRAL -2248 ≈ ALMOST EQUAL TO -22C5 ⋅ DOT OPERATOR -221A √ SQUARE ROOT -207F ⁿ SUPERSCRIPT LATIN SMALL LETTER N -220E ∎ END OF PROOF diff --git a/docs/doc/utf/utflist b/docs/doc/utf/utflist deleted file mode 100644 index 7c0d36e5..00000000 --- a/docs/doc/utf/utflist +++ /dev/null @@ -1,651 +0,0 @@ -# Test for checking the unicode maps corresponding to -# various fonts. Try -# for i in 01 02 03 04 05 06 07 08 09 10 -# do -# unicode_start iso$i.f16 iso$i -# less -r utflist -# done -# unicode_stop -# -0020 SPACE -0021 ! EXCLAMATION MARK -0022 " QUOTATION MARK -0023 # NUMBER SIGN -0024 $ DOLLAR SIGN -0025 % PERCENT SIGN -0026 & AMPERSAND -0027 ' APOSTROPHE -0028 ( LEFT PARENTHESIS -0029 ) RIGHT PARENTHESIS -002a * ASTERISK -002b + PLUS SIGN -002c , COMMA -002d - HYPHEN-MINUS -002e . FULL STOP -002f / SOLIDUS -0030 0 DIGIT ZERO -0031 1 DIGIT ONE -0032 2 DIGIT TWO -0033 3 DIGIT THREE -0034 4 DIGIT FOUR -0035 5 DIGIT FIVE -0036 6 DIGIT SIX -0037 7 DIGIT SEVEN -0038 8 DIGIT EIGHT -0039 9 DIGIT NINE -003a : COLON -003b ; SEMICOLON -003c < LESS-THAN SIGN -003d = EQUALS SIGN -003e > GREATER-THAN SIGN -003f ? QUESTION MARK -0040 @ COMMERCIAL AT -0041 A LATIN CAPITAL LETTER A -0042 B LATIN CAPITAL LETTER B -0043 C LATIN CAPITAL LETTER C -0044 D LATIN CAPITAL LETTER D -0045 E LATIN CAPITAL LETTER E -0046 F LATIN CAPITAL LETTER F -0047 G LATIN CAPITAL LETTER G -0048 H LATIN CAPITAL LETTER H -0049 I LATIN CAPITAL LETTER I -004a J LATIN CAPITAL LETTER J -004b K LATIN CAPITAL LETTER K -004c L LATIN CAPITAL LETTER L -004d M LATIN CAPITAL LETTER M -004e N LATIN CAPITAL LETTER N -004f O LATIN CAPITAL LETTER O -0050 P LATIN CAPITAL LETTER P -0051 Q LATIN CAPITAL LETTER Q -0052 R LATIN CAPITAL LETTER R -0053 S LATIN CAPITAL LETTER S -0054 T LATIN CAPITAL LETTER T -0055 U LATIN CAPITAL LETTER U -0056 V LATIN CAPITAL LETTER V -0057 W LATIN CAPITAL LETTER W -0058 X LATIN CAPITAL LETTER X -0059 Y LATIN CAPITAL LETTER Y -005a Z LATIN CAPITAL LETTER Z -005b [ LEFT SQUARE BRACKET -005c \ REVERSE SOLIDUS -005d ] RIGHT SQUARE BRACKET -005e ^ CIRCUMFLEX ACCENT -005f _ LOW LINE -0060 ` GRAVE ACCENT -0061 a LATIN SMALL LETTER A -0062 b LATIN SMALL LETTER B -0063 c LATIN SMALL LETTER C -0064 d LATIN SMALL LETTER D -0065 e LATIN SMALL LETTER E -0066 f LATIN SMALL LETTER F -0067 g LATIN SMALL LETTER G -0068 h LATIN SMALL LETTER H -0069 i LATIN SMALL LETTER I -006a j LATIN SMALL LETTER J -006b k LATIN SMALL LETTER K -006c l LATIN SMALL LETTER L -006d m LATIN SMALL LETTER M -006e n LATIN SMALL LETTER N -006f o LATIN SMALL LETTER O -0070 p LATIN SMALL LETTER P -0071 q LATIN SMALL LETTER Q -0072 r LATIN SMALL LETTER R -0073 s LATIN SMALL LETTER S -0074 t LATIN SMALL LETTER T -0075 u LATIN SMALL LETTER U -0076 v LATIN SMALL LETTER V -0077 w LATIN SMALL LETTER W -0078 x LATIN SMALL LETTER X -0079 y LATIN SMALL LETTER Y -007a z LATIN SMALL LETTER Z -007b { LEFT CURLY BRACKET -007c | VERTICAL LINE -007d } RIGHT CURLY BRACKET -007e ~ TILDE -00a0   NO-BREAK SPACE -00a1 ¡ INVERTED EXCLAMATION MARK -00a2 ¢ CENT SIGN -00a3 £ POUND SIGN -00a4 ¤ CURRENCY SIGN -00a5 ¥ YEN SIGN -00a6 ¦ BROKEN BAR -00a7 § SECTION SIGN -00a8 ¨ DIAERESIS -00a9 © COPYRIGHT SIGN -00aa ª FEMININE ORDINAL INDICATOR -00ab « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -00ac ¬ NOT SIGN -00ad ­ SOFT HYPHEN -00ae ® REGISTERED SIGN -00af ¯ MACRON -00b0 ° DEGREE SIGN -00b1 ± PLUS-MINUS SIGN -00b2 ² SUPERSCRIPT TWO -00b3 ³ SUPERSCRIPT THREE -00b4 ´ ACUTE ACCENT -00b5 µ MICRO SIGN -00b6 ¶ PILCROW SIGN -00b7 · MIDDLE DOT -00b8 ¸ CEDILLA -00b9 ¹ SUPERSCRIPT ONE -00ba º MASCULINE ORDINAL INDICATOR -00bb » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -00bc ¼ VULGAR FRACTION ONE QUARTER -00bd ½ VULGAR FRACTION ONE HALF -00be ¾ VULGAR FRACTION THREE QUARTERS -00bf ¿ INVERTED QUESTION MARK -00c0 À LATIN CAPITAL LETTER A WITH GRAVE -00c1 Á LATIN CAPITAL LETTER A WITH ACUTE -00c2  LATIN CAPITAL LETTER A WITH CIRCUMFLEX -00c3 à LATIN CAPITAL LETTER A WITH TILDE -00c4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS -00c5 Å LATIN CAPITAL LETTER A WITH RING ABOVE -00c6 Æ LATIN CAPITAL LETTER AE -00c7 Ç LATIN CAPITAL LETTER C WITH CEDILLA -00c8 È LATIN CAPITAL LETTER E WITH GRAVE -00c9 É LATIN CAPITAL LETTER E WITH ACUTE -00ca Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX -00cb Ë LATIN CAPITAL LETTER E WITH DIAERESIS -00cc Ì LATIN CAPITAL LETTER I WITH GRAVE -00cd Í LATIN CAPITAL LETTER I WITH ACUTE -00ce Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX -00cf Ï LATIN CAPITAL LETTER I WITH DIAERESIS -00d0 Ð LATIN CAPITAL LETTER ETH (Icelandic) -00d1 Ñ LATIN CAPITAL LETTER N WITH TILDE -00d2 Ò LATIN CAPITAL LETTER O WITH GRAVE -00d3 Ó LATIN CAPITAL LETTER O WITH ACUTE -00d4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX -00d5 Õ LATIN CAPITAL LETTER O WITH TILDE -00d6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS -00d7 × MULTIPLICATION SIGN -00d8 Ø LATIN CAPITAL LETTER O WITH STROKE -00d9 Ù LATIN CAPITAL LETTER U WITH GRAVE -00da Ú LATIN CAPITAL LETTER U WITH ACUTE -00db Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX -00dc Ü LATIN CAPITAL LETTER U WITH DIAERESIS -00dd Ý LATIN CAPITAL LETTER Y WITH ACUTE -00de Þ LATIN CAPITAL LETTER THORN (Icelandic) -00df ß LATIN SMALL LETTER SHARP S (German) -00e0 à LATIN SMALL LETTER A WITH GRAVE -00e1 á LATIN SMALL LETTER A WITH ACUTE -00e2 â LATIN SMALL LETTER A WITH CIRCUMFLEX -00e3 ã LATIN SMALL LETTER A WITH TILDE -00e4 ä LATIN SMALL LETTER A WITH DIAERESIS -00e5 å LATIN SMALL LETTER A WITH RING ABOVE -00e6 æ LATIN SMALL LETTER AE -00e7 ç LATIN SMALL LETTER C WITH CEDILLA -00e8 è LATIN SMALL LETTER E WITH GRAVE -00e9 é LATIN SMALL LETTER E WITH ACUTE -00ea ê LATIN SMALL LETTER E WITH CIRCUMFLEX -00eb ë LATIN SMALL LETTER E WITH DIAERESIS -00ec ì LATIN SMALL LETTER I WITH GRAVE -00ed í LATIN SMALL LETTER I WITH ACUTE -00ee î LATIN SMALL LETTER I WITH CIRCUMFLEX -00ef ï LATIN SMALL LETTER I WITH DIAERESIS -00f0 ð LATIN SMALL LETTER ETH (Icelandic) -00f1 ñ LATIN SMALL LETTER N WITH TILDE -00f2 ò LATIN SMALL LETTER O WITH GRAVE -00f3 ó LATIN SMALL LETTER O WITH ACUTE -00f4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX -00f5 õ LATIN SMALL LETTER O WITH TILDE -00f6 ö LATIN SMALL LETTER O WITH DIAERESIS -00f7 ÷ DIVISION SIGN -00f8 ø LATIN SMALL LETTER O WITH STROKE -00f9 ù LATIN SMALL LETTER U WITH GRAVE -00fa ú LATIN SMALL LETTER U WITH ACUTE -00fb û LATIN SMALL LETTER U WITH CIRCUMFLEX -00fc ü LATIN SMALL LETTER U WITH DIAERESIS -00fd ý LATIN SMALL LETTER Y WITH ACUTE -00fe þ LATIN SMALL LETTER THORN (Icelandic) -00ff ÿ LATIN SMALL LETTER Y WITH DIAERESIS -0100 Ā LATIN CAPITAL LETTER A WITH MACRON -0101 ā LATIN SMALL LETTER A WITH MACRON -0102 Ă LATIN CAPITAL LETTER A WITH BREVE -0103 ă LATIN SMALL LETTER A WITH BREVE -0104 Ą LATIN CAPITAL LETTER A WITH OGONEK -0105 ą LATIN SMALL LETTER A WITH OGONEK -0106 Ć LATIN CAPITAL LETTER C WITH ACUTE -0107 ć LATIN SMALL LETTER C WITH ACUTE -0108 Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX -0109 ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX -010a Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE -010b ċ LATIN SMALL LETTER C WITH DOT ABOVE -010c Č LATIN CAPITAL LETTER C WITH CARON -010d č LATIN SMALL LETTER C WITH CARON -010e Ď LATIN CAPITAL LETTER D WITH CARON -010f ď LATIN SMALL LETTER D WITH CARON -0110 Đ LATIN CAPITAL LETTER D WITH STROKE -0111 đ LATIN SMALL LETTER D WITH STROKE -0112 Ē LATIN CAPITAL LETTER E WITH MACRON -0113 ē LATIN SMALL LETTER E WITH MACRON -0114 Ĕ LATIN CAPITAL LETTER E WITH BREVE -0115 ĕ LATIN SMALL LETTER E WITH BREVE -0116 Ė LATIN CAPITAL LETTER E WITH DOT ABOVE -0117 ė LATIN SMALL LETTER E WITH DOT ABOVE -0118 Ę LATIN CAPITAL LETTER E WITH OGONEK -0119 ę LATIN SMALL LETTER E WITH OGONEK -011a Ě LATIN CAPITAL LETTER E WITH CARON -011b ě LATIN SMALL LETTER E WITH CARON -011c Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX -011d ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX -011e Ğ LATIN CAPITAL LETTER G WITH BREVE -011f ğ LATIN SMALL LETTER G WITH BREVE -0120 Ġ LATIN CAPITAL LETTER G WITH DOT ABOVE -0121 ġ LATIN SMALL LETTER G WITH DOT ABOVE -0122 Ģ LATIN CAPITAL LETTER G WITH CEDILLA -0123 ģ LATIN SMALL LETTER G WITH CEDILLA -0124 Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX -0125 ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX -0126 Ħ LATIN CAPITAL LETTER H WITH STROKE -0127 ħ LATIN SMALL LETTER H WITH STROKE -0128 Ĩ LATIN CAPITAL LETTER I WITH TILDE -0129 ĩ LATIN SMALL LETTER I WITH TILDE -012a Ī LATIN CAPITAL LETTER I WITH MACRON -012b ī LATIN SMALL LETTER I WITH MACRON -012c Ĭ LATIN CAPITAL LETTER I WITH BREVE -012d ĭ LATIN SMALL LETTER I WITH BREVE -012e Į LATIN CAPITAL LETTER I WITH OGONEK -012f į LATIN SMALL LETTER I WITH OGONEK -0130 İ LATIN CAPITAL LETTER I WITH DOT ABOVE -0131 ı LATIN SMALL LETTER I DOTLESS -0132 IJ LATIN CAPITAL LIGATURE IJ -0133 ij LATIN SMALL LIGATURE IJ -0134 Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX -0135 ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX -0136 Ķ LATIN CAPITAL LETTER K WITH CEDILLA -0137 ķ LATIN SMALL LETTER K WITH CEDILLA -0138 ĸ LATIN SMALL LETTER KRA (Greenlandic) -0139 Ĺ LATIN CAPITAL LETTER L WITH ACUTE -013a ĺ LATIN SMALL LETTER L WITH ACUTE -013b Ļ LATIN CAPITAL LETTER L WITH CEDILLA -013c ļ LATIN SMALL LETTER L WITH CEDILLA -013d Ľ LATIN CAPITAL LETTER L WITH CARON -013e ľ LATIN SMALL LETTER L WITH CARON -013f Ŀ LATIN CAPITAL LETTER L WITH MIDDLE DOT -0140 ŀ LATIN SMALL LETTER L WITH MIDDLE DOT -0141 Ł LATIN CAPITAL LETTER L WITH STROKE -0142 ł LATIN SMALL LETTER L WITH STROKE -0143 Ń LATIN CAPITAL LETTER N WITH ACUTE -0144 ń LATIN SMALL LETTER N WITH ACUTE -0145 Ņ LATIN CAPITAL LETTER N WITH CEDILLA -0146 ņ LATIN SMALL LETTER N WITH CEDILLA -0147 Ň LATIN CAPITAL LETTER N WITH CARON -0148 ň LATIN SMALL LETTER N WITH CARON -0149 ʼn LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -014a Ŋ LATIN CAPITAL LETTER ENG (Lappish) -014b ŋ LATIN SMALL LETTER ENG (Lappish) -014c Ō LATIN CAPITAL LETTER O WITH MACRON -014d ō LATIN SMALL LETTER O WITH MACRON -014e Ŏ LATIN CAPITAL LETTER O WITH BREVE -014f ŏ LATIN SMALL LETTER O WITH BREVE -0150 Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0151 ő LATIN SMALL LETTER O WITH DOUBLE ACUTE -0152 Œ LATIN CAPITAL LIGATURE OE -0153 œ LATIN SMALL LIGATURE OE -0154 Ŕ LATIN CAPITAL LETTER R WITH ACUTE -0155 ŕ LATIN SMALL LETTER R WITH ACUTE -0156 Ŗ LATIN CAPITAL LETTER R WITH CEDILLA -0157 ŗ LATIN SMALL LETTER R WITH CEDILLA -0158 Ř LATIN CAPITAL LETTER R WITH CARON -0159 ř LATIN SMALL LETTER R WITH CARON -015a Ś LATIN CAPITAL LETTER S WITH ACUTE -015b ś LATIN SMALL LETTER S WITH ACUTE -015c Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX -015d ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX -015e Ş LATIN CAPITAL LETTER S WITH CEDILLA -015f ş LATIN SMALL LETTER S WITH CEDILLA -0160 Š LATIN CAPITAL LETTER S WITH CARON -0161 š LATIN SMALL LETTER S WITH CARON -0162 Ţ LATIN CAPITAL LETTER T WITH CEDILLA -0163 ţ LATIN SMALL LETTER T WITH CEDILLA -0164 Ť LATIN CAPITAL LETTER T WITH CARON -0165 ť LATIN SMALL LETTER T WITH CARON -0166 Ŧ LATIN CAPITAL LETTER T WITH STROKE -0167 ŧ LATIN SMALL LETTER T WITH STROKE -0168 Ũ LATIN CAPITAL LETTER U WITH TILDE -0169 ũ LATIN SMALL LETTER U WITH TILDE -016a Ū LATIN CAPITAL LETTER U WITH MACRON -016b ū LATIN SMALL LETTER U WITH MACRON -016c Ŭ LATIN CAPITAL LETTER U WITH BREVE -016d ŭ LATIN SMALL LETTER U WITH BREVE -016e Ů LATIN CAPITAL LETTER U WITH RING ABOVE -016f ů LATIN SMALL LETTER U WITH RING ABOVE -0170 Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0171 ű LATIN SMALL LETTER U WITH DOUBLE ACUTE -0172 Ų LATIN CAPITAL LETTER U WITH OGONEK -0173 ų LATIN SMALL LETTER U WITH OGONEK -0174 Ŵ LATIN CAPITAL LETTER W WITH CIRCUMFLEX -0175 ŵ LATIN SMALL LETTER W WITH CIRCUMFLEX -0176 Ŷ LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -0177 ŷ LATIN SMALL LETTER Y WITH CIRCUMFLEX -0178 Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS -0179 Ź LATIN CAPITAL LETTER Z WITH ACUTE -017a ź LATIN SMALL LETTER Z WITH ACUTE -017b Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE -017c ż LATIN SMALL LETTER Z WITH DOT ABOVE -017d Ž LATIN CAPITAL LETTER Z WITH CARON -017e ž LATIN SMALL LETTER Z WITH CARON -01a0 Ơ LATIN CAPITAL LETTER O WITH HORN -01a1 ơ LATIN SMALL LETTER O WITH HORN -01a2 Ƣ LATIN CAPITAL LETTER OI -01a3 ƣ LATIN SMALL LETTER OI -01a6 Ʀ LATIN LETTER YR -01af Ư LATIN CAPITAL LETTER U WITH HORN -01b0 ư LATIN SMALL LETTER U WITH HORN -01b5 Ƶ LATIN CAPITAL LETTER Z WITH STROKE -01b6 ƶ LATIN SMALL LETTER Z WITH STROKE -01b7 Ʒ LATIN CAPITAL LETTER EZH -01cd Ǎ LATIN CAPITAL LETTER A WITH CARON -01ce ǎ LATIN SMALL LETTER A WITH CARON -01cf Ǐ LATIN CAPITAL LETTER I WITH CARON -01d0 ǐ LATIN SMALL LETTER I WITH CARON -01d1 Ǒ LATIN CAPITAL LETTER O WITH CARON -01d2 ǒ LATIN SMALL LETTER O WITH CARON -01d3 Ǔ LATIN CAPITAL LETTER U WITH CARON -01d4 ǔ LATIN SMALL LETTER U WITH CARON -01d5 Ǖ LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON -01d6 ǖ LATIN SMALL LETTER U WITH DIAERESIS AND MACRON -01d7 Ǘ LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE -01d8 ǘ LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE -01d9 Ǚ LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON -01da ǚ LATIN SMALL LETTER U WITH DIAERESIS AND CARON -01db Ǜ LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE -01dc ǜ LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE -01de Ǟ LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON -01df ǟ LATIN SMALL LETTER A WITH DIAERESIS AND MACRON -01e0 Ǡ LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON -01e1 ǡ LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON -01e2 Ǣ LATIN CAPITAL LETTER AE WITH MACRON -01e3 ǣ LATIN SMALL LETTER AE WITH MACRON -01e4 Ǥ LATIN CAPITAL LETTER G WITH STROKE -01e5 ǥ LATIN SMALL LETTER G WITH STROKE -01e6 Ǧ LATIN CAPITAL LETTER G WITH CARON -01e7 ǧ LATIN SMALL LETTER G WITH CARON -01e8 Ǩ LATIN CAPITAL LETTER K WITH CARON -01e9 ǩ LATIN SMALL LETTER K WITH CARON -01ea Ǫ LATIN CAPITAL LETTER O WITH OGONEK -01eb ǫ LATIN SMALL LETTER O WITH OGONEK -01ec Ǭ LATIN CAPITAL LETTER O WITH OGONEK AND MACRON -01ed ǭ LATIN SMALL LETTER O WITH OGONEK AND MACRON -01ee Ǯ LATIN CAPITAL LETTER EZH WITH CARON -01ef ǯ LATIN SMALL LETTER EZH WITH CARON -01f0 ǰ LATIN SMALL LETTER J WITH CARON -01f4 Ǵ LATIN CAPITAL LETTER G WITH ACUTE -01f5 ǵ LATIN SMALL LETTER G WITH ACUTE -01fa Ǻ LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE -01fb ǻ LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE -01fc Ǽ LATIN CAPITAL LETTER AE WITH ACUTE -01fd ǽ LATIN SMALL LETTER AE WITH ACUTE -01fe Ǿ LATIN CAPITAL LETTER O WITH STROKE AND ACUTE -01ff ǿ LATIN SMALL LETTER O WITH STROKE AND ACUTE -02bf ʿ MODIFIER LETTER LEFT HALF RING -02c7 ˇ CARON -02d8 ˘ BREVE -02d9 ˙ DOT ABOVE -02da ˚ RING ABOVE -02db ˛ OGONEK -02dd ˝ DOUBLE ACUTE ACCENT -0386 Ά GREEK CAPITAL LETTER ALPHA WITH ACUTE -0388 Έ GREEK CAPITAL LETTER EPSILON WITH ACUTE -0389 Ή GREEK CAPITAL LETTER ETA WITH ACUTE -038a Ί GREEK CAPITAL LETTER IOTA WITH ACUTE -038c Ό GREEK CAPITAL LETTER OMICRON WITH ACUTE -038e Ύ GREEK CAPITAL LETTER UPSILON WITH ACUTE -038f Ώ GREEK CAPITAL LETTER OMEGA WITH ACUTE -0390 ΐ GREEK SMALL LETTER IOTA WITH ACUTE AND DIAERESIS -0391 Α GREEK CAPITAL LETTER ALPHA -0392 Β GREEK CAPITAL LETTER BETA -0393 Γ GREEK CAPITAL LETTER GAMMA -0394 Δ GREEK CAPITAL LETTER DELTA -0395 Ε GREEK CAPITAL LETTER EPSILON -0396 Ζ GREEK CAPITAL LETTER ZETA -0397 Η GREEK CAPITAL LETTER ETA -0398 Θ GREEK CAPITAL LETTER THETA -0399 Ι GREEK CAPITAL LETTER IOTA -039a Κ GREEK CAPITAL LETTER KAPPA -039b Λ GREEK CAPITAL LETTER LAMDA -039c Μ GREEK CAPITAL LETTER MU -039d Ν GREEK CAPITAL LETTER NU -039e Ξ GREEK CAPITAL LETTER XI -039f Ο GREEK CAPITAL LETTER OMICRON -03a0 Π GREEK CAPITAL LETTER PI -03a1 Ρ GREEK CAPITAL LETTER RHO -03a3 Σ GREEK CAPITAL LETTER SIGMA -03a4 Τ GREEK CAPITAL LETTER TAU -03a5 Υ GREEK CAPITAL LETTER UPSILON -03a6 Φ GREEK CAPITAL LETTER PHI -03a7 Χ GREEK CAPITAL LETTER CHI -03a8 Ψ GREEK CAPITAL LETTER PSI -03a9 Ω GREEK CAPITAL LETTER OMEGA -03aa Ϊ GREEK CAPITAL LETTER IOTA WITH DIAERESIS -03ab Ϋ GREEK CAPITAL LETTER UPSILON WITH DIAERESIS -03ac ά GREEK SMALL LETTER ALPHA WITH ACUTE -03ad έ GREEK SMALL LETTER EPSILON WITH ACUTE -03ae ή GREEK SMALL LETTER ETA WITH ACUTE -03af ί GREEK SMALL LETTER IOTA WITH ACUTE -03b0 ΰ GREEK SMALL LETTER UPSILON WITH ACUTE AND DIAERESIS -03b1 α GREEK SMALL LETTER ALPHA -03b2 β GREEK SMALL LETTER BETA -03b3 γ GREEK SMALL LETTER GAMMA -03b4 δ GREEK SMALL LETTER DELTA -03b5 ε GREEK SMALL LETTER EPSILON -03b6 ζ GREEK SMALL LETTER ZETA -03b7 η GREEK SMALL LETTER ETA -03b8 θ GREEK SMALL LETTER THETA -03b9 ι GREEK SMALL LETTER IOTA -03ba κ GREEK SMALL LETTER KAPPA -03bb λ GREEK SMALL LETTER LAMDA -03bc μ GREEK SMALL LETTER MU -03bd ν GREEK SMALL LETTER NU -03be ξ GREEK SMALL LETTER XI -03bf ο GREEK SMALL LETTER OMICRON -03c0 π GREEK SMALL LETTER PI -03c1 ρ GREEK SMALL LETTER RHO -03c2 ς GREEK SMALL LETTER FINAL SIGMA -03c3 σ GREEK SMALL LETTER SIGMA -03c4 τ GREEK SMALL LETTER TAU -03c5 υ GREEK SMALL LETTER UPSILON -03c6 φ GREEK SMALL LETTER PHI -03c7 χ GREEK SMALL LETTER CHI -03c8 ψ GREEK SMALL LETTER PSI -03c9 ω GREEK SMALL LETTER OMEGA -03ca ϊ GREEK SMALL LETTER IOTA WITH DIAERESIS -03cb ϋ GREEK SMALL LETTER UPSILON WITH DIAERESIS -03cc ό GREEK SMALL LETTER OMICRON WITH ACUTE -03cd ύ GREEK SMALL LETTER UPSILON WITH ACUTE -03ce ώ GREEK SMALL LETTER OMEGA WITH ACUTE -03d8 Ϙ GREEK NUMERAL SIGN -03d9 ϙ GREEK LOWER NUMERAL SIGN -03da Ϛ GREEK CAPITAL LETTER STIGMA -03db ϛ GREEK SMALL LETTER STIGMA -03dc Ϝ GREEK CAPITAL LETTER DIGAMMA -03dd ϝ GREEK SMALL LETTER DIGAMMA -03de Ϟ GREEK CAPITAL LETTER KOPPA -03df ϟ GREEK SMALL LETTER KOPPA -03e0 Ϡ GREEK CAPITAL LETTER SAMPI -03e1 ϡ GREEK SMALL LETTER SAMPI -03f4 ϴ ACUTE ACCENT AND DIAERESIS (Tonos and Dialytika) -03f5 ϵ GREEK IOTA BELOW -0401 Ё CYRILLIC CAPITAL LETTER IO -0402 Ђ CYRILLIC CAPITAL LETTER DJE (Serbocroatian) -0403 Ѓ CYRILLIC CAPITAL LETTER GJE (Macedonian) -0404 Є CYRILLIC CAPITAL LETTER UKRAINIAN IE -0405 Ѕ CYRILLIC CAPITAL LETTER DZE (Macedonian) -0406 І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0407 Ї CYRILLIC CAPITAL LETTER YI (Ukrainian) -0408 Ј CYRILLIC CAPITAL LETTER JE -0409 Љ CYRILLIC CAPITAL LETTER LJE -040a Њ CYRILLIC CAPITAL LETTER NJE -040b Ћ CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) -040c Ќ CYRILLIC CAPITAL LETTER KJE (Macedonian) -040e Ў CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) -040f Џ CYRILLIC CAPITAL LETTER DZHE -0410 А CYRILLIC CAPITAL LETTER A -0411 Б CYRILLIC CAPITAL LETTER BE -0412 В CYRILLIC CAPITAL LETTER VE -0413 Г CYRILLIC CAPITAL LETTER GHE -0414 Д CYRILLIC CAPITAL LETTER DE -0415 Е CYRILLIC CAPITAL LETTER IE -0416 Ж CYRILLIC CAPITAL LETTER ZHE -0417 З CYRILLIC CAPITAL LETTER ZE -0418 И CYRILLIC CAPITAL LETTER I -0419 Й CYRILLIC CAPITAL LETTER SHORT I -041a К CYRILLIC CAPITAL LETTER KA -041b Л CYRILLIC CAPITAL LETTER EL -041c М CYRILLIC CAPITAL LETTER EM -041d Н CYRILLIC CAPITAL LETTER EN -041e О CYRILLIC CAPITAL LETTER O -041f П CYRILLIC CAPITAL LETTER PE -0420 Р CYRILLIC CAPITAL LETTER ER -0421 С CYRILLIC CAPITAL LETTER ES -0422 Т CYRILLIC CAPITAL LETTER TE -0423 У CYRILLIC CAPITAL LETTER U -0424 Ф CYRILLIC CAPITAL LETTER EF -0425 Х CYRILLIC CAPITAL LETTER HA -0426 Ц CYRILLIC CAPITAL LETTER TSE -0427 Ч CYRILLIC CAPITAL LETTER CHE -0428 Ш CYRILLIC CAPITAL LETTER SHA -0429 Щ CYRILLIC CAPITAL LETTER SHCHA -042a Ъ CYRILLIC CAPITAL LETTER HARD SIGN -042b Ы CYRILLIC CAPITAL LETTER YERI -042c Ь CYRILLIC CAPITAL LETTER SOFT SIGN -042d Э CYRILLIC CAPITAL LETTER E -042e Ю CYRILLIC CAPITAL LETTER YU -042f Я CYRILLIC CAPITAL LETTER YA -0430 а CYRILLIC SMALL LETTER A -0431 б CYRILLIC SMALL LETTER BE -0432 в CYRILLIC SMALL LETTER VE -0433 г CYRILLIC SMALL LETTER GHE -0434 д CYRILLIC SMALL LETTER DE -0435 е CYRILLIC SMALL LETTER IE -0436 ж CYRILLIC SMALL LETTER ZHE -0437 з CYRILLIC SMALL LETTER ZE -0438 и CYRILLIC SMALL LETTER I -0439 й CYRILLIC SMALL LETTER SHORT I -043a к CYRILLIC SMALL LETTER KA -043b л CYRILLIC SMALL LETTER EL -043c м CYRILLIC SMALL LETTER EM -043d н CYRILLIC SMALL LETTER EN -043e о CYRILLIC SMALL LETTER O -043f п CYRILLIC SMALL LETTER PE -0440 р CYRILLIC SMALL LETTER ER -0441 с CYRILLIC SMALL LETTER ES -0442 т CYRILLIC SMALL LETTER TE -0443 у CYRILLIC SMALL LETTER U -0444 ф CYRILLIC SMALL LETTER EF -0445 х CYRILLIC SMALL LETTER HA -0446 ц CYRILLIC SMALL LETTER TSE -0447 ч CYRILLIC SMALL LETTER CHE -0448 ш CYRILLIC SMALL LETTER SHA -0449 щ CYRILLIC SMALL LETTER SHCHA -044a ъ CYRILLIC SMALL LETTER HARD SIGN -044b ы CYRILLIC SMALL LETTER YERI -044c ь CYRILLIC SMALL LETTER SOFT SIGN -044d э CYRILLIC SMALL LETTER E -044e ю CYRILLIC SMALL LETTER YU -044f я CYRILLIC SMALL LETTER YA -0451 ё CYRILLIC SMALL LETTER IO -0452 ђ CYRILLIC SMALL LETTER DJE (Serbocroatian) -0453 ѓ CYRILLIC SMALL LETTER GJE (Macedonian) -0454 є CYRILLIC SMALL LETTER UKRAINIAN IE -0455 ѕ CYRILLIC SMALL LETTER DZE (Macedonian) -0456 і CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -0457 ї CYRILLIC SMALL LETTER YI (Ukrainian) -0458 ј CYRILLIC SMALL LETTER JE -0459 љ CYRILLIC SMALL LETTER LJE -045a њ CYRILLIC SMALL LETTER NJE -045b ћ CYRILLIC SMALL LETTER TSHE (Serbocroatian) -045c ќ CYRILLIC SMALL LETTER KJE (Macedonian) -045e ў CYRILLIC SMALL LETTER SHORT U (Byelorussian) -045f џ CYRILLIC SMALL LETTER DZHE -0462 Ѣ CYRILLIC CAPITAL LETTER YAT -0463 ѣ CYRILLIC SMALL LETTER YAT -046a Ѫ CYRILLIC CAPITAL LETTER BIG YUS -046b ѫ CYRILLIC SMALL LETTER BIG YUS -0472 Ѳ CYRILLIC CAPITAL LETTER FITA -0473 ѳ CYRILLIC SMALL LETTER FITA -0474 Ѵ CYRILLIC CAPITAL LETTER IZHITSA -0475 ѵ CYRILLIC SMALL LETTER IZHITSA -0480 Ҁ CYRILLIC CAPITAL LETTER KOPPA -0481 ҁ CYRILLIC SMALL LETTER KOPPA -0490 Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN -0491 ґ CYRILLIC SMALL LETTER GHE WITH UPTURN -05d0 א HEBREW LETTER ALEF -05d1 ב HEBREW LETTER BET -05d2 ג HEBREW LETTER GIMEL -05d3 ד HEBREW LETTER DALET -05d4 ה HEBREW LETTER HE -05d5 ו HEBREW LETTER VAV -05d6 ז HEBREW LETTER ZAYIN -05d7 ח HEBREW LETTER HET -05d8 ט HEBREW LETTER TET -05d9 י HEBREW LETTER YOD -05da ך HEBREW LETTER FINAL KAF -05db כ HEBREW LETTER KAF -05dc ל HEBREW LETTER LAMED -05dd ם HEBREW LETTER FINAL MEM -05de מ HEBREW LETTER MEM -05df ן HEBREW LETTER FINAL NUN -05e0 נ HEBREW LETTER NUN -05e1 ס HEBREW LETTER SAMEKH -05e2 ע HEBREW LETTER AYIN -05e3 ף HEBREW LETTER FINAL PE -05e4 פ HEBREW LETTER PE -05e5 ץ HEBREW LETTER FINAL TSADE -05e6 צ HEBREW LETTER TSADE -05e7 ק HEBREW LETTER QOF -05e8 ר HEBREW LETTER RESH -05e9 ש HEBREW LETTER SHIN -05ea ת HEBREW LETTER TAV -060c ، ARABIC COMMA -061b ؛ ARABIC SEMICOLON -061f ؟ ARABIC QUESTION MARK -0621 ء ARABIC LETTER HAMZA -0622 آ ARABIC LETTER ALEF WITH MADDA ABOVE -0623 أ ARABIC LETTER ALEF WITH HAMZA ABOVE -0624 ؤ ARABIC LETTER WAW WITH HAMZA ABOVE -0625 إ ARABIC LETTER ALEF WITH HAMZA BELOW -0626 ئ ARABIC LETTER YEH WITH HAMZA ABOVE -0627 ا ARABIC LETTER ALEF -0628 ب ARABIC LETTER BEH -0629 ة ARABIC LETTER TEH MARBUTA -062a ت ARABIC LETTER TEH -062b ث ARABIC LETTER THEH -062c ج ARABIC LETTER JEEM -062d ح ARABIC LETTER HAH -062e خ ARABIC LETTER KHAH -062f د ARABIC LETTER DAL -0630 ذ ARABIC LETTER THAL -0631 ر ARABIC LETTER REH -0632 ز ARABIC LETTER ZAIN -0633 س ARABIC LETTER SEEN -0634 ش ARABIC LETTER SHEEN -0635 ص ARABIC LETTER SAD -0636 ض ARABIC LETTER DAD -0637 ط ARABIC LETTER TAH -0638 ظ ARABIC LETTER ZAH -0639 ع ARABIC LETTER AIN -063a غ ARABIC LETTER GHAIN -0640 ـ ARABIC TATWEEL -0641 ف ARABIC LETTER FEH -0642 ق ARABIC LETTER QAF -0643 ك ARABIC LETTER KAF -0644 ل ARABIC LETTER LAM -0645 م ARABIC LETTER MEEM -0646 ن ARABIC LETTER NOON -0647 ه ARABIC LETTER HEH -0648 و ARABIC LETTER WAW -0649 ى ARABIC LETTER ALEF MAKSURA -064a ي ARABIC LETTER YEH -064b ً ARABIC FATHATAN -064c ٌ ARABIC DAMMATAN -064d ٍ ARABIC KASRATAN -064e َ ARABIC FATHA -064f ُ ARABIC DAMMA -0650 ِ ARABIC KASRA -0651 ّ ARABIC SHADDA -0652 ْ ARABIC SUKUN -0670 ٰ SUPERSCRIPT ARABIC LETTER ALEF -067e پ ARABIC LETTER PEH -06a4 ڤ ARABIC LETTER VEH -06af گ ARABIC LETTER GAF diff --git "a/docs/doc/utf/\342\231\252\342\231\254" "b/docs/doc/utf/\342\231\252\342\231\254" deleted file mode 100644 index 18ff3d5a..00000000 --- "a/docs/doc/utf/\342\231\252\342\231\254" +++ /dev/null @@ -1,12 +0,0 @@ -After -% kbd_mode -u -% echo -e '\033%8' -% loadkeys -control shift keycode 59 = U+266a -control shift keycode 60 = U+266C -% -I typed this file and called it by the two-symbol name -ctrl-shift-F1 ctrl-shift-F2. - -In order to tell `ls' not to be afraid, give it the `-N' flag. -Give `less' the `-r' flag.