This article outlines the keyboard codes sent by the PropTerm terminal to the host. The keyboard driver expects a standard PS2 Windows keyboard.
There are a small number of keys that directly generate ANSI control characters. These key do not have Ctrl or Alt versions. The table below shows the control code generating keys along with there generated codes.
NOTE: (*) The code returned by the un-shifted enter key is controled by the "Enter Key" setting in the PropTerm setup dialog. If the "Enter Key" setting is set to "CR" a single code 13 will be sent. If the setting is set to "CR+LF" two codes will be sent ,code 13 and code 10.
Key | Code | Shift | |
Backspace | 8 | 127 | |
Tab | 9 | ||
* Enter |
13 (13 + 10) | 10 | |
Esc | 27 |
The table below shows the keyboard codes sent for normal ANSI keys. It is possible to generate all 8 bit values except 127 and 255 using the ANSI character keys in combination with the Ctrl and Alt keys.
Char | Code | Ctrl | Alt | Ctrl+Alt |
space | 32 | 160 | ||
! | 33 | 161 | ||
" | 34 | 162 | ||
# | 35 | 163 | ||
$ | 36 | 164 | ||
% | 37 | 165 | ||
` | 38 | 166 | ||
& | 39 | 167 | ||
( | 40 | 168 | ||
) | 41 | 169 | ||
* | 42 | 170 | ||
+ | 43 | 171 | ||
' | 44 | 172 | ||
- | 45 | 173 | ||
. | 46 | 174 | ||
/ | 47 | 175 | ||
0 | 48 | 176 | ||
1 | 49 | 177 | ||
2 | 50 | 178 | ||
3 | 51 | 179 | ||
4 | 52 | 180 | ||
5 | 53 | 181 | ||
6 | 54 | 182 | ||
7 | 55 | 183 | ||
8 | 56 | 184 | ||
9 | 57 | 185 | ||
: | 58 | 186 | ||
; | 59 | 187 | ||
< | 60 | 188 | ||
= | 61 | 189 | ||
> | 62 | 190 | ||
? | 63 | 191 | ||
@ | 64 | 0 | 192 | 128 |
A | 65 | 1 | 193 | 129 |
B | 66 | 2 | 194 | 130 |
C | 67 | 3 | 195 | 131 |
D | 68 | 4 | 196 | 132 |
E | 69 | 5 | 197 | 133 |
F | 70 | 6 | 198 | 134 |
G | 71 | 7 | 199 | 135 |
H | 72 | 8 | 200 | 136 |
I | 73 | 9 | 201 | 137 |
J | 74 | 10 | 202 | 138 |
K | 75 | 11 | 203 | 139 |
L | 76 | 12 | 204 | 140 |
M | 77 | 13 | 205 | 141 |
N | 78 | 14 | 206 | 142 |
O | 79 | 15 | 207 | 143 |
P | 80 | 16 | 208 | 144 |
Q | 81 | 17 | 209 | 145 |
R | 82 | 18 | 210 | 146 |
S | 83 | 19 | 211 | 147 |
T | 84 | 20 | 212 | 148 |
U | 85 | 21 | 213 | 149 |
V | 86 | 22 | 214 | 150 |
W | 87 | 23 | 215 | 151 |
X | 88 | 24 | 216 | 152 |
Y | 89 | 25 | 217 | 153 |
Z | 90 | 26 | 218 | 154 |
[ | 91 | 27 | 219 | 155 |
\ | 92 | 28 | 220 | 156 |
] | 93 | 29 | 221 | 157 |
^ | 94 | 30 | 222 | 158 |
_ | 95 | 31 | 223 | 159 |
` | 96 | 224 | ||
a | 97 | 1 | 225 | 129 |
b | 98 | 2 | 226 | 130 |
c | 99 | 3 | 227 | 131 |
d | 100 | 4 | 228 | 132 |
e | 101 | 5 | 229 | 133 |
f | 102 | 6 | 230 | 134 |
g | 103 | 7 | 231 | 135 |
h | 104 | 8 | 232 | 136 |
i | 105 | 9 | 233 | 137 |
j | 106 | 10 | 234 | 138 |
k | 107 | 11 | 235 | 139 |
l | 108 | 12 | 236 | 140 |
m | 109 | 13 | 237 | 141 |
n | 110 | 14 | 238 | 142 |
o | 111 | 15 | 239 | 143 |
p | 112 | 16 | 240 | 144 |
q | 113 | 17 | 241 | 145 |
r | 114 | 18 | 242 | 146 |
s | 115 | 19 | 243 | 147 |
t | 116 | 20 | 244 | 148 |
u | 117 | 21 | 245 | 149 |
v | 118 | 22 | 246 | 150 |
w | 119 | 23 | 247 | 151 |
x | 120 | 24 | 248 | 152 |
y | 121 | 25 | 249 | 153 |
z | 122 | 26 | 250 | 154 |
{ | 123 | 251 | ||
| | 124 | 252 | ||
} | 125 | 253 | ||
~ | 126 | 254 |
The table below shows the keyboard codes sent for function and specialty keys.When a function or specialty key is pressed at the terminal keyboard the terminal will first send the function key prefix code(s) followed by a printableANSI character. The function key prefix can be set to one of two possible prefix codes in the terminal setup dialog. The first setting "Esc O" (chars 27,79) is used for 7 bit systems. The second function key prefix code character 143 can only be used for 8 bit communications.
NOTE:(*) The four arrow keys can be set to operate in one of two modes. When the terminal setup dialog cursor key setting is configure for "ANSI" the cursor keys return the ANSI escape sequence for cursor UP, Down, Right and Left. (see Cursor Control Article) In "ANSI" mode the cursor keys ignore the Ctrl and Alt keys.When the cursor keys are set to "FUNC" the cursor keys generate a function key prefix followed by the code listed in the table below.
Key | Code | Ctrl | Alt | Ctrl+Alt |
* Up Arrow | A (65) | a (97) | 193 | 225 |
* Down Arrow | B (66) | b (98) | 194 | 226 |
* Right Arrow | C (67) | c (99) | 195 | 227 |
* Left Arrow | D (68) | d (100) | 196 | 228 |
Insert | E (69) | e (101) | 197 | 229 |
Delete | F (70) | f (102) | 198 | 230 |
Home | G (71) | g (103) | 199 | 231 |
End | H (72) | h (104) | 200 | 232 |
Page Up | I (73) | i (105) | 201 | 233 |
Page Down | J (74) | j (106) | 202 | 234 |
F1 | P (80) | p (112) | 208 | 240 |
F2 | Q (81) | q (113) | 209 | 241 |
F3 | R (82) | r (114) | 210 | 242 |
F4 | S (83) | s (115) | 211 | 243 |
F5 | T (84) | t (116) | 212 | 244 |
F6 | U (85) | u (117) | 213 | 245 |
F7 | V (86) | v (118) | 214 | 246 |
F8 | W (87) | w (119) | 215 | 247 |
F9 | X (88) | x (120) | 216 | 248 |
F10 | Y (89) | y (121) | 217 | 249 |
F11 | Z (90) | z (122) | 218 | 250 |
F12 | [ (91) | { (123) | 219 | 251 |