Concise Atari ST 68000 Programmer's Reference Guide

Keycode definitions

ASCII codes 0 to 127

 Dec  Hex  ASCII   Dec  Hex   ASCII   Dec  Hex   ASCII   Dec  Hex   ASCII
0 00 NUL 32 20 SPACE  64 40 96 60 `
1 01 SOH 33 21 65 41 97 61
2 02 STX 34 22 66 42 98 62
3 03 ETX 35 23 67 43 99 63
4 04 EOT 36 24 68 44 100 64
5 05 ENQ 37 25 69 45 101 65
6 06 ACK 38 26 70 46 102 66
7 07 BEL 39 27 71 47 103 67
8 08 BS 40 28 72 48 104 68
9 09 HT 41 29 73 49 105 69
10 0A LF 42 2A 74 4A 106 6A
11 0B VT 43 2B 75 4B 107 6B
12 0C FF 44 2C 76 4C 108 6C
13 0D CR 45 2D 77 4D 109 6D
14 0E SO 46 2E 78 4E 110 6E
15 0F SI 47 2F 79 4F 111 6F
16 10 DLE 48 30 80 50 112 70
17 11 DC1 49 31 81 51 113 71
18 12 DC2 50 32 82 52 114 72
19 13 DC3 51 33 83 53 115 73
20 14 DC4 52 34 84 54 116 74
21 15 NAK 53 35 85 55 117 75
22 16 SYN 54 36 86 56 118 76
23 17 ETB 55 37 87 57 119 77
24 18 CAN 56 38 88 58 120 78
25 19 EM 57 39 89 59 121 79
26 1A SUB 58 3A 90 5A 122 7A
27 1B ESC 59 3B 91 5B 123 7B
28 1C FS 60 3C 92 5C 124 7C
29 1D GS 61 3D 93 5D 125 7D
30 1E RS 62 3E 94 5E 126 7E
31 1F US 63 3F 95 5F 127 7F DEL 

GSX compatible keyscan codes

 Dec  Hex Keytop   Dec  Hex Keytop   Dec  Hex Keytop   Dec  Hex Keytop
      32 20 D 64 40 F6 96 60 ISO KEY
1 01 ESC 33 21 F 65 41 F7 97 61 UNDO
2 02 1 34 22 G 66 42 F8 98 62 HELP
3 03 2 35 23 H 67 43 F9 99 63 kpd (
4 04 3 36 24 J 68 44 F10 100 64 kpd )
5 05 4 37 25 K 69 45 n.u. 101 65 kpd /
6 06 5 38 26 L 70 46 n.u. 102 66 kpd *
7 07 6 39 27 ; 71 47 HOME 103 67 kpd 7
8 08 7 40 28 ' 72 48 UP-ARROW 104 68 kpd 8
9 09 8 41 29 ' 73 49 n.u. 105 69 kpd 9
10 0A 9 42 2A LSHIFT 74 4A kpd. - 106 6A kpd 4
11 0B 0 43 2B \ 75 4B LEFT-ARROW 107 6B kpd 5
12 0C - 44 2C Z 76 4C n.u. 108 6C kpd 6
13 0D   45 2D X 77 4D RIGHT ARROW 109 6D kpd 1
14 0E BS 46 2E C 78 4E kpd + 110 6E kpd 2
15 0F TAB 47 2F V 79 4F n.u. 111 6F kpd 3
16 10 Q 48 30 B 80 50 DOWN ARROW 112 70 kpd 0
17 11 W 49 31 N 81 51 n.u. 113 71 kpd .
18 12 E 50 32 M 82 52 INSERT 114 72 kpd ENT
19 13 R 51 33 , 83 53 DEL      
20 14 T 52 34 . 84 54 n.u. 116 74 Left m/j button
21 15 Y 53 35 / 85 55   117 75 Right m/j button
22 16 U 54 36 R-SHIFT 86 56        
23 17 I 55 37 n.u. 87 57        
24 18 O 56 38 ALT 88 58        
25 19 P 57 39 SPACE 89 59        
26 1A [ 58 3A CAPS LOCK 90 5A        
27 1B ] 59 3B F1 91 5B        
28 1C RET 60 3C F2 92 5C   UK Keyboard
29 1D CNTL 61 3D F3 93 5D   43 2B #
30 1E A 62 3E F4 94 5E   96 60 \
31 1F S 63 3F F5 95 5F n.u.      

kpd = keypad
n.u. = not used
m/j button = mouse/joystick button

Returned highword lowbyte by BDOS c_conin function.


GEM VDI standard keyboard codes

High
byte
Low
byte
Char   High
byte
Low
byte
Char   High
byte
Low
byte
Char   High
byte
Low
byte
Char
03 00 CTRL 2 39 20 SPACE  03 40 29 60 '
1E 01 CTRL A 02 21 1E 41 1E 61
30 02 CTRL B 28 22 30 42 30 62
2E 03 CTRL C 2B 23 2E 43 2E 63
20 04 CTRL D 05 24 20 44 20 64
12 05 CTRL E 06 25 12 45 12 65
21 06 CTRL F 08 26 21 46 21 66
22 07 CTRL G 28 27 22 47 22 67
23 08 CTRL H 0A 28 23 48 23 68
17 09 CTRL I 0B 29 17 49 17 69
24 0A CTRL J 09 2A 24 4A 24 6A
25 0B CTRL K 0D 2B 25 4B 25 6B
26 0C CTRL L 33 2C 26 4C 26 6C
32 0D CTRL M 0C 2D 32 4D 32 6D
31 0E CTRL N 34 2E 31 4E 31 6E
18 0F CTRL O 35 2F 18 4F 18 6F
19 10 CTRL P 0B 30 19 50 19 70
10 11 CTRL Q 02 31 10 51 10 71
13 12 CTRL R 03 32 13 52 13 72
1F 13 CTRL S 04 33 1F 53 1F 73
14 14 CTRL T 05 34 14 54 14 74
16 15 CTRL U 06 35 16 55 16 75
2F 16 CTRL V 07 36 2F 56 2F 76
11 17 CTRL W 08 37 11 57 11 77
2D 18 CTRL X 09 38 2D 58 2D 78
15 19 CTRL Y 0A 39 15 59 Y 15 79
2C 1A CTRL Z 27 3A 2C 5A Z 2C 7A
1A 1B CTRL [ 27 3B 1A 5B [ 1A 7B
2B 1C CTRL \ 33 3C 2B 5C \ 60 7C
1B 1D CTRL ] 0D 3D 1B 5D ] 1B 7D
07 1E CTRL 6 34 3E 07 5E ^ 29 7E
0C 1F CTRL - 35 3F 0C 5F _ 0E 7F DEL 

High
byte
Low
byte
Char   High
byte
Low
byte
Char   High
byte
Low
byte
Char   High
byte
Low
byte
Char
81 00 ALT 0 11 00 ALT W 66 00 *F29 72 00 * CTRL PRINT SCREEN
78 00 ALT 1 2D 00 ALT X 67 00 *F30 37 2A * PRINT SCREEN
79 00 ALT 2 15 00 ALT Y 68 00 *F31 01 1B ESCAPE
7A 00 ALT 3 2C 00 ALT Z 69 00 *F32 0E 08 BACKSPACE
7B 00 ALT 4 3B 00 F1 6A 00 *F33 82 00 ALT -
7C 00 ALT 5 3C 00 F2 6B 00 *F34 83 00 ALT =
7D 00 ALT 6 3D 00 F3 6C 00 *F35 1C 0D CR
7E 00 ALT 7 3E 00 F4 6D 00 *F36 1C 0A CTRL CR
7F 00 ALT 8 3F 00 F5 6E 00 *F37 4C 35 SHIFT kpd 5
80 00 ALT 9 40 00 F6 6F 00 *F38 4A 2D kpd -
1E 00 ALT A 41 00 F7 70 00 *F39 4E 2B kpd +
30 00 ALT B 42 00 F8 71 00 *F40 0F 09 TAB
2E 00 ALT C 43 00 F9 73 00 CTRL LEFT ARROW 0F 00 * BACK TAB
20 00 ALT D 44 00 F10 4D 00 RIGHT ARROW 4B 00 RIGHT ARROW
12 00 ALT E 54 00 SHIFT F1 4D 36 SHIFT RIGHT ARROW 4B 34 SHIFT RIGHT ARROW
21 00 ALT F 55 00 SHIFT F2 74 00 CTRL RIGHT ARROW 4F 00 * END
22 00 ALT G 56 00 SHIFT F3 50 00 DOWN ARROW 4F 31 * SHIFT END
23 00 ALT H 57 00 SHIFT F4 50 32 SHIFT DOWN ARROW 75 00 * CTRL END
17 00 ALT I 58 00 SHIFT F5 48 00 UP ARROW      
24 00 ALT J 59 00 SHIFT F6 48 38 SHIFT UP ARROW      
25 00 ALT K 5A 00 SHIFT F7 51 00 * PAGE DOWN      
26 00 ALT L 5B 00 SHIFT F8 51 33 * SHIFT PAGE DOWN      
32 00 ALT M 5C 00 SHIFT F9 76 00 * CTRL PAGE DOWN      
31 00 ANT N 5D 00 SHIFT F10 49 00 * PAGE UP      
18 00 ALT O 5E 00 *F21 49 39 * SHIFT PAGE UP      
19 00 ALT P 5F 00 *F22 84 00 * CTRL PAGE UP      
10 00 ALT Q 60 00 *F23 77 00 CTRL HOME      
13 00 ALT R 61 00 *F24 47 00 HOME      
1F 00 ALT S 62 00 *F25 47 37 SHIFT HOME      
14 00 ALT T 63 00 *F26 52 00 INSERT      
16 00 ALT U 64 00 *F27 52 30 DELETE      
2F 00 ALT V 65 00 *F28 53 00 SHIFT DELETE      

* These scan codes are not supported by the Atari BIOS.