1 /*
2  *    TTTTTTTTTTTTTT  EEEEEEEEEEEEEE  OOOOOOOOOOOOOO
3  *    TTTTTTTTTTTTTT  EEEEEEEEEEEEEE  OOOOOOOOOOOOOO
4  *          TT        EE              OO          OO
5  *          TT        EE              OO          OO
6  *          TT        EE              OO          OO
7  *          TT        EEEEEEEEEE      OO          OO
8  *          TT        EEEEEEEEEE      OO          OO
9  *          TT        EE              OO          OO
10  *          TT        EE              OO          OO
11  *          TT        EE              OO          OO
12  *          TT        EEEEEEEEEEEEEE  OOOOOOOOOOOOOO
13  *          TT        EEEEEEEEEEEEEE  OOOOOOOOOOOOOO
14  *
15  *                  L'�mulateur Thomson TO8
16  *
17  *  Copyright (C) 1997-2017 Gilles F�tis, Eric Botcazou, Alexandre Pukall,
18  *                          J�r�mie Guillaume, Fran�ois Mouret
19  *
20  *  This program is free software; you can redistribute it and/or modify
21  *  it under the terms of the GNU General Public License as published by
22  *  the Free Software Foundation; either version 2 of the License, or
23  *  (at your option) any later version.
24  *
25  *  This program is distributed in the hope that it will be useful,
26  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
27  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28  *  GNU General Public License for more details.
29  *
30  *  You should have received a copy of the GNU General Public License
31  *  along with this program; if not, write to the Free Software
32  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
33  */
34 
35 /*
36  *  Module     : key.h
37  *  Version    : 1.8.4
38  *  Cr�� par   : Eric Botcazou
39  *  Modifi� par: Eric Botcazou 13/02/2001
40  *               Fran�ois Mouret 21/04/2013 20/10/2017
41  *
42  *  scancodes des touches pass�s par le handler d'Allegro 3.9.38 WIP.
43  */
44 
45 
46 #ifndef TO8KEYS_H
47 #define TO8KEYS_H 1
48 
49 /* List of Teo key flags */
50 #define TEO_KEY_F_NONE          0
51 #define TEO_KEY_F_SHIFT         (1<<0)
52 #define TEO_KEY_F_CTRL          (1<<1)
53 #define TEO_KEY_F_ALTGR         (1<<2)
54 #define TEO_KEY_F_NUMLOCK       (1<<3)
55 #define TEO_KEY_F_CAPSLOCK      (1<<4)
56 #define TEO_KEY_F_MAX           5
57 
58 /* List of Teo scancodes.
59  * comment: <code> <code+shift> <code+altgr> */
60 #define TEO_KEY_A           1     /*  q Q    */
61 #define TEO_KEY_B           2     /*  b B    */
62 #define TEO_KEY_C           3     /*  c C    */
63 #define TEO_KEY_D           4     /*  d D    */
64 #define TEO_KEY_E           5     /*  e E    */
65 #define TEO_KEY_F           6     /*  f F    */
66 #define TEO_KEY_G           7     /*  g G    */
67 #define TEO_KEY_H           8     /*  h H    */
68 #define TEO_KEY_I           9     /*  i I    */
69 #define TEO_KEY_J           10    /*  j J    */
70 #define TEO_KEY_K           11    /*  k K    */
71 #define TEO_KEY_L           12    /*  l L    */
72 #define TEO_KEY_M           13    /*  , ?    */
73 #define TEO_KEY_N           14    /*  n N    */
74 #define TEO_KEY_O           15    /*  o O    */
75 #define TEO_KEY_P           16    /*  p P    */
76 #define TEO_KEY_Q           17    /*  a A    */
77 #define TEO_KEY_R           18    /*  r R    */
78 #define TEO_KEY_S           19    /*  s S    */
79 #define TEO_KEY_T           20    /*  t T    */
80 #define TEO_KEY_U           21    /*  u U    */
81 #define TEO_KEY_V           22    /*  v V    */
82 #define TEO_KEY_W           23    /*  z Z    */
83 #define TEO_KEY_X           24    /*  x X    */
84 #define TEO_KEY_Y           25    /*  y Y    */
85 #define TEO_KEY_Z           26    /*  w W    */
86 #define TEO_KEY_0           27    /*  � 0 @  */
87 #define TEO_KEY_1           28    /*  & 1    */
88 #define TEO_KEY_2           29    /*  � 2    */
89 #define TEO_KEY_3           30    /*  " 3 #  */
90 #define TEO_KEY_4           31    /*  ' 4 {  */
91 #define TEO_KEY_5           32    /*  ( 5 [  */
92 #define TEO_KEY_6           33    /*  - 6    */
93 #define TEO_KEY_7           34    /*  � 7    */
94 #define TEO_KEY_8           35    /*  _ 8 \  */
95 #define TEO_KEY_9           36    /*  � 9 ^  */
96 #define TEO_KEY_0_PAD       37    /*  0 0 0  */
97 #define TEO_KEY_1_PAD       38    /*  1 1 1  */
98 #define TEO_KEY_2_PAD       39    /*  2 2 2  */
99 #define TEO_KEY_3_PAD       40    /*  3 3 3  */
100 #define TEO_KEY_4_PAD       41    /*  4 4 4  */
101 #define TEO_KEY_5_PAD       42    /*  5 5 5  */
102 #define TEO_KEY_6_PAD       43    /*  6 6 6  */
103 #define TEO_KEY_7_PAD       44    /*  7 7 7  */
104 #define TEO_KEY_8_PAD       45    /*  8 8 8  */
105 #define TEO_KEY_9_PAD       46    /*  9 9 9  */
106 #define TEO_KEY_F1          47
107 #define TEO_KEY_F2          48
108 #define TEO_KEY_F3          49
109 #define TEO_KEY_F4          50
110 #define TEO_KEY_F5          51
111 #define TEO_KEY_F6          52
112 #define TEO_KEY_F7          53
113 #define TEO_KEY_F8          54
114 #define TEO_KEY_F9          55
115 #define TEO_KEY_F10         56
116 #define TEO_KEY_F11         57
117 #define TEO_KEY_F12         58
118 #define TEO_KEY_ESC         59
119 #define TEO_KEY_TILDE       60
120 #define TEO_KEY_MINUS       61    /*  ) � ]  */
121 #define TEO_KEY_EQUALS      62    /*  = + }  */
122 #define TEO_KEY_BACKSPACE   63
123 #define TEO_KEY_TAB         64
124 #define TEO_KEY_OPENBRACE   65    /*  ^      */
125 #define TEO_KEY_CLOSEBRACE  66    /*  $      */
126 #define TEO_KEY_ENTER       67
127 #define TEO_KEY_COLON       68    /*  m M    */
128 #define TEO_KEY_QUOTE       69    /*  � %    */
129 #define TEO_KEY_BACKSLASH   70    /*  * $    */
130 #define TEO_KEY_BACKSLASH2  71    /*  < >    */
131 #define TEO_KEY_COMMA       72    /*  ; .    */
132 #define TEO_KEY_STOP        73    /*  : /    */
133 #define TEO_KEY_SLASH       74    /*  !      */
134 #define TEO_KEY_SPACE       75
135 #define TEO_KEY_INSERT      76
136 #define TEO_KEY_DEL         77
137 #define TEO_KEY_HOME        78
138 #define TEO_KEY_END         79
139 #define TEO_KEY_PGUP        80
140 #define TEO_KEY_PGDN        81
141 #define TEO_KEY_LEFT        82
142 #define TEO_KEY_RIGHT       83
143 #define TEO_KEY_UP          84
144 #define TEO_KEY_DOWN        85
145 #define TEO_KEY_SLASH_PAD   86    /*  / :    */
146 #define TEO_KEY_ASTERISK    87    /*  *      */
147 #define TEO_KEY_MINUS_PAD   88    /*  -      */
148 #define TEO_KEY_PLUS_PAD    89    /*  +      */
149 #define TEO_KEY_DEL_PAD     90    /*  .      */
150 #define TEO_KEY_ENTER_PAD   91
151 #define TEO_KEY_PRTSCR      92
152 #define TEO_KEY_PAUSE       93
153 #define TEO_KEY_ABNT_C1     94
154 #define TEO_KEY_YEN         95
155 #define TEO_KEY_KANA        96
156 #define TEO_KEY_CONVERT     97
157 #define TEO_KEY_NOCONVERT   98
158 #define TEO_KEY_AT          99
159 #define TEO_KEY_CIRCUMFLEX  100
160 #define TEO_KEY_COLON2      101
161 #define TEO_KEY_KANJI       102
162 
163 #define TEO_KEY_MODIFIERS   103
164 
165 #define TEO_KEY_LSHIFT      103
166 #define TEO_KEY_RSHIFT      104
167 #define TEO_KEY_LCONTROL    105
168 #define TEO_KEY_RCONTROL    106
169 #define TEO_KEY_ALT         107
170 #define TEO_KEY_ALTGR       108
171 #define TEO_KEY_LWIN        109
172 #define TEO_KEY_RWIN        110
173 #define TEO_KEY_MENU        111
174 #define TEO_KEY_SCRLOCK     112
175 #define TEO_KEY_NUMLOCK     113
176 #define TEO_KEY_CAPSLOCK    114
177 
178 #define TEO_KEY_MAX         115
179 
180 #endif
181 
182