1 #define NSPIRE_FILEBUFFER 32768
2   // Character codes
3 #define KEY_CHAR_0          0x30
4 #define KEY_CHAR_1          0x31
5 #define KEY_CHAR_2          0x32
6 #define KEY_CHAR_3          0x33
7 #define KEY_CHAR_4          0x34
8 #define KEY_CHAR_5          0x35
9 #define KEY_CHAR_6          0x36
10 #define KEY_CHAR_7          0x37
11 #define KEY_CHAR_8          0x38
12 #define KEY_CHAR_9          0x39
13 #define KEY_CHAR_DP         0x2e
14 #define KEY_CHAR_EXP        0x0f
15 #define KEY_CHAR_PMINUS     30200
16 #define KEY_CHAR_PLUS       43
17 #define KEY_CHAR_MINUS      45
18 #define KEY_CHAR_MULT       42
19 #define KEY_CHAR_DIV        47
20 #define KEY_CHAR_FRAC       0xbb
21 #define KEY_CHAR_LPAR       0x28
22 #define KEY_CHAR_RPAR       0x29
23 #define KEY_CHAR_COMMA      0x2c
24 #define KEY_CHAR_STORE      0x0e
25 #define KEY_CHAR_LOG        0x95
26 #define KEY_CHAR_LN         0x85
27 #define KEY_CHAR_SIN        0x81
28 #define KEY_CHAR_COS        0x82
29 #define KEY_CHAR_TAN        0x83
30 #define KEY_CHAR_SQUARE     0x8b
31 #define KEY_CHAR_POW        0xa8
32 #define KEY_CHAR_IMGNRY     0x7f50
33 #define KEY_CHAR_LIST       0x7f51
34 #define KEY_CHAR_MAT        0x7f40
35 #define KEY_CHAR_EQUAL      0x3d
36 #define KEY_CHAR_PI         0xd0
37 #define KEY_CHAR_ANS        0xc0
38 #define KEY_SHIFT_ANS        0xc1
39 #define KEY_CHAR_LBRCKT     0x5b
40 #define KEY_CHAR_RBRCKT     0x5d
41 #define KEY_CHAR_LBRACE     0x7b
42 #define KEY_CHAR_RBRACE     0x7d
43 #define KEY_CHAR_CR         0x0d
44 #define KEY_CHAR_CUBEROOT   0x96
45 #define KEY_CHAR_RECIP      0x9b
46 #define KEY_CHAR_ANGLE      0x7f54
47 #define KEY_CHAR_EXPN10     0xb5
48 #define KEY_CHAR_EXPN       0xa5
49 #define KEY_CHAR_ASIN       0x91
50 #define KEY_CHAR_ACOS       0x92
51 #define KEY_CHAR_ATAN       0x93
52 #define KEY_CHAR_ROOT       0x86
53 #define KEY_CHAR_POWROOT    0xb8
54 #define KEY_CHAR_SPACE      0x20
55 #define KEY_CHAR_DQUATE     0x22
56 #define KEY_CHAR_VALR       0xcd
57 #define KEY_CHAR_THETA      0xce
58 #define KEY_CHAR_FACTOR     0xda
59 #define KEY_CHAR_NORMAL     0xdb
60 #define KEY_CHAR_SHIFTMINUS     0xdc
61 #define KEY_CHAR_A          0x41
62 #define KEY_CHAR_B          0x42
63 #define KEY_CHAR_C          0x43
64 #define KEY_CHAR_D          0x44
65 #define KEY_CHAR_E          0x45
66 #define KEY_CHAR_F          0x46
67 #define KEY_CHAR_G          0x47
68 #define KEY_CHAR_H          0x48
69 #define KEY_CHAR_I          0x49
70 #define KEY_CHAR_J          0x4a
71 #define KEY_CHAR_K          0x4b
72 #define KEY_CHAR_L          0x4c
73 #define KEY_CHAR_M          0x4d
74 #define KEY_CHAR_N          0x4e
75 #define KEY_CHAR_O          0x4f
76 #define KEY_CHAR_P          0x50
77 #define KEY_CHAR_Q          0x51
78 #define KEY_CHAR_R          0x52
79 #define KEY_CHAR_S          0x53
80 #define KEY_CHAR_T          0x54
81 #define KEY_CHAR_U          0x55
82 #define KEY_CHAR_V          0x56
83 #define KEY_CHAR_W          0x57
84 #define KEY_CHAR_X          0x58
85 #define KEY_CHAR_Y          0x59
86 #define KEY_CHAR_Z          0x5a
87 
88 
89   // Control codes
90 #define KEY_CTRL_FORMAT     30203
91 #define KEY_CTRL_NOP        30202
92 #define KEY_CTRL_EXE        30201
93 #define KEY_CTRL_DEL        30025
94 #define KEY_CTRL_AC         30070
95 #define KEY_CTRL_FD         30046
96 #define KEY_CTRL_UNDO	    30045
97 #define KEY_CTRL_XTT        30001
98 #define KEY_CTRL_EXIT       5
99 #define KEY_CTRL_OK       4
100 #define KEY_CTRL_SHIFT      30006
101 #define KEY_CTRL_ALPHA      30007
102 #define KEY_CTRL_OPTN       30008
103 #define KEY_CTRL_VARS       30030
104 #define KEY_CTRL_UP         1
105 #define KEY_CTRL_DOWN       2
106 #define KEY_CTRL_LEFT       0
107 #define KEY_CTRL_RIGHT      3
108 #define KEY_CTRL_F1         30009
109 #define KEY_CTRL_F2         30010
110 #define KEY_CTRL_F3         30011
111 #define KEY_CTRL_F4         30012
112 #define KEY_CTRL_F5         30013
113 #define KEY_CTRL_F6         30014
114 #define KEY_CTRL_F7         30015
115 #define KEY_CTRL_F8         30016
116 #define KEY_CTRL_F9         30017
117 #define KEY_CTRL_F10         30018
118 #define KEY_CTRL_F11         30019
119 #define KEY_CTRL_F12         30020
120 #define KEY_CTRL_F13         30021
121 #define KEY_CTRL_F14         30022
122 #define KEY_CTRL_CATALOG    30100
123 #define KEY_CTRL_CAPTURE    30055
124 #define KEY_CTRL_CLIP       30050
125 #define KEY_CTRL_CUT       30250
126 #define KEY_CTRL_PASTE      30036
127 #define KEY_CTRL_INS        30033
128 #define KEY_CTRL_MIXEDFRAC  30054
129 #define KEY_CTRL_FRACCNVRT  30026
130 #define KEY_CTRL_QUIT       30029
131 #define KEY_CTRL_PRGM       30028
132 #define KEY_CTRL_SETUP      30037
133 #define KEY_CTRL_PAGEUP     30052
134 #define KEY_CTRL_PAGEDOWN   30053
135 #define KEY_CTRL_MENU       30003
136 #define KEY_SHIFT_OPTN	    30059
137 #define KEY_CTRL_RESERVE1	30060
138 #define KEY_CTRL_RESERVE2	30061
139 #define KEY_SHIFT_LEFT		30062
140 #define KEY_SHIFT_RIGHT		30063
141 #define KEY_UP_CTRL 31060
142 #define KEY_DOWN_CTRL 31061
143 #define KEY_LEFT_CTRL 31062
144 #define KEY_RIGHT_CTRL 31063
145 #define KEY_CALCULATOR 31064
146 #define KEY_SAVE 31065
147 #define KEY_LOAD 31066
148 #define KEY_CTRL_A 31001
149 #define KEY_CTRL_D 31004
150 #define KEY_CTRL_E 31005
151 #define KEY_CTRL_H 31008 // help?
152 #define KEY_CTRL_M 31011 // doc menu
153 #define KEY_CTRL_N 31012
154 #define KEY_CTRL_R 31018
155 #define KEY_CTRL_S 31019
156 #define KEY_CTRL_T 31020
157 #define KEY_EQW_TEMPLATE 31100
158 #define KEY_AFFECT 31101
159 #define KEY_FLAG 31102
160 #define KEY_BOOK 31103
161 #define KEY_SELECT_LEFT       31200
162 #define KEY_SELECT_UP         31201
163 #define KEY_SELECT_DOWN       31202
164 #define KEY_SELECT_RIGHT      31203
165 #define KEY_SHUTDOWN 32109
166 
167 #define KEY_PRGM_ACON 10
168 #define KEY_PRGM_DOWN 37
169 #define KEY_PRGM_EXIT 47
170 #define KEY_PRGM_F1 79
171 #define KEY_PRGM_F2 69
172 #define KEY_PRGM_F3 59
173 #define KEY_PRGM_F4 49
174 #define KEY_PRGM_F5 39
175 #define KEY_PRGM_F6 29
176 #define KEY_PRGM_LEFT 38
177 #define KEY_PRGM_NONE 0
178 #define KEY_PRGM_RETURN 31
179 #define KEY_PRGM_RIGHT 27
180 #define KEY_PRGM_UP 28
181 #define KEY_PRGM_1 72
182 #define KEY_PRGM_2 62
183 #define KEY_PRGM_3 52
184 #define KEY_PRGM_4 73
185 #define KEY_PRGM_5 63
186 #define KEY_PRGM_6 53
187 #define KEY_PRGM_7 74
188 #define KEY_PRGM_8 64
189 #define KEY_PRGM_9 54
190 #define KEY_PRGM_A 76
191 #define KEY_PRGM_F 26
192 #define KEY_PRGM_ALPHA 77
193 #define KEY_PRGM_SHIFT 78
194 #define KEY_PRGM_MENU 48
195