aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-06-23 13:55:13 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-06-23 13:55:13 +0200
commite56e091d650494e4894d24e33ab2cdb7b57dc686 (patch)
treea2a139ee4f2c2975b98787414e84cdb2bc062c78
parent34254f9ddece34d4df541438ec4f6a1b19929926 (diff)
downloadbusybox-w32-e56e091d650494e4894d24e33ab2cdb7b57dc686.tar.gz
busybox-w32-e56e091d650494e4894d24e33ab2cdb7b57dc686.tar.bz2
busybox-w32-e56e091d650494e4894d24e33ab2cdb7b57dc686.zip
examples: update /var/service/getty for Unicode ttys
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rwxr-xr-xexamples/var_service/getty_tty1/cfg8
-rwxr-xr-xexamples/var_service/getty_tty1/login.sh3
-rw-r--r--examples/var_service/getty_tty1/ru_koi8r.keymap183
-rwxr-xr-xexamples/var_service/getty_tty1/run6
-rw-r--r--examples/var_service/getty_tty1/unicode_cyrillic.keymap200
5 files changed, 206 insertions, 194 deletions
diff --git a/examples/var_service/getty_tty1/cfg b/examples/var_service/getty_tty1/cfg
index 0f63e5233..ab973f738 100755
--- a/examples/var_service/getty_tty1/cfg
+++ b/examples/var_service/getty_tty1/cfg
@@ -10,7 +10,7 @@ ttyname=`tty`
10ttybase="${ttyname%%[0123456789]*}" # strip numeric tail 10ttybase="${ttyname%%[0123456789]*}" # strip numeric tail
11 11
12if test x"$ttybase" = x"/dev/vc/" -o x"$ttybase" = x"/dev/tty"; then 12if test x"$ttybase" = x"/dev/vc/" -o x"$ttybase" = x"/dev/tty"; then
13 echo "* Activating Cyrillic KOI8-R -> CP866 font map" 13 echo "* Activating font map"
14 echo -ne "\033(K" >"$ttyname" 14 echo -ne "\033(K" >"$ttyname"
15 15
16 echo "* Loading screen font" 16 echo "* Loading screen font"
@@ -18,9 +18,9 @@ if test x"$ttybase" = x"/dev/vc/" -o x"$ttybase" = x"/dev/tty"; then
18 -C "$ttyname" \ 18 -C "$ttyname" \
19 -m "$PWD/koi8r_to_uni.trans" \ 19 -m "$PWD/koi8r_to_uni.trans" \
20 "$PWD/alt08x16+unimap.fnt" \ 20 "$PWD/alt08x16+unimap.fnt" \
21 || echo "! setfont failure" 21 || echo "setfont exit code: $?"
22 22
23 echo "* Loading keymap" 23 echo "* Loading keymap"
24 loadkeys "$PWD/ru_koi8r.keymap" \ 24 loadkeys "$PWD/unicode_cyrillic.keymap" \
25 || echo "! loadkeys failure" 25 || echo "loadkeys exit code: $?"
26fi 26fi
diff --git a/examples/var_service/getty_tty1/login.sh b/examples/var_service/getty_tty1/login.sh
index d69b6fd55..f8b53fc03 100755
--- a/examples/var_service/getty_tty1/login.sh
+++ b/examples/var_service/getty_tty1/login.sh
@@ -6,7 +6,8 @@ ttybase="${ttyname%%[0123456789]*}" # strip numeric tail
6if test "$ttybase" = "/dev/tty"; then 6if test "$ttybase" = "/dev/tty"; then
7 tail="${ttyname:8}" 7 tail="${ttyname:8}"
8 echo "* Setting terminal device's owner to $LOGIN_UID:$LOGIN_GID" 8 echo "* Setting terminal device's owner to $LOGIN_UID:$LOGIN_GID"
9 chown "$LOGIN_UID:$LOGIN_GID" "/dev/vcs$tail" "/dev/vcsa$tail" 9 test -c "/dev/vcs$tail" && chown "$LOGIN_UID:$LOGIN_GID" "/dev/vcs$tail"
10 test -c "/dev/vcsa$tail" && chown "$LOGIN_UID:$LOGIN_GID" "/dev/vcsa$tail"
10fi 11fi
11# We can do this also, but login does it itself 12# We can do this also, but login does it itself
12# chown "$LOGIN_UID:$LOGIN_GID" "$ttyname" 13# chown "$LOGIN_UID:$LOGIN_GID" "$ttyname"
diff --git a/examples/var_service/getty_tty1/ru_koi8r.keymap b/examples/var_service/getty_tty1/ru_koi8r.keymap
deleted file mode 100644
index 6c811539c..000000000
--- a/examples/var_service/getty_tty1/ru_koi8r.keymap
+++ /dev/null
@@ -1,183 +0,0 @@
1keymaps 0,1, 2,3, 4,6, 8,10, 12,14
2#
3# This one is for generating koi8r Russian chars
4# Cyr/Lat switches: RightAlt, Shift+Ctrl, Ctrl+Shift
5# (last one does not work for dark and obscure reasons 8( )
6#
7# plain,shift, plain,shift, ctrl,ctrl alt,alt ctrlalt,ctrlalt
8# lat-------- cyr-------- lat cyr lat cyr lat cyr
9#
10#Shift 1
11#AltGr (cyr) 2
12#Control 4
13#Alt 8
14#ShiftL 16
15#ShiftR 32
16#CtrlL 64
17#CtrlR 128
18#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
19keycode 1 = Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape SAK SAK
20keycode 2 = one exclam one exclam exclam exclam Meta_one Meta_one
21keycode 3 = two at two at nul nul Meta_two Meta_two
22keycode 4 = three numbersign three numbersign three three Meta_three Meta_three
23keycode 5 = four dollar four dollar Control_backslash Control_backslash Meta_four Meta_four
24keycode 6 = five percent five percent Control_bracketright Control_bracketright Meta_five Meta_five
25keycode 7 = six asciicircum six asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_six
26keycode 8 = seven ampersand seven ampersand Control_underscore Control_underscore Meta_seven Meta_seven
27keycode 9 = eight asterisk eight asterisk eight eight Meta_eight Meta_eight
28keycode 10 = nine parenleft nine parenleft nine nine Meta_nine Meta_nine
29keycode 11 = zero parenright zero parenright zero zero Meta_zero Meta_zero
30keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Meta_minus Meta_minus
31keycode 13 = equal plus equal plus equal equal Meta_equal Meta_equal
32keycode 14 = Delete Delete Delete Delete BackSpace BackSpace Meta_Delete Meta_Delete
33keycode 15 = Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab
34keycode 16 = q Q 202 234 Control_q Control_q Meta_q Meta_q Meta_Control_q Meta_Control_q
35keycode 17 = w W 195 227 Control_w Control_w Meta_w Meta_w Meta_Control_w Meta_Control_w
36keycode 18 = e E 213 245 Control_e Control_e Meta_e Meta_e Meta_Control_e Meta_Control_e
37keycode 19 = r R 203 235 Control_r Control_r Meta_r Meta_r Meta_Control_r Meta_Control_r
38keycode 20 = t T 197 229 Control_t Control_t Meta_t Meta_t Meta_Control_t Meta_Control_t
39#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
40keycode 21 = y Y 206 238 Control_y Control_y Meta_y Meta_y Meta_Control_y Meta_Control_y
41keycode 22 = u U 199 231 Control_u Control_u Meta_u Meta_u Meta_Control_u Meta_Control_u
42keycode 23 = i I 219 251 Control_i Control_i Meta_i Meta_i Meta_Control_i Meta_Control_i
43keycode 24 = o O 221 253 Control_o Control_o Meta_o Meta_o Meta_Control_o Meta_Control_o
44keycode 25 = p P 218 250 Control_p Control_p Meta_p Meta_p Meta_Control_p Meta_Control_p
45keycode 26 = bracketleft braceleft 200 232 Escape Escape Meta_bracketleft Meta_bracketleft
46keycode 27 = bracketright braceright 223 255 Control_bracketright Control_bracketright
47keycode 28 = Return
48# Shift+Ctrl - Cyrillic
49keycode 29 = Control AltGr_Lock Control AltGr_Lock Control Control Control Control Control Control
50keycode 30 = a A 198 230 Control_a Control_a Meta_a Meta_a Meta_Control_a Meta_Control_a
51keycode 31 = s S 217 249 Control_s Control_s Meta_s Meta_s Meta_Control_s Meta_Control_s
52keycode 32 = d D 215 247 Control_d Control_d Meta_d Meta_d Meta_Control_d Meta_Control_d
53keycode 33 = f F 193 225 Control_f Control_f Meta_f Meta_f Meta_Control_f Meta_Control_f
54keycode 34 = g G 208 240 Control_g Control_g Meta_g Meta_g Meta_Control_g Meta_Control_g
55keycode 35 = h H 210 242 Control_h Control_h Meta_h Meta_h Meta_Control_h Meta_Control_h
56keycode 36 = j J 207 239 Control_j Control_j Meta_j Meta_j Meta_Control_j Meta_Control_j
57keycode 37 = k K 204 236 Control_k Control_k Meta_k Meta_k Meta_Control_k Meta_Control_k
58keycode 38 = l L 196 228 Control_l Control_l Meta_l Meta_l Meta_Control_l Meta_Control_l
59keycode 39 = semicolon colon 214 246 semicolon semicolon Meta_semicolon Meta_semicolon
60keycode 40 = apostrophe quotedbl 220 252 Control_g Control_g Meta_apostrophe Meta_apostrophe
61#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
62keycode 41 = grave asciitilde grave asciitilde nul nul Meta_grave Meta_grave
63keycode 42 = Shift
64keycode 43 = backslash bar backslash bar Control_backslash Control_backslash Meta_backslash Meta_backslash
65keycode 44 = z Z 209 241 Control_z Control_z Meta_z Meta_z Meta_Control_z Meta_Control_z
66keycode 45 = x X 222 254 Control_x Control_x Meta_x Meta_x Meta_Control_x Meta_Control_x
67keycode 46 = c C 211 243 Control_c Control_c Meta_c Meta_c Meta_Control_c Meta_Control_c
68keycode 47 = v V 205 237 Control_v Control_v Meta_v Meta_v Meta_Control_v Meta_Control_v
69keycode 48 = b B 201 233 Control_b Control_b Meta_b Meta_b Meta_Control_b Meta_Control_b
70keycode 49 = n N 212 244 Control_n Control_n Meta_n Meta_n Meta_Control_n Meta_Control_n
71keycode 50 = m M 216 248 Control_m Control_m Meta_m Meta_m Meta_Control_m Meta_Control_m
72keycode 51 = comma less 194 226 comma comma Meta_comma Meta_comma
73keycode 52 = period greater 192 224 Compose Compose Meta_period Meta_period
74keycode 53 = slash question slash question Delete Delete Meta_slash Meta_slash Meta_question Meta_question
75# Ctrl+Shift - Cyrillic (not working???)
76keycode 54 = Shift Shift Shift Shift AltGr_Lock AltGr_Lock Shift Shift Shift Shift
77keycode 55 = KP_Multiply
78keycode 56 = Alt
79keycode 57 = space space space space nul nul Meta_space Meta_space
80keycode 58 = Caps_Lock
81keycode 59 = F1 F11 F1 F11 F1 F1 Console_1 Console_1 Console_1 Console_1
82keycode 60 = F2 F12 F2 F12 F2 F2 Console_2 Console_2 Console_2 Console_2
83#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
84keycode 61 = F3 F13 F3 F13 F3 F3 Console_3 Console_3 Console_3 Console_3
85keycode 62 = F4 F14 F4 F14 F4 F4 Console_4 Console_4 Console_4 Console_4
86keycode 63 = F5 F15 F5 F15 F5 F5 Console_5 Console_5 Console_5 Console_5
87keycode 64 = F6 F16 F6 F16 F6 F6 Console_6 Console_6 Console_6 Console_6
88keycode 65 = F7 F17 F7 F17 F7 F7 Console_7 Console_7 Console_7 Console_7
89keycode 66 = F8 F18 F8 F18 F8 F8 Console_8 Console_8 Console_8 Console_8
90keycode 67 = F9 F19 F9 F19 F9 F9 Console_9 Console_9 Console_9 Console_9
91keycode 68 = F10 F20 F10 F20 F10 F10 Console_10 Console_10 Console_10 Console_10
92keycode 69 = Num_Lock Bare_Num_Lock Num_Lock Bare_Num_Lock
93keycode 70 = Scroll_Lock Show_Memory Scroll_Lock Show_Memory Show_State Show_State
94keycode 71 = KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Ascii_7
95keycode 72 = KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Ascii_8
96keycode 73 = KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Ascii_9
97keycode 74 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
98keycode 75 = KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Ascii_4
99keycode 76 = KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Ascii_5
100keycode 77 = KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Ascii_6
101keycode 78 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add
102keycode 79 = KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Ascii_1
103keycode 80 = KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Ascii_2
104#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
105keycode 81 = KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Ascii_3
106keycode 82 = KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Ascii_0
107keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot Boot
108keycode 84 = Last_Console
109keycode 85 =
110keycode 86 = less greater less greater less less Meta_less Meta_less
111keycode 87 = F11 F11 F11 F11 F11 F11 Console_11 Console_11 Console_11 Console_11
112keycode 88 = F12 F12 F12 F12 F12 F12 Console_12 Console_12 Console_12 Console_12
113keycode 89 =
114keycode 90 =
115keycode 91 =
116keycode 92 =
117keycode 93 =
118keycode 94 =
119keycode 95 =
120keycode 96 = KP_Enter
121keycode 97 = Control
122keycode 98 = KP_Divide
123keycode 99 = Control_backslash
124# Right Alt - Cyrillic
125keycode 100 = AltGr_Lock
126#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
127keycode 101 = Break
128keycode 102 = Find
129keycode 103 = Up
130keycode 104 = Prior Scroll_Backward Prior Scroll_Backward Prior Prior Prior Prior Prior Prior
131keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Decr_Console
132keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Incr_Console
133keycode 107 = Select
134keycode 108 = Down
135keycode 109 = Next Scroll_Forward Next Scroll_Forward Next Next Next Next Next Next
136keycode 110 = Insert
137keycode 111 = Remove Remove Remove Remove Remove Remove Remove Remove Boot Boot
138keycode 112 = Macro
139keycode 113 = F13
140keycode 114 = F14
141keycode 115 = Help
142keycode 116 = Do
143keycode 117 = F17
144keycode 118 = KP_MinPlus
145keycode 119 = Pause
146keycode 120 =
147#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
148keycode 121 =
149keycode 122 =
150keycode 123 =
151keycode 124 =
152keycode 125 =
153keycode 126 =
154keycode 127 =
155
156string F1 = "\033[[A"
157string F2 = "\033[[B"
158string F3 = "\033[[C"
159string F4 = "\033[[D"
160string F5 = "\033[[E"
161string F6 = "\033[17~"
162string F7 = "\033[18~"
163string F8 = "\033[19~"
164string F9 = "\033[20~"
165string F10 = "\033[21~"
166string F11 = "\033[23~"
167string F12 = "\033[24~"
168string F13 = "\033[25~"
169string F14 = "\033[26~"
170string F15 = "\033[28~"
171string F16 = "\033[29~"
172string F17 = "\033[31~"
173string F18 = "\033[32~"
174string F19 = "\033[33~"
175string F20 = "\033[34~"
176string Find = "\033[1~"
177string Insert = "\033[2~"
178string Remove = "\033[3~"
179string Select = "\033[4~"
180string Prior = "\033[5~"
181string Next = "\033[6~"
182string Macro = "\033[M"
183string Pause = "\033[P"
diff --git a/examples/var_service/getty_tty1/run b/examples/var_service/getty_tty1/run
index c7c413ba4..c5b291b4d 100755
--- a/examples/var_service/getty_tty1/run
+++ b/examples/var_service/getty_tty1/run
@@ -1,9 +1,5 @@
1#!/bin/sh 1#!/bin/sh
2 2
3exec >/dev/null
4exec 2>&1
5exec </dev/null
6
7user=root 3user=root
8baud=38400 4baud=38400
9delay=3 5delay=3
@@ -25,6 +21,4 @@ test -x ./cfg && . ./cfg
25 21
26exec \ 22exec \
27env - "TERM=$TERM" PATH="$PATH" LOGIN_PRE_SUID_SCRIPT="$PWD/login.sh" \ 23env - "TERM=$TERM" PATH="$PATH" LOGIN_PRE_SUID_SCRIPT="$PWD/login.sh" \
28softlimit \
29setuidgid "$user" \
30getty "$baud" "$tty" "$TERM" 24getty "$baud" "$tty" "$TERM"
diff --git a/examples/var_service/getty_tty1/unicode_cyrillic.keymap b/examples/var_service/getty_tty1/unicode_cyrillic.keymap
new file mode 100644
index 000000000..49911cd10
--- /dev/null
+++ b/examples/var_service/getty_tty1/unicode_cyrillic.keymap
@@ -0,0 +1,200 @@
1keymaps 0,1, 2,3, 4,6, 8,9, 10,11, 12,14
2#
3# This one is for generating Unicode Curillic chars
4# Cyr/Lat switches: RightAlt, Shift+Ctrl, Ctrl+Shift, Win keys
5#
6# plain,shift, plain,shift, ctrl,ctrl alt,shiftalt alt,shiftalt ctrlalt,ctrlalt
7# lat-------- cyr-------- lat cyr lat--------- cyr--------- lat cyr
8#
9#Shift 1
10#AltGr (cyr) 2
11#Control 4
12#Alt 8
13#ShiftL 16
14#ShiftR 32
15#CtrlL 64
16#CtrlR 128
17
18# L/R Ctrl: Shift+Ctrl - Cyrillic
19keycode 29 = Control AltGr_Lock Control AltGr_Lock Control Control Control Control Control Control Control Control
20keycode 97 = Control AltGr_Lock Control AltGr_Lock Control Control Control Control Control Control Control Control
21# L/R Shift: Ctrl+Shift - Cyrillic
22keycode 42 = Shift Shift Shift Shift AltGr_Lock AltGr_Lock Shift Shift Shift Shift Shift Shift
23keycode 54 = Shift Shift Shift Shift AltGr_Lock AltGr_Lock Shift Shift Shift Shift Shift Shift
24# Right Alt: Cyrillic
25keycode 100 = AltGr_Lock
26# L/R Win: Cyrillic
27keycode 125 = AltGr_Lock
28keycode 126 = AltGr_Lock
29
30#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt shift ============= alt cyr =============== alt shift cur ========= ctrlalt =============== ctrlalt cyr ===========
31keycode 1 = Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape SAK SAK
32keycode 2 = one exclam one exclam exclam exclam Meta_one Meta_one Meta_one Meta_one
33keycode 3 = two at two at nul nul Meta_two Meta_two Meta_two Meta_two
34keycode 4 = three numbersign three numbersign three three Meta_three Meta_three Meta_three Meta_three
35keycode 5 = four dollar four dollar Control_backslash Control_backslash Meta_four Meta_four Meta_four Meta_four
36keycode 6 = five percent five percent Control_bracketright Control_bracketright Meta_five Meta_five Meta_five Meta_five
37keycode 7 = six asciicircum six asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_six Meta_six Meta_six
38keycode 8 = seven ampersand seven ampersand Control_underscore Control_underscore Meta_seven Meta_seven Meta_seven Meta_seven
39keycode 9 = eight asterisk eight asterisk eight eight Meta_eight Meta_eight Meta_eight Meta_eight
40keycode 10 = nine parenleft nine parenleft nine nine Meta_nine Meta_nine Meta_nine Meta_nine
41keycode 11 = zero parenright zero parenright zero zero Meta_zero Meta_zero Meta_zero Meta_zero
42keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
43keycode 13 = equal plus equal plus equal equal Meta_equal Meta_equal Meta_equal Meta_equal
44keycode 14 = Delete Delete Delete Delete BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete
45keycode 15 = Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
46keycode 16 = +q +Q +U+0439 +U+0419 Control_q Control_q Meta_q Meta_q Meta_q Meta_q Meta_Control_q Meta_Control_q
47keycode 17 = +w +W +U+0446 +U+0426 Control_w Control_w Meta_w Meta_w Meta_w Meta_w Meta_Control_w Meta_Control_w
48keycode 18 = +e +E +U+0443 +U+0423 Control_e Control_e Meta_e Meta_e Meta_e Meta_e Meta_Control_e Meta_Control_e
49keycode 19 = +r +R +U+043a +U+041a Control_r Control_r Meta_r Meta_r Meta_r Meta_r Meta_Control_r Meta_Control_r
50keycode 20 = +t +T +U+0435 +U+0415 Control_t Control_t Meta_t Meta_t Meta_t Meta_t Meta_Control_t Meta_Control_t
51#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt =================== alt cyr =============== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
52keycode 21 = +y +Y +U+043d +U+041d Control_y Control_y Meta_y Meta_y Meta_y Meta_y Meta_Control_y Meta_Control_y
53keycode 22 = +u +U +U+0433 +U+0413 Control_u Control_u Meta_u Meta_u Meta_u Meta_u Meta_Control_u Meta_Control_u
54keycode 23 = +i +I +U+0448 +U+0428 Control_i Control_i Meta_i Meta_i Meta_i Meta_i Meta_Control_i Meta_Control_i
55keycode 24 = +o +O +U+0449 +U+0429 Control_o Control_o Meta_o Meta_o Meta_o Meta_o Meta_Control_o Meta_Control_o
56keycode 25 = +p +P +U+0437 +U+0417 Control_p Control_p Meta_p Meta_p Meta_p Meta_p Meta_Control_p Meta_Control_p
57keycode 26 = bracketleft braceleft +U+0445 +U+0425 Escape Escape Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
58keycode 27 = bracketright braceright +U+044a +U+042a Control_bracketright Control_bracketright
59keycode 28 = Return
60# LCtrl
61#keycode 29 =
62keycode 30 = +a +A +U+0444 +U+0424 Control_a Control_a Meta_a Meta_a Meta_a Meta_a Meta_Control_a Meta_Control_a
63keycode 31 = +s +S +U+044b +U+042b Control_s Control_s Meta_s Meta_s Meta_s Meta_s Meta_Control_s Meta_Control_s
64keycode 32 = +d +D +U+0432 +U+0412 Control_d Control_d Meta_d Meta_d Meta_d Meta_d Meta_Control_d Meta_Control_d
65keycode 33 = +f +F +U+0430 +U+0410 Control_f Control_f Meta_f Meta_f Meta_f Meta_f Meta_Control_f Meta_Control_f
66keycode 34 = +g +G +U+043f +U+041f Control_g Control_g Meta_g Meta_g Meta_g Meta_g Meta_Control_g Meta_Control_g
67keycode 35 = +h +H +U+0440 +U+0420 Control_h Control_h Meta_h Meta_h Meta_h Meta_h Meta_Control_h Meta_Control_h
68keycode 36 = +j +J +U+043e +U+041e Control_j Control_j Meta_j Meta_j Meta_j Meta_j Meta_Control_j Meta_Control_j
69keycode 37 = +k +K +U+043b +U+041b Control_k Control_k Meta_k Meta_k Meta_k Meta_k Meta_Control_k Meta_Control_k
70keycode 38 = +l +L +U+0434 +U+0414 Control_l Control_l Meta_l Meta_l Meta_l Meta_l Meta_Control_l Meta_Control_l
71keycode 39 = semicolon colon +U+0436 +U+0416 semicolon semicolon Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
72keycode 40 = apostrophe quotedbl +U+044d +U+042d Control_g Control_g Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
73#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt =================== alt cyr =============== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
74keycode 41 = grave asciitilde grave asciitilde nul nul Meta_grave Meta_grave Meta_grave Meta_grave
75# LShift
76#keycode 42 =
77keycode 43 = backslash bar backslash bar Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash
78keycode 44 = +z +Z +U+044f +U+042f Control_z Control_z Meta_z Meta_z Meta_z Meta_z Meta_Control_z Meta_Control_z
79keycode 45 = +x +X +U+0447 +U+0427 Control_x Control_x Meta_x Meta_x Meta_x Meta_x Meta_Control_x Meta_Control_x
80keycode 46 = +c +C +U+0441 +U+0421 Control_c Control_c Meta_c Meta_c Meta_c Meta_c Meta_Control_c Meta_Control_c
81keycode 47 = +v +V +U+043c +U+041c Control_v Control_v Meta_v Meta_v Meta_v Meta_v Meta_Control_v Meta_Control_v
82keycode 48 = +b +B +U+0438 +U+0418 Control_b Control_b Meta_b Meta_b Meta_b Meta_b Meta_Control_b Meta_Control_b
83keycode 49 = +n +N +U+0442 +U+0422 Control_n Control_n Meta_n Meta_n Meta_n Meta_n Meta_Control_n Meta_Control_n
84keycode 50 = +m +M +U+044c +U+042c Control_m Control_m Meta_m Meta_m Meta_m Meta_m Meta_Control_m Meta_Control_m
85keycode 51 = comma less +U+0431 +U+0411 comma comma Meta_comma Meta_comma Meta_comma Meta_comma
86keycode 52 = period greater +U+044e +U+042e Compose Compose Meta_period Meta_period Meta_period Meta_period
87keycode 53 = slash question slash question Delete Delete Meta_slash Meta_question Meta_slash Meta_question Meta_question Meta_question
88# RShift
89#keycode 54 =
90keycode 55 = KP_Multiply
91keycode 56 = Alt
92keycode 57 = space space space space nul nul Meta_space Meta_space Meta_space Meta_space
93keycode 58 = Caps_Lock
94keycode 59 = F1 F11 F1 F11 F1 F1 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1
95keycode 60 = F2 F12 F2 F12 F2 F2 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2
96#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt =================== alt cyr =============== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
97keycode 61 = F3 F13 F3 F13 F3 F3 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3
98keycode 62 = F4 F14 F4 F14 F4 F4 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4
99keycode 63 = F5 F15 F5 F15 F5 F5 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5
100keycode 64 = F6 F16 F6 F16 F6 F6 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6
101keycode 65 = F7 F17 F7 F17 F7 F7 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7
102keycode 66 = F8 F18 F8 F18 F8 F8 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8
103keycode 67 = F9 F19 F9 F19 F9 F9 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9
104keycode 68 = F10 F20 F10 F20 F10 F10 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10
105keycode 69 = Num_Lock Bare_Num_Lock Num_Lock Bare_Num_Lock
106keycode 70 = Scroll_Lock Show_Memory Scroll_Lock Show_Memory Show_State Show_State
107keycode 71 = KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Ascii_7 Ascii_7 Ascii_7
108keycode 72 = KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Ascii_8 Ascii_8 Ascii_8
109keycode 73 = KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Ascii_9 Ascii_9 Ascii_9
110keycode 74 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
111keycode 75 = KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Ascii_4 Ascii_4 Ascii_4
112keycode 76 = KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Ascii_5 Ascii_5 Ascii_5
113keycode 77 = KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Ascii_6 Ascii_6 Ascii_6
114keycode 78 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add
115keycode 79 = KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Ascii_1 Ascii_1 Ascii_1
116keycode 80 = KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Ascii_2 Ascii_2 Ascii_2
117#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt =================== alt cyr =============== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
118keycode 81 = KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Ascii_3 Ascii_3 Ascii_3
119keycode 82 = KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Ascii_0 Ascii_0 Ascii_0
120keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot Boot
121keycode 84 = Last_Console
122keycode 85 =
123keycode 86 = less greater less greater less less Meta_less Meta_less Meta_less Meta_less
124keycode 87 = F11 F11 F11 F11 F11 F11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11
125keycode 88 = F12 F12 F12 F12 F12 F12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12
126keycode 89 =
127keycode 90 =
128keycode 91 =
129keycode 92 =
130keycode 93 =
131keycode 94 =
132keycode 95 =
133keycode 96 = KP_Enter
134# RControl
135#keycode 97 =
136keycode 98 = KP_Divide
137keycode 99 = Control_backslash
138# RAlt
139#keycode 100 =
140#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt shift ============= alt cyr =============== alt shift cyr ========= ctrlalt =============== ctrlalt cyr ===========
141keycode 101 = Break
142keycode 102 = Find
143keycode 103 = Up
144keycode 104 = Prior Scroll_Backward Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior
145keycode 105 = Left Left Left Left Left Left Left Left Left Left Decr_Console Decr_Console
146keycode 106 = Right Right Right Right Right Right Right Right Right Right Incr_Console Incr_Console
147keycode 107 = Select
148keycode 108 = Down
149keycode 109 = Next Scroll_Forward Next Scroll_Forward Next Next Next Next Next Next Next Next
150keycode 110 = Insert
151keycode 111 = Remove Remove Remove Remove Remove Remove Remove Remove Remove Remove Boot Boot
152keycode 112 = Macro
153keycode 113 = F13
154keycode 114 = F14
155keycode 115 = Help
156keycode 116 = Do
157keycode 117 = F17
158keycode 118 = KP_MinPlus
159keycode 119 = Pause
160keycode 120 =
161#============== plain ========= shift========== plain cyr ===== shift cyr ===== ctrl ================== ctrl cyr ============== alt =================== alt =================== alt cyr =============== alt cyr =============== ctrlalt =============== ctrlalt cyr ===========
162keycode 121 =
163keycode 122 =
164keycode 123 =
165keycode 124 =
166# LWin
167#keycode 125 =
168# RWin
169#keycode 126 =
170# RMenu
171keycode 127 =
172
173string F1 = "\033[[A"
174string F2 = "\033[[B"
175string F3 = "\033[[C"
176string F4 = "\033[[D"
177string F5 = "\033[[E"
178string F6 = "\033[17~"
179string F7 = "\033[18~"
180string F8 = "\033[19~"
181string F9 = "\033[20~"
182string F10 = "\033[21~"
183string F11 = "\033[23~"
184string F12 = "\033[24~"
185string F13 = "\033[25~"
186string F14 = "\033[26~"
187string F15 = "\033[28~"
188string F16 = "\033[29~"
189string F17 = "\033[31~"
190string F18 = "\033[32~"
191string F19 = "\033[33~"
192string F20 = "\033[34~"
193string Find = "\033[1~"
194string Insert = "\033[2~"
195string Remove = "\033[3~"
196string Select = "\033[4~"
197string Prior = "\033[5~"
198string Next = "\033[6~"
199string Macro = "\033[M"
200string Pause = "\033[P"