Bump version numbers for 3.13
[maemo-rb.git] / apps / plugins / goban / goban.h
blobf9925459ad74e9b44331316a76c0a82abd537ea9
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2007-2009 Joshua Simmons <mud at majidejima dot com>
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef GOBAN_MAIN_H
23 #define GOBAN_MAIN_H
25 /* Enable this to run test mode. (see the end of util.c) */
26 #if 0
27 #define GBN_TEST
28 #endif
30 #include "types.h"
31 #include "util.h"
34 /* Colors of various things. The colors on mono bitmap targets is fixed
35 based on the background/foreground color. */
36 #ifdef HAVE_LCD_COLOR
37 #define BOARD_COLOR LCD_RGBPACK(184,136,72)
38 #define WHITE_COLOR LCD_RGBPACK(255,255,255)
39 #define BLACK_COLOR LCD_RGBPACK(0,0,0)
40 #define LINE_COLOR LCD_RGBPACK(0,0,0)
41 #define BACKGROUND_COLOR LCD_RGBPACK(41,104,74)
42 #define CURSOR_COLOR LCD_RGBPACK(222,0,0)
43 #define MARK_COLOR LCD_RGBPACK(0,0,255)
44 #elif LCD_DEPTH > 1 /* grayscale */
45 #define BOARD_COLOR LCD_LIGHTGRAY
46 #define WHITE_COLOR LCD_WHITE
47 #define BLACK_COLOR LCD_BLACK
48 #define LINE_COLOR LCD_BLACK
49 #define BACKGROUND_COLOR LCD_DARKGRAY
50 #define CURSOR_COLOR LCD_DARKGRAY
51 #define MARK_COLOR LCD_DARKGRAY
52 #endif
54 /* Key setups */
55 #ifdef HAVE_TOUCHSCREEN
56 #define GBN_BUTTON_UP BUTTON_TOPMIDDLE
57 #define GBN_BUTTON_DOWN BUTTON_BOTTOMMIDDLE
58 #define GBN_BUTTON_LEFT BUTTON_MIDLEFT
59 #define GBN_BUTTON_RIGHT BUTTON_MIDRIGHT
60 #define GBN_BUTTON_RETREAT BUTTON_BOTTOMLEFT
61 #define GBN_BUTTON_ADVANCE BUTTON_BOTTOMRIGHT
62 #define GBN_BUTTON_MENU BUTTON_TOPLEFT
63 #define GBN_BUTTON_PLAY BUTTON_CENTER | BUTTON_REL
64 #define GBN_BUTTON_CONTEXT BUTTON_CENTER | BUTTON_REPEAT
65 #define GBN_BUTTON_NEXT_VAR BUTTON_TOPRIGHT
67 #elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) \
68 || (CONFIG_KEYPAD == IPOD_3G_PAD) \
69 || (CONFIG_KEYPAD == IPOD_4G_PAD)
70 #define GBN_BUTTON_UP BUTTON_MENU
71 #define GBN_BUTTON_DOWN BUTTON_PLAY
72 #define GBN_BUTTON_LEFT BUTTON_LEFT
73 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
74 #define GBN_BUTTON_RETREAT BUTTON_SCROLL_BACK
75 #define GBN_BUTTON_ADVANCE BUTTON_SCROLL_FWD
76 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
77 #define GBN_BUTTON_MENU BUTTON_SELECT | BUTTON_REPEAT
78 /* no context */
79 /* no next var */
81 #elif (CONFIG_KEYPAD == SANSA_E200_PAD)
82 #define GBN_BUTTON_UP BUTTON_UP
83 #define GBN_BUTTON_DOWN BUTTON_DOWN
84 #define GBN_BUTTON_LEFT BUTTON_LEFT
85 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
86 #define GBN_BUTTON_RETREAT BUTTON_SCROLL_BACK
87 #define GBN_BUTTON_ADVANCE BUTTON_SCROLL_FWD
88 #define GBN_BUTTON_MENU BUTTON_POWER
89 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
90 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
91 #define GBN_BUTTON_NEXT_VAR BUTTON_REC
93 #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
94 #define GBN_BUTTON_UP BUTTON_UP
95 #define GBN_BUTTON_DOWN BUTTON_DOWN
96 #define GBN_BUTTON_LEFT BUTTON_LEFT
97 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
98 #define GBN_BUTTON_RETREAT BUTTON_SCROLL_BACK
99 #define GBN_BUTTON_ADVANCE BUTTON_SCROLL_FWD
100 #define GBN_BUTTON_MENU (BUTTON_HOME|BUTTON_REPEAT)
101 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
102 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
103 /* No next var */
105 #elif (CONFIG_KEYPAD == SANSA_C200_PAD)
106 #define GBN_BUTTON_UP BUTTON_UP
107 #define GBN_BUTTON_DOWN BUTTON_DOWN
108 #define GBN_BUTTON_LEFT BUTTON_LEFT
109 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
110 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
111 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
112 #define GBN_BUTTON_MENU BUTTON_POWER
113 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
114 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
115 #define GBN_BUTTON_NEXT_VAR BUTTON_REC
117 #elif (CONFIG_KEYPAD == SANSA_CLIP_PAD)
118 #define GBN_BUTTON_UP BUTTON_UP
119 #define GBN_BUTTON_DOWN BUTTON_DOWN
120 #define GBN_BUTTON_LEFT BUTTON_LEFT
121 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
122 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
123 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
124 #define GBN_BUTTON_MENU BUTTON_POWER
125 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
126 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
127 #define GBN_BUTTON_NEXT_VAR BUTTON_HOME
129 #elif (CONFIG_KEYPAD == SANSA_M200_PAD)
130 #define GBN_BUTTON_UP BUTTON_UP
131 #define GBN_BUTTON_DOWN BUTTON_DOWN
132 #define GBN_BUTTON_LEFT BUTTON_LEFT
133 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
134 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
135 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
136 #define GBN_BUTTON_MENU BUTTON_POWER
137 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
138 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
139 /* No next var */
141 #elif (CONFIG_KEYPAD == SANSA_CONNECT_PAD)
142 #define GBN_BUTTON_UP BUTTON_UP
143 #define GBN_BUTTON_DOWN BUTTON_DOWN
144 #define GBN_BUTTON_LEFT BUTTON_LEFT
145 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
146 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
147 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
148 #define GBN_BUTTON_MENU BUTTON_POWER
149 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
150 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
151 #define GBN_BUTTON_NEXT_VAR BUTTON_NEXT
154 #elif (CONFIG_KEYPAD == CREATIVEZVM_PAD) \
155 || (CONFIG_KEYPAD == CREATIVEZV_PAD)
156 #define GBN_BUTTON_UP BUTTON_UP
157 #define GBN_BUTTON_DOWN BUTTON_DOWN
158 #define GBN_BUTTON_LEFT BUTTON_LEFT
159 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
160 #define GBN_BUTTON_RETREAT BUTTON_BACK
161 #define GBN_BUTTON_ADVANCE BUTTON_CUSTOM
162 #define GBN_BUTTON_MENU BUTTON_MENU
163 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
164 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
165 #define GBN_BUTTON_NEXT_VAR BUTTON_PLAY
167 #elif (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD)
168 #define GBN_BUTTON_UP BUTTON_UP
169 #define GBN_BUTTON_DOWN BUTTON_DOWN
170 #define GBN_BUTTON_LEFT BUTTON_LEFT
171 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
172 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
173 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
174 #define GBN_BUTTON_MENU BUTTON_MENU
175 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
176 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
177 #define GBN_BUTTON_NEXT_VAR BUTTON_VIEW
179 #elif (CONFIG_KEYPAD == PHILIPS_HDD6330_PAD)
180 #define GBN_BUTTON_UP BUTTON_UP
181 #define GBN_BUTTON_DOWN BUTTON_DOWN
182 #define GBN_BUTTON_LEFT BUTTON_LEFT
183 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
184 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
185 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
186 #define GBN_BUTTON_MENU BUTTON_MENU
187 #define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
188 #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
189 #define GBN_BUTTON_NEXT_VAR BUTTON_NEXT
191 #elif (CONFIG_KEYPAD == PHILIPS_SA9200_PAD)
192 #define GBN_BUTTON_UP BUTTON_UP
193 #define GBN_BUTTON_DOWN BUTTON_DOWN
194 #define GBN_BUTTON_LEFT BUTTON_PREV
195 #define GBN_BUTTON_RIGHT BUTTON_NEXT
196 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
197 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
198 #define GBN_BUTTON_MENU BUTTON_MENU
199 #define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
200 #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
201 #define GBN_BUTTON_NEXT_VAR BUTTON_RIGHT
203 #elif (CONFIG_KEYPAD == GIGABEAT_PAD)
204 #define GBN_BUTTON_UP BUTTON_UP
205 #define GBN_BUTTON_DOWN BUTTON_DOWN
206 #define GBN_BUTTON_LEFT BUTTON_LEFT
207 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
208 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
209 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
210 #define GBN_BUTTON_MENU BUTTON_MENU
211 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
212 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
213 #define GBN_BUTTON_NEXT_VAR BUTTON_A
215 #elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
216 #define GBN_BUTTON_UP BUTTON_UP
217 #define GBN_BUTTON_DOWN BUTTON_DOWN
218 #define GBN_BUTTON_LEFT BUTTON_LEFT
219 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
220 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
221 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
222 #define GBN_BUTTON_MENU BUTTON_MENU
223 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
224 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
225 #define GBN_BUTTON_NEXT_VAR BUTTON_PLAY
227 #elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
228 #define GBN_BUTTON_UP BUTTON_SCROLL_UP
229 #define GBN_BUTTON_DOWN BUTTON_SCROLL_DOWN
230 #define GBN_BUTTON_LEFT BUTTON_LEFT
231 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
232 #define GBN_BUTTON_RETREAT BUTTON_FF
233 #define GBN_BUTTON_ADVANCE BUTTON_REW
234 #define GBN_BUTTON_MENU BUTTON_POWER
235 #define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
236 #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
237 /* No next var */
239 #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
240 (CONFIG_KEYPAD == IRIVER_H300_PAD)
241 #define GBN_BUTTON_UP BUTTON_UP
242 #define GBN_BUTTON_DOWN BUTTON_DOWN
243 #define GBN_BUTTON_LEFT BUTTON_LEFT
244 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
245 #define GBN_BUTTON_RETREAT BUTTON_OFF
246 #define GBN_BUTTON_ADVANCE BUTTON_ON
247 #define GBN_BUTTON_MENU BUTTON_MODE
248 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
249 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
250 #define GBN_BUTTON_NEXT_VAR BUTTON_REC
252 #elif (CONFIG_KEYPAD == MROBE100_PAD)
253 #define GBN_BUTTON_UP BUTTON_UP
254 #define GBN_BUTTON_DOWN BUTTON_DOWN
255 #define GBN_BUTTON_LEFT BUTTON_LEFT
256 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
257 #define GBN_BUTTON_RETREAT BUTTON_MENU
258 #define GBN_BUTTON_ADVANCE BUTTON_PLAY
259 #define GBN_BUTTON_MENU BUTTON_DISPLAY
260 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
261 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
262 #define GBN_BUTTON_NEXT_VAR BUTTON_POWER
264 #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
265 #define GBN_BUTTON_UP BUTTON_UP
266 #define GBN_BUTTON_DOWN BUTTON_DOWN
267 #define GBN_BUTTON_LEFT BUTTON_LEFT
268 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
269 #define GBN_BUTTON_RETREAT BUTTON_PLAY
270 #define GBN_BUTTON_ADVANCE BUTTON_REC
271 #define GBN_BUTTON_MENU BUTTON_POWER
272 #define GBN_BUTTON_PLAY BUTTON_SELECT | BUTTON_REL
273 #define GBN_BUTTON_CONTEXT BUTTON_SELECT | BUTTON_REPEAT
274 /* no next var */
276 #elif (CONFIG_KEYPAD == IAUDIO_M3_PAD)
277 /* TODO: these are basically complete guesses, I have no manual to go by */
278 #define GBN_BUTTON_UP BUTTON_RC_VOL_UP
279 #define GBN_BUTTON_DOWN BUTTON_RC_VOL_DOWN
280 #define GBN_BUTTON_LEFT BUTTON_RC_REW
281 #define GBN_BUTTON_RIGHT BUTTON_RC_FF
282 #define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
283 #define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
284 #define GBN_BUTTON_MENU BUTTON_MODE
285 #define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
286 #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
287 /* no next var */
289 #elif (CONFIG_KEYPAD == RECORDER_PAD)
290 #define GBN_BUTTON_UP BUTTON_UP
291 #define GBN_BUTTON_DOWN BUTTON_DOWN
292 #define GBN_BUTTON_LEFT BUTTON_LEFT
293 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
294 #define GBN_BUTTON_RETREAT BUTTON_F1
295 #define GBN_BUTTON_ADVANCE BUTTON_F3
296 #define GBN_BUTTON_MENU BUTTON_F2
297 #define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_REL
298 #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_REPEAT
299 #define GBN_BUTTON_NEXT_VAR BUTTON_ON
301 #elif (CONFIG_KEYPAD == ONDIO_PAD)
302 #define GBN_BUTTON_UP BUTTON_UP
303 #define GBN_BUTTON_DOWN BUTTON_DOWN
304 #define GBN_BUTTON_LEFT BUTTON_LEFT
305 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
306 #define GBN_BUTTON_MENU BUTTON_MENU | BUTTON_REPEAT
307 #define GBN_BUTTON_PLAY BUTTON_MENU | BUTTON_REL
308 #define GBN_BUTTON_NAV_MODE BUTTON_OFF
310 #elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD)
311 #define GBN_BUTTON_UP BUTTON_UP
312 #define GBN_BUTTON_DOWN BUTTON_DOWN
313 #define GBN_BUTTON_LEFT BUTTON_LEFT
314 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
315 #define GBN_BUTTON_RETREAT BUTTON_REW
316 #define GBN_BUTTON_ADVANCE BUTTON_FFWD
317 #define GBN_BUTTON_MENU BUTTON_PLAY | BUTTON_LEFT
318 #define GBN_BUTTON_PLAY BUTTON_PLAY | BUTTON_RIGHT
319 #define GBN_BUTTON_CONTEXT BUTTON_PLAY | BUTTON_DOWN
320 #define GBN_BUTTON_NEXT_VAR BUTTON_PLAY | BUTTON_UP
321 /* No context */
322 /* No advance/retreat */
323 /* no next var */
325 #elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
326 #define GBN_BUTTON_UP BUTTON_UP
327 #define GBN_BUTTON_DOWN BUTTON_DOWN
328 #define GBN_BUTTON_LEFT BUTTON_PREV
329 #define GBN_BUTTON_RIGHT BUTTON_NEXT
330 #define GBN_BUTTON_RETREAT (BUTTON_OK | BUTTON_PREV)
331 #define GBN_BUTTON_ADVANCE (BUTTON_OK | BUTTON_NEXT)
332 #define GBN_BUTTON_MENU BUTTON_MENU
333 #define GBN_BUTTON_PLAY BUTTON_PLAY
334 #define GBN_BUTTON_CONTEXT BUTTON_OK
335 #define GBN_BUTTON_NEXT_VAR BUTTON_CANCEL
337 #elif (CONFIG_KEYPAD == MPIO_HD200_PAD)
338 #define GBN_BUTTON_UP BUTTON_REW
339 #define GBN_BUTTON_DOWN BUTTON_FF
340 #define GBN_BUTTON_LEFT BUTTON_VOL_DOWN
341 #define GBN_BUTTON_RIGHT BUTTON_VOL_UP
342 #define GBN_BUTTON_RETREAT (BUTTON_REC | BUTTON_REW)
343 #define GBN_BUTTON_ADVANCE (BUTTON_REC | BUTTON_FF)
344 #define GBN_BUTTON_PLAY (BUTTON_FUNC | BUTTON_REL)
345 #define GBN_BUTTON_MENU BUTTON_PLAY
346 #define GBN_BUTTON_CONTEXT (BUTTON_FUNC | BUTTON_REPEAT)
347 #define GBN_BUTTON_NEXT_VAR BUTTON_REC
349 #elif (CONFIG_KEYPAD == MPIO_HD300_PAD)
350 #define GBN_BUTTON_UP BUTTON_UP
351 #define GBN_BUTTON_DOWN BUTTON_DOWN
352 #define GBN_BUTTON_LEFT BUTTON_REW
353 #define GBN_BUTTON_RIGHT BUTTON_FF
354 #define GBN_BUTTON_RETREAT (BUTTON_REC | BUTTON_REW)
355 #define GBN_BUTTON_ADVANCE (BUTTON_REC | BUTTON_FF)
356 #define GBN_BUTTON_PLAY (BUTTON_ENTER | BUTTON_REL)
357 #define GBN_BUTTON_CONTEXT (BUTTON_ENTER | BUTTON_REPEAT)
358 #define GBN_BUTTON_MENU BUTTON_MENU
359 #define GBN_BUTTON_NEXT_VAR BUTTON_REC
361 #elif (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD)
362 #define GBN_BUTTON_UP BUTTON_UP
363 #define GBN_BUTTON_DOWN BUTTON_DOWN
364 #define GBN_BUTTON_LEFT BUTTON_LEFT
365 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
366 #define GBN_BUTTON_MENU BUTTON_POWER
367 #define GBN_BUTTON_PLAY BUTTON_SELECT
368 #define GBN_BUTTON_RETREAT BUTTON_BACK
369 #define GBN_BUTTON_ADVANCE BUTTON_PLAYPAUSE
370 #define GBN_BUTTON_CONTEXT BUTTON_BOTTOMLEFT
371 #define GBN_BUTTON_NEXT_VAR BUTTON_BOTTOMRIGHT
373 #elif (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
374 #define GBN_BUTTON_UP BUTTON_UP
375 #define GBN_BUTTON_DOWN BUTTON_DOWN
376 #define GBN_BUTTON_LEFT BUTTON_LEFT
377 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
378 #define GBN_BUTTON_RETREAT BUTTON_BACK
379 #define GBN_BUTTON_ADVANCE BUTTON_USER
380 #define GBN_BUTTON_PLAY BUTTON_SELECT
381 #define GBN_BUTTON_MENU BUTTON_MENU
383 #elif (CONFIG_KEYPAD == HM60X_PAD)
384 #define GBN_BUTTON_UP BUTTON_UP
385 #define GBN_BUTTON_DOWN BUTTON_DOWN
386 #define GBN_BUTTON_LEFT BUTTON_LEFT
387 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
388 #define GBN_BUTTON_MENU BUTTON_POWER
389 #define GBN_BUTTON_PLAY BUTTON_SELECT
390 #define GBN_BUTTON_RETREAT (BUTTON_POWER | BUTTON_LEFT)
391 #define GBN_BUTTON_ADVANCE (BUTTON_POWER | BUTTON_UP)
392 #define GBN_BUTTON_CONTEXT (BUTTON_POWER | BUTTON_DOWN)
393 #define GBN_BUTTON_NEXT_VAR (BUTTON_POWER | BUTTON_RIGHT)
395 #elif (CONFIG_KEYPAD == HM801_PAD)
396 #define GBN_BUTTON_UP BUTTON_UP
397 #define GBN_BUTTON_DOWN BUTTON_DOWN
398 #define GBN_BUTTON_LEFT BUTTON_LEFT
399 #define GBN_BUTTON_RIGHT BUTTON_RIGHT
400 #define GBN_BUTTON_MENU BUTTON_POWER
401 #define GBN_BUTTON_PLAY BUTTON_SELECT
402 #define GBN_BUTTON_RETREAT BUTTON_PREV
403 #define GBN_BUTTON_ADVANCE (BUTTON_POWER | BUTTON_PLAY)
404 #define GBN_BUTTON_CONTEXT BUTTON_PLAY
405 #define GBN_BUTTON_NEXT_VAR BUTTON_NEXT
407 #else
408 #error Unsupported keypad
409 #endif
412 /* The smallest dimension of the LCD */
413 #define LCD_MIN_DIMENSION (LCD_HEIGHT > LCD_WIDTH ? LCD_WIDTH : LCD_HEIGHT)
416 /* Determine if we have a wide screen or a tall screen. This is used to
417 place the board and footer in acceptable locations also, set the
418 LCD_BOARD_SIZE, making sure that we have at least 16 pixels for the
419 "footer" on either the bottom or the right. */
421 #define FOOTER_RESERVE (16)
423 #if (LCD_WIDTH > LCD_HEIGHT)
425 #define GBN_WIDE_SCREEN
427 #define LCD_BOARD_WIDTH (LCD_WIDTH - FOOTER_RESERVE)
428 #define LCD_BOARD_HEIGHT LCD_HEIGHT
430 #else
432 #define GBN_TALL_SCREEN
434 #define LCD_BOARD_WIDTH LCD_WIDTH
435 #define LCD_BOARD_HEIGHT (LCD_HEIGHT - FOOTER_RESERVE)
437 #endif /* LCD_WIDTH > LCD_HEIGHT */
440 /* The directory we default to for saving crap */
441 #define DEFAULT_SAVE_DIR PLUGIN_GAMES_DIR "/goban"
443 /* The default file we save to */
444 #define DEFAULT_SAVE (DEFAULT_SAVE_DIR "/goban_d.sgf")
446 /* The size of the buffer we store filenames in (1 reserved for '\0') */
447 #define SAVE_FILE_LENGTH 256
449 /* The maximum setting for idle autosave time, in minutes */
450 #define MAX_AUTOSAVE (30)
452 /* On mono targets, draw while stones with a black outline so they are
453 actually visibile instead of being white on white */
454 #if (LCD_DEPTH == 1)
455 #define OUTLINE_STONES
456 #endif
458 /* The current play mode */
459 extern enum play_mode_t play_mode;
461 /* Show comments when redoing onto a move? */
462 extern bool auto_show_comments;
464 /* A stack used for parsing/outputting as well as some board functions
465 such as counting liberties and filling in/ removing stones */
466 extern struct stack_t parse_stack;
468 #endif