summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/battery_bench.c3
-rw-r--r--apps/plugins/bitmaps/mono/SOURCES3
-rw-r--r--apps/plugins/bitmaps/native/SOURCES22
-rw-r--r--apps/plugins/bitmaps/native/bubbles_background.360x400x16.bmpbin0 -> 432054 bytes
-rw-r--r--apps/plugins/bitmaps/native/bubbles_emblem.360x400x16.bmpbin0 -> 12022 bytes
-rw-r--r--apps/plugins/bitmaps/native/invadrox_background.360x400x16.bmpbin0 -> 144634 bytes
-rw-r--r--apps/plugins/bitmaps/native/jewels.360x400x16.bmpbin0 -> 140814 bytes
-rw-r--r--apps/plugins/bitmaps/native/rockblox_background.360x400x16.bmpbin0 -> 432054 bytes
-rw-r--r--apps/plugins/bitmaps/native/sliding_puzzle.360x360x16.bmpbin0 -> 388854 bytes
-rw-r--r--apps/plugins/bitmaps/native/snake2_bottom.360x400x16.bmpbin0 -> 10854 bytes
-rw-r--r--apps/plugins/bitmaps/native/snake2_header1.360x400x16.bmpbin0 -> 41094 bytes
-rw-r--r--apps/plugins/bitmaps/native/snake2_header2.360x400x16.bmpbin0 -> 41094 bytes
-rw-r--r--apps/plugins/bitmaps/native/snake2_left.360x400x16.bmpbin0 -> 6326 bytes
-rw-r--r--apps/plugins/bitmaps/native/snake2_right.360x400x16.bmpbin0 -> 6326 bytes
-rw-r--r--apps/plugins/blackjack.c4
-rw-r--r--apps/plugins/brickmania.c3
-rw-r--r--apps/plugins/bubbles.c11
-rw-r--r--apps/plugins/calculator.c3
-rw-r--r--apps/plugins/calendar.c3
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h3
-rw-r--r--apps/plugins/chessclock.c3
-rw-r--r--apps/plugins/chip8.c3
-rw-r--r--apps/plugins/clix.c3
-rw-r--r--apps/plugins/cube.c3
-rw-r--r--apps/plugins/doom/i_video.c4
-rw-r--r--apps/plugins/flipit.c3
-rw-r--r--apps/plugins/fractals/fractal.h3
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h3
-rw-r--r--apps/plugins/invadrox.c20
-rw-r--r--apps/plugins/jewels.c3
-rw-r--r--apps/plugins/lib/keymaps.h12
-rw-r--r--apps/plugins/lib/pluginlib_actions.c2
-rw-r--r--apps/plugins/midi/midiplay.c3
-rw-r--r--apps/plugins/minesweeper.c3
-rw-r--r--apps/plugins/mp3_encoder.c3
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c3
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c3
-rw-r--r--apps/plugins/oscilloscope.c3
-rw-r--r--apps/plugins/pacbox/pacbox.h10
-rw-r--r--apps/plugins/pegbox.c3
-rw-r--r--apps/plugins/pong.c3
-rw-r--r--apps/plugins/reversi/reversi-gui.h3
-rw-r--r--apps/plugins/rockblox.c19
-rw-r--r--apps/plugins/rockboy/rockboy.c3
-rw-r--r--apps/plugins/rockpaint.c3
-rw-r--r--apps/plugins/sliding_puzzle.c3
-rw-r--r--apps/plugins/snake.c3
-rw-r--r--apps/plugins/snake2.c15
-rw-r--r--apps/plugins/sokoban.c3
-rw-r--r--apps/plugins/solitaire.c3
-rw-r--r--apps/plugins/spacerocks.c3
-rw-r--r--apps/plugins/star.c4
-rw-r--r--apps/plugins/stopwatch.lua2
-rw-r--r--apps/plugins/sudoku/sudoku.h3
-rw-r--r--apps/plugins/test_touchscreen.c5
-rw-r--r--apps/plugins/text_viewer/tv_button.h3
-rw-r--r--apps/plugins/vu_meter.c3
-rw-r--r--apps/plugins/wormlet.c6
-rw-r--r--apps/plugins/xobox.c3
-rw-r--r--apps/plugins/zxbox/keymaps.h3
60 files changed, 235 insertions, 6 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index 2534e3bebe..6c477cbd09 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -234,6 +234,9 @@
234#define BATTERY_ON_TXT "Play" 234#define BATTERY_ON_TXT "Play"
235#define BATTERY_OFF_TXT "Power" 235#define BATTERY_OFF_TXT "Power"
236 236
237#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
238/* use touchscreen */
239
237#else 240#else
238#error "No keymap defined!" 241#error "No keymap defined!"
239#endif 242#endif
diff --git a/apps/plugins/bitmaps/mono/SOURCES b/apps/plugins/bitmaps/mono/SOURCES
index e6a24b2bc5..eb00bd9e8a 100644
--- a/apps/plugins/bitmaps/mono/SOURCES
+++ b/apps/plugins/bitmaps/mono/SOURCES
@@ -19,7 +19,8 @@ bubbles_bubble.138x110x1.bmp
19 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 19 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220))
20bubbles_bubble.220x176x1.bmp 20bubbles_bubble.220x176x1.bmp
21#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 21#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \
22 ((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)) 22 ((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)) || \
23 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
23bubbles_bubble.320x240x1.bmp 24bubbles_bubble.320x240x1.bmp
24#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \ 25#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \
25 ((LCD_WIDTH == 480) && (LCD_HEIGHT == 640)) 26 ((LCD_WIDTH == 480) && (LCD_HEIGHT == 640))
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 48eb18dfa4..37d0060213 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -158,6 +158,9 @@ jackpot_slots.30x420x1.bmp
158 ((LCD_WIDTH >= 480) && (LCD_HEIGHT >= 640)) 158 ((LCD_WIDTH >= 480) && (LCD_HEIGHT >= 640))
159bubbles_emblem.640x480x16.bmp 159bubbles_emblem.640x480x16.bmp
160bubbles_background.640x480x16.bmp 160bubbles_background.640x480x16.bmp
161#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400)
162bubbles_emblem.360x400x16.bmp
163bubbles_background.360x400x16.bmp
161#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) 164#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
162bubbles_emblem.320x240x16.bmp 165bubbles_emblem.320x240x16.bmp
163bubbles_background.320x240x16.bmp 166bubbles_background.320x240x16.bmp
@@ -388,7 +391,9 @@ invadrox_shield.22x16x16.bmp
388invadrox_ufo.16x7x16.bmp 391invadrox_ufo.16x7x16.bmp
389invadrox_ufo_explode.21x8x16.bmp 392invadrox_ufo_explode.21x8x16.bmp
390invadrox_numbers.50x7x16.bmp 393invadrox_numbers.50x7x16.bmp
391#if LCD_WIDTH == 320 394#if LCD_WIDTH == 360 && LCD_HEIGHT == 400
395invadrox_background.360x400x16.bmp
396#elif LCD_WIDTH == 320
392invadrox_background.320x240x16.bmp 397invadrox_background.320x240x16.bmp
393#elif LCD_WIDTH == 240 398#elif LCD_WIDTH == 240
394invadrox_background.240x320x16.bmp 399invadrox_background.240x320x16.bmp
@@ -457,6 +462,8 @@ jewels.220x176x16.bmp
457jewels.320x240x16.bmp 462jewels.320x240x16.bmp
458#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) 463#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
459jewels.320x240x16.bmp 464jewels.320x240x16.bmp
465#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
466jewels.360x400x16.bmp
460#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \ 467#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \
461 ((LCD_WIDTH == 480) && (LCD_HEIGHT == 640)) 468 ((LCD_WIDTH == 480) && (LCD_HEIGHT == 640))
462jewels.640x480x16.bmp 469jewels.640x480x16.bmp
@@ -546,6 +553,8 @@ puzzles_cursor.11x16x24.bmp
546#if LCD_DEPTH >= 16 /* colour versions*/ 553#if LCD_DEPTH >= 16 /* colour versions*/
547#if (LCD_WIDTH == 640) && (LCD_HEIGHT == 480) 554#if (LCD_WIDTH == 640) && (LCD_HEIGHT == 480)
548rockblox_background.640x480x16.bmp 555rockblox_background.640x480x16.bmp
556#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
557rockblox_background.360x400x16.bmp
549#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) 558#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
550rockblox_background.320x240x16.bmp 559rockblox_background.320x240x16.bmp
551#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320) 560#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
@@ -603,6 +612,12 @@ snake2_header2.640x480x16.bmp
603snake2_left.640x480x16.bmp 612snake2_left.640x480x16.bmp
604snake2_right.640x480x16.bmp 613snake2_right.640x480x16.bmp
605snake2_bottom.640x480x16.bmp 614snake2_bottom.640x480x16.bmp
615#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400) && (LCD_DEPTH >= 16)
616snake2_header1.360x400x16.bmp
617snake2_header2.360x400x16.bmp
618snake2_left.360x400x16.bmp
619snake2_right.360x400x16.bmp
620snake2_bottom.360x400x16.bmp
606#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16) 621#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
607snake2_header1.320x240x16.bmp 622snake2_header1.320x240x16.bmp
608snake2_header2.320x240x16.bmp 623snake2_header2.320x240x16.bmp
@@ -874,7 +889,8 @@ superdom_boarditems.176x132x16.bmp
874#elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240) 889#elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240)
875superdom_boarditems.320x240x16.bmp 890superdom_boarditems.320x240x16.bmp
876#elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \ 891#elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \
877 ((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) 892 ((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) || \
893 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
878superdom_boarditems.240x320x16.bmp 894superdom_boarditems.240x320x16.bmp
879#elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640) 895#elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640)
880superdom_boarditems.480x640x16.bmp 896superdom_boarditems.480x640x16.bmp
@@ -911,6 +927,8 @@ sliding_puzzle.132x132x16.bmp
911sliding_puzzle.176x176x16.bmp 927sliding_puzzle.176x176x16.bmp
912#elif SMALLER_DIMENSION <= 240 928#elif SMALLER_DIMENSION <= 240
913sliding_puzzle.240x240x16.bmp 929sliding_puzzle.240x240x16.bmp
930#elif SMALLER_DIMENSION <= 360
931sliding_puzzle.360x360x16.bmp
914#elif SMALLER_DIMENSION <= 480 932#elif SMALLER_DIMENSION <= 480
915sliding_puzzle.480x480x16.bmp 933sliding_puzzle.480x480x16.bmp
916#endif 934#endif
diff --git a/apps/plugins/bitmaps/native/bubbles_background.360x400x16.bmp b/apps/plugins/bitmaps/native/bubbles_background.360x400x16.bmp
new file mode 100644
index 0000000000..46d8133911
--- /dev/null
+++ b/apps/plugins/bitmaps/native/bubbles_background.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/bubbles_emblem.360x400x16.bmp b/apps/plugins/bitmaps/native/bubbles_emblem.360x400x16.bmp
new file mode 100644
index 0000000000..d34e466749
--- /dev/null
+++ b/apps/plugins/bitmaps/native/bubbles_emblem.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/invadrox_background.360x400x16.bmp b/apps/plugins/bitmaps/native/invadrox_background.360x400x16.bmp
new file mode 100644
index 0000000000..14c687a940
--- /dev/null
+++ b/apps/plugins/bitmaps/native/invadrox_background.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/jewels.360x400x16.bmp b/apps/plugins/bitmaps/native/jewels.360x400x16.bmp
new file mode 100644
index 0000000000..5cd35f2162
--- /dev/null
+++ b/apps/plugins/bitmaps/native/jewels.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/rockblox_background.360x400x16.bmp b/apps/plugins/bitmaps/native/rockblox_background.360x400x16.bmp
new file mode 100644
index 0000000000..b2b1289045
--- /dev/null
+++ b/apps/plugins/bitmaps/native/rockblox_background.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.360x360x16.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.360x360x16.bmp
new file mode 100644
index 0000000000..e74e3ecb6f
--- /dev/null
+++ b/apps/plugins/bitmaps/native/sliding_puzzle.360x360x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/snake2_bottom.360x400x16.bmp b/apps/plugins/bitmaps/native/snake2_bottom.360x400x16.bmp
new file mode 100644
index 0000000000..f6da503ab3
--- /dev/null
+++ b/apps/plugins/bitmaps/native/snake2_bottom.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/snake2_header1.360x400x16.bmp b/apps/plugins/bitmaps/native/snake2_header1.360x400x16.bmp
new file mode 100644
index 0000000000..f88acf2571
--- /dev/null
+++ b/apps/plugins/bitmaps/native/snake2_header1.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/snake2_header2.360x400x16.bmp b/apps/plugins/bitmaps/native/snake2_header2.360x400x16.bmp
new file mode 100644
index 0000000000..2acccd36b4
--- /dev/null
+++ b/apps/plugins/bitmaps/native/snake2_header2.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/snake2_left.360x400x16.bmp b/apps/plugins/bitmaps/native/snake2_left.360x400x16.bmp
new file mode 100644
index 0000000000..eac0c8e601
--- /dev/null
+++ b/apps/plugins/bitmaps/native/snake2_left.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/bitmaps/native/snake2_right.360x400x16.bmp b/apps/plugins/bitmaps/native/snake2_right.360x400x16.bmp
new file mode 100644
index 0000000000..316f40cb4c
--- /dev/null
+++ b/apps/plugins/bitmaps/native/snake2_right.360x400x16.bmp
Binary files differ
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 4242f5a89f..24cfbe583c 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -607,6 +607,10 @@ enum {
607#define BJACK_RIGHT BUTTON_RIGHT 607#define BJACK_RIGHT BUTTON_RIGHT
608#define BJACK_LEFT BUTTON_LEFT 608#define BJACK_LEFT BUTTON_LEFT
609 609
610#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
611#define BJACK_QUIT BUTTON_POWER
612#define BJACK_QUIT_NAME "QUIT"
613
610#else 614#else
611#error No keymap defined! 615#error No keymap defined!
612#endif 616#endif
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 92f8d4d161..4983d5a417 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -350,6 +350,9 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
350#define UP BUTTON_UP 350#define UP BUTTON_UP
351#define DOWN BUTTON_DOWN 351#define DOWN BUTTON_DOWN
352 352
353#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
354#define QUIT BUTTON_POWER
355
353#else 356#else
354#error No keymap defined! 357#error No keymap defined!
355#endif 358#endif
diff --git a/apps/plugins/bubbles.c b/apps/plugins/bubbles.c
index 50de10fa23..ffc814e7a0 100644
--- a/apps/plugins/bubbles.c
+++ b/apps/plugins/bubbles.c
@@ -120,6 +120,17 @@ enum {
120#define XOFS 128 120#define XOFS 128
121#define MAX_FPS 40 121#define MAX_FPS 40
122 122
123#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
124#define XOFS 86
125#define YOFS 100
126#define SCORE_TXT_X 28
127#define SCORE_TXT_WIDTH 32
128#define SCORE_TXT_Y 48
129#define LEVEL_TXT_X 27
130#define LEVEL_TXT_WIDTH 32
131#define LEVEL_TXT_Y 5
132#define MAX_FPS 40
133
123/* 22x22 bubbles (iPod Video) */ 134/* 22x22 bubbles (iPod Video) */
124#elif (LCD_HEIGHT == 240) && (LCD_WIDTH == 320) 135#elif (LCD_HEIGHT == 240) && (LCD_WIDTH == 320)
125#define XOFS 72 136#define XOFS 72
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index cbaea8aa7e..bd09330529 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -533,6 +533,9 @@ F3: equal to "="
533#define CALCULATOR_CALC BUTTON_MENU 533#define CALCULATOR_CALC BUTTON_MENU
534#define CALCULATOR_CLEAR BUTTON_BACK 534#define CALCULATOR_CLEAR BUTTON_BACK
535 535
536#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
537#define CALCULATOR_QUIT BUTTON_POWER
538
536#else 539#else
537#error No keymap defined! 540#error No keymap defined!
538#endif 541#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index e7f221a3c9..3299a81273 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -421,6 +421,9 @@
421#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP 421#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
422#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN 422#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
423 423
424#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
425/* use touchscreen */
426
424#else 427#else
425#error "No keypad setting." 428#error "No keypad setting."
426#endif 429#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 827f045a4b..9d4f369ecc 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -581,6 +581,9 @@
581#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 581#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
582#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 582#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
583 583
584#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
585/* use touchscreen */
586
584#else 587#else
585#error No keymap defined! 588#error No keymap defined!
586#endif 589#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 91b04e713a..3d03cb9f6a 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -395,6 +395,9 @@
395#define CHC_SETTINGS_OK BUTTON_SELECT 395#define CHC_SETTINGS_OK BUTTON_SELECT
396#define CHC_SETTINGS_CANCEL BUTTON_POWER 396#define CHC_SETTINGS_CANCEL BUTTON_POWER
397 397
398#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
399#define CHC_QUIT BUTTON_POWER
400
398#else 401#else
399#error No keymap defined! 402#error No keymap defined!
400#endif 403#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 31866acd10..ac7f998690 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1291,6 +1291,9 @@ CONFIG_KEYPAD == MROBE500_PAD
1291#define CHIP8_KEY6 BUTTON_RIGHT 1291#define CHIP8_KEY6 BUTTON_RIGHT
1292#define CHIP8_KEY8 BUTTON_BACK 1292#define CHIP8_KEY8 BUTTON_BACK
1293 1293
1294#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
1295/* use touchscreen */
1296
1294#else 1297#else
1295#error No keymap defined! 1298#error No keymap defined!
1296#endif 1299#endif
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index c127a300f2..9cd66a8034 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -316,6 +316,9 @@
316#define CLIX_BUTTON_RIGHT BUTTON_RIGHT 316#define CLIX_BUTTON_RIGHT BUTTON_RIGHT
317#define CLIX_BUTTON_CLICK BUTTON_SELECT 317#define CLIX_BUTTON_CLICK BUTTON_SELECT
318 318
319#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
320#define CLIX_BUTTON_QUIT BUTTON_POWER
321
319#else 322#else
320#error "no keymap" 323#error "no keymap"
321#endif 324#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 857f2415d4..dfd7df8951 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -400,6 +400,9 @@
400#define CUBE_PAUSE BUTTON_PLAY 400#define CUBE_PAUSE BUTTON_PLAY
401#define CUBE_HIGHSPEED BUTTON_BACK 401#define CUBE_HIGHSPEED BUTTON_BACK
402 402
403#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
404/* use touchscreen */
405
403#else 406#else
404#error No keymap defined! 407#error No keymap defined!
405#endif 408#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 2381a7614d..f5d07a8354 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -614,6 +614,10 @@ void I_ShutdownGraphics(void)
614#define DOOMBUTTON_WEAPON BUTTON_VOL_UP 614#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
615#define DOOMBUTTON_MAP BUTTON_VOL_DOWN 615#define DOOMBUTTON_MAP BUTTON_VOL_DOWN
616 616
617#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
618#define DOOMBUTTON_ESC BUTTON_POWER
619#define DOOMBUTTON_MAP BUTTON_PREV
620
617#else 621#else
618#error Keymap not defined! 622#error Keymap not defined!
619#endif 623#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index f6fb059f91..c659cf5ba5 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -496,6 +496,9 @@
496#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP 496#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP
497#define FLIPIT_TOGGLE BUTTON_SELECT 497#define FLIPIT_TOGGLE BUTTON_SELECT
498 498
499#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
500/* use touchscreen */
501
499#else 502#else
500#error No keymap defined! 503#error No keymap defined!
501#endif 504#endif
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index b64bf942fe..8e9446df0d 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -504,6 +504,9 @@
504#define FRACTAL_PRECISION_DEC BUTTON_BACK 504#define FRACTAL_PRECISION_DEC BUTTON_BACK
505#define FRACTAL_RESET BUTTON_PLAY 505#define FRACTAL_RESET BUTTON_PLAY
506 506
507#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
508#define FRACTAL_QUIT BUTTON_POWER
509
507#else 510#else
508#error No keymap defined! 511#error No keymap defined!
509#endif 512#endif
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index d588de95ca..e6cd2ac089 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -539,6 +539,9 @@
539#define IMGVIEW_MENU BUTTON_POWER 539#define IMGVIEW_MENU BUTTON_POWER
540#define IMGVIEW_SLIDE_SHOW BUTTON_PLAY 540#define IMGVIEW_SLIDE_SHOW BUTTON_PLAY
541 541
542#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
543/* use touchscreen */
544
542#else 545#else
543#error No keymap defined! 546#error No keymap defined!
544#endif 547#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index c28ab7e830..5eedb6ffc5 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -296,6 +296,9 @@ CONFIG_KEYPAD == MROBE500_PAD
296#define RIGHT BUTTON_RIGHT 296#define RIGHT BUTTON_RIGHT
297#define FIRE BUTTON_SELECT 297#define FIRE BUTTON_SELECT
298 298
299#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
300/* use touchscreen */
301
299#else 302#else
300 #error INVADROX: Unsupported keypad 303 #error INVADROX: Unsupported keypad
301#endif 304#endif
@@ -648,6 +651,23 @@ CONFIG_KEYPAD == MROBE500_PAD
648#define LIVES_X 8 651#define LIVES_X 8
649#define MAX_Y 15 652#define MAX_Y 15
650 653
654#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
655
656/* Shanling Q1
657 */
658#define ARCADISH_GRAPHICS
659#define PLAYFIELD_X 32
660#define SHIP_Y (PLAYFIELD_Y - 3 * SHIP_HEIGHT)
661#define ALIEN_START_Y (UFO_Y + 3 * ALIEN_HEIGHT)
662/* Redefine SCORE_Y */
663#undef SCORE_Y
664#define SCORE_Y 80
665#define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH)
666#define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1)
667#define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 5 * NUM_SPACING)
668#define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT)
669#define LIVES_X 10
670#define MAX_Y 18
651 671
652#else 672#else
653 #error INVADROX: Unsupported LCD type 673 #error INVADROX: Unsupported LCD type
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 7f7965b07d..3f209ae556 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -377,6 +377,9 @@ CONFIG_KEYPAD == MROBE500_PAD
377#define HK_SELECT "SELECT" 377#define HK_SELECT "SELECT"
378#define HK_CANCEL "BACK" 378#define HK_CANCEL "BACK"
379 379
380#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
381/* use touchscreen */
382
380#else 383#else
381#error No keymap defined! 384#error No keymap defined!
382#endif 385#endif
diff --git a/apps/plugins/lib/keymaps.h b/apps/plugins/lib/keymaps.h
index b660d4d85e..2cbca9e5ad 100644
--- a/apps/plugins/lib/keymaps.h
+++ b/apps/plugins/lib/keymaps.h
@@ -255,6 +255,15 @@
255#define BTN_FIRE BUTTON_SELECT 255#define BTN_FIRE BUTTON_SELECT
256#define BTN_PAUSE BUTTON_POWER 256#define BTN_PAUSE BUTTON_POWER
257 257
258#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
259#define BTN_FIRE BUTTON_CENTER
260#define BTN_PAUSE BUTTON_POWER
261#define BTN_HAVE_DIAGONAL
262#define BTN_DOWN_LEFT BUTTON_BOTTOMLEFT
263#define BTN_DOWN_RIGHT BUTTON_BOTTOMRIGHT
264#define BTN_UP_LEFT BUTTON_TOPLEFT
265#define BTN_UP_RIGHT BUTTON_TOPRIGHT
266
258#else 267#else
259#error Unsupported keypad 268#error Unsupported keypad
260#endif 269#endif
@@ -272,7 +281,8 @@
272#elif (CONFIG_KEYPAD != COWON_D2_PAD) && \ 281#elif (CONFIG_KEYPAD != COWON_D2_PAD) && \
273 (CONFIG_KEYPAD != DX50_PAD) && \ 282 (CONFIG_KEYPAD != DX50_PAD) && \
274 (CONFIG_KEYPAD != ONDAVX777_PAD) && \ 283 (CONFIG_KEYPAD != ONDAVX777_PAD) && \
275 (CONFIG_KEYPAD != CREATIVE_ZENXFI2_PAD) 284 (CONFIG_KEYPAD != CREATIVE_ZENXFI2_PAD) && \
285 (CONFIG_KEYPAD != SHANLING_Q1_PAD)
276#define BTN_FIRE BUTTON_BOTTOMLEFT 286#define BTN_FIRE BUTTON_BOTTOMLEFT
277#define BTN_PAUSE BUTTON_TOPLEFT 287#define BTN_PAUSE BUTTON_TOPLEFT
278#endif 288#endif
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 028472d9a8..4115177eaa 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -499,6 +499,8 @@ const struct button_mapping pla_main_ctx[] =
499 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, 499 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
500 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, 500 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
501 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 501 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
502#elif (CONFIG_KEYPAD == SHANLING_Q1_PAD)
503 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
502#else 504#else
503# ifndef HAVE_TOUCHSCREEN 505# ifndef HAVE_TOUCHSCREEN
504# error pluginlib_actions: No actions defined 506# error pluginlib_actions: No actions defined
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index a28d1d3862..6345d3c741 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -325,6 +325,9 @@
325#define MIDI_VOL_DOWN BUTTON_VOL_DOWN 325#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
326#define MIDI_PLAYPAUSE BUTTON_PLAY 326#define MIDI_PLAYPAUSE BUTTON_PLAY
327 327
328#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
329/* use touchscreen */
330
328#else 331#else
329#error No keymap defined! 332#error No keymap defined!
330#endif 333#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 19a6b99f12..a3c718d79f 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -443,6 +443,9 @@ CONFIG_KEYPAD == MROBE500_PAD
443# define MINESWP_DISCOVER (BUTTON_SELECT|BUTTON_REPEAT) 443# define MINESWP_DISCOVER (BUTTON_SELECT|BUTTON_REPEAT)
444# define MINESWP_INFO BUTTON_MENU 444# define MINESWP_INFO BUTTON_MENU
445 445
446#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
447/* use touchscreen */
448
446#else 449#else
447#error No keymap defined! 450#error No keymap defined!
448#endif 451#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index db10185c91..99671815ca 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2580,6 +2580,9 @@ CONFIG_KEYPAD == MROBE500_PAD
2580#define MP3ENC_DONE BUTTON_POWER 2580#define MP3ENC_DONE BUTTON_POWER
2581#define MP3ENC_SELECT BUTTON_SELECT 2581#define MP3ENC_SELECT BUTTON_SELECT
2582 2582
2583#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
2584/* use touchscreen */
2585
2583#else 2586#else
2584#error No keymap defined! 2587#error No keymap defined!
2585#endif 2588#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 505f3aa33d..b1445781d0 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -354,6 +354,9 @@ struct mpeg_settings settings;
354#define MPEG_START_TIME_DOWN BUTTON_DOWN 354#define MPEG_START_TIME_DOWN BUTTON_DOWN
355#define MPEG_START_TIME_EXIT BUTTON_POWER 355#define MPEG_START_TIME_EXIT BUTTON_POWER
356 356
357#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
358#define MPEG_START_TIME_EXIT BUTTON_POWER
359
357#else 360#else
358#error No keymap defined! 361#error No keymap defined!
359#endif 362#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 34eafd5d9c..e66b4df146 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -486,6 +486,9 @@ CONFIG_KEYPAD == SANSA_M200_PAD
486#define MPEG_RW BUTTON_LEFT 486#define MPEG_RW BUTTON_LEFT
487#define MPEG_FF BUTTON_RIGHT 487#define MPEG_FF BUTTON_RIGHT
488 488
489#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
490/* use touchscreen */
491
489#else 492#else
490#error No keymap defined! 493#error No keymap defined!
491#endif 494#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 881295d6ab..ae84e14f7f 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -548,6 +548,9 @@
548#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP 548#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
549#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN 549#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
550 550
551#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
552/* use touchscreen */
553
551#else 554#else
552#error No keymap defined! 555#error No keymap defined!
553#endif 556#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index a3d42b099c..aa8c41fa95 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -398,6 +398,16 @@
398#define PACMAN_1UP BUTTON_VOL_UP 398#define PACMAN_1UP BUTTON_VOL_UP
399#define PACMAN_COIN BUTTON_PLAY 399#define PACMAN_COIN BUTTON_PLAY
400 400
401#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
402#define PACMAN_UP BUTTON_TOPMIDDLE
403#define PACMAN_DOWN BUTTON_BOTTOMMIDDLE
404#define PACMAN_LEFT BUTTON_MIDLEFT
405#define PACMAN_RIGHT BUTTON_MIDRIGHT
406#define PACMAN_MENU BUTTON_TOPLEFT
407#define PACMAN_1UP BUTTON_BOTTOMLEFT
408#define PACMAN_2UP BUTTON_BOTTOMRIGHT
409#define PACMAN_COIN BUTTON_CENTER
410
401#else 411#else
402 412
403#error Keymap not defined! 413#error Keymap not defined!
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index f089c38023..cb6361547d 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -711,6 +711,9 @@ CONFIG_KEYPAD == MROBE500_PAD
711#define LVL_UP_TEXT "VOL+" 711#define LVL_UP_TEXT "VOL+"
712#define LVL_DOWN_TEXT "VOL-" 712#define LVL_DOWN_TEXT "VOL-"
713 713
714#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
715/* use touchscreen */
716
714#else 717#else
715#error "Unsupported keymap!" 718#error "Unsupported keymap!"
716#endif 719#endif
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 22484d0bc9..4a2c48e94c 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -325,6 +325,9 @@ CONFIG_KEYPAD == MROBE500_PAD
325#define PONG_RIGHT_UP BUTTON_BACK 325#define PONG_RIGHT_UP BUTTON_BACK
326#define PONG_RIGHT_DOWN BUTTON_RIGHT 326#define PONG_RIGHT_DOWN BUTTON_RIGHT
327 327
328#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
329/* use touchscreen */
330
328#else 331#else
329#error No keymap defined! 332#error No keymap defined!
330#endif 333#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 7e031e6103..926a71e1a2 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -361,6 +361,9 @@
361#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT 361#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
362#define REVERSI_BUTTON_MENU BUTTON_MENU 362#define REVERSI_BUTTON_MENU BUTTON_MENU
363 363
364#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
365/* use touchscreen */
366
364#else 367#else
365#error No keymap defined! 368#error No keymap defined!
366#endif 369#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 07a15bfb62..927710b37b 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -465,6 +465,9 @@
465#define ROCKBLOX_DROP BUTTON_PLAY 465#define ROCKBLOX_DROP BUTTON_PLAY
466#define ROCKBLOX_RESTART BUTTON_BACK 466#define ROCKBLOX_RESTART BUTTON_BACK
467 467
468#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
469/* use touchscreen */
470
468#else 471#else
469#error No keymap defined! 472#error No keymap defined!
470#endif 473#endif
@@ -534,6 +537,22 @@
534#define LEVEL_Y 142 537#define LEVEL_Y 142
535#define LINES_Y 218 538#define LINES_Y 218
536 539
540#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
541
542#define BLOCK_WIDTH 19
543#define BLOCK_HEIGHT 19
544#define BOARD_X 27
545#define BOARD_Y 0
546#define LABEL_X 258
547#define SCORE_Y 40
548#define LEVEL_Y 92
549#define LINES_Y 140
550#define HIGH_LABEL_X 258
551#define HIGH_SCORE_Y 200
552#define HIGH_LEVEL_Y 258
553#define PREVIEW_X 258
554#define PREVIEW_Y 300
555
537#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) 556#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
538 557
539#define BLOCK_WIDTH 12 558#define BLOCK_WIDTH 12
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index d2c56ff6cc..2c5c6e4dbf 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -468,6 +468,9 @@ static void setoptions (void)
468 options.SELECT = BUTTON_VOL_UP; 468 options.SELECT = BUTTON_VOL_UP;
469 options.MENU = BUTTON_POWER; 469 options.MENU = BUTTON_POWER;
470 470
471#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
472 /* use touchscreen */
473
471#else 474#else
472#error No Keymap Defined! 475#error No Keymap Defined!
473#endif 476#endif
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index 0d3211d4d2..98fdb468d3 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -404,6 +404,9 @@
404#define ROCKPAINT_LEFT BUTTON_LEFT 404#define ROCKPAINT_LEFT BUTTON_LEFT
405#define ROCKPAINT_RIGHT BUTTON_RIGHT 405#define ROCKPAINT_RIGHT BUTTON_RIGHT
406 406
407#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
408/* use touchscreen */
409
407#else 410#else
408#error "Please define keys for this keypad" 411#error "Please define keys for this keypad"
409#endif 412#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index d1820b2f50..a34cb77669 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -357,6 +357,9 @@ CONFIG_KEYPAD == MROBE500_PAD
357#define PUZZLE_SHUFFLE BUTTON_BACK 357#define PUZZLE_SHUFFLE BUTTON_BACK
358#define PUZZLE_PICTURE BUTTON_PLAY 358#define PUZZLE_PICTURE BUTTON_PLAY
359 359
360#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
361/* use touchscreen */
362
360#else 363#else
361#error No keymap defined! 364#error No keymap defined!
362#endif 365#endif
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 459d345fa2..25c89b264b 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -313,6 +313,9 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
313#define SNAKE_DOWN BUTTON_DOWN 313#define SNAKE_DOWN BUTTON_DOWN
314#define SNAKE_PLAYPAUSE BUTTON_PLAY 314#define SNAKE_PLAYPAUSE BUTTON_PLAY
315 315
316#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
317/* use touchscreen */
318
316#else 319#else
317#error No keymap defined! 320#error No keymap defined!
318#endif 321#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 1536840daf..094fd854eb 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -62,6 +62,18 @@ Head and Tail are stored
62 #define TOP_X4 548 /* x-coord of the lowerright item (hi-score) */ 62 #define TOP_X4 548 /* x-coord of the lowerright item (hi-score) */
63 #define TOP_Y1 8 /* y-coord of the top row of items */ 63 #define TOP_Y1 8 /* y-coord of the top row of items */
64 #define TOP_Y2 50 /* y-coord of the bottom row of items */ 64 #define TOP_Y2 50 /* y-coord of the bottom row of items */
65#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400)
66 #define MULTIPLIER 12 /*Modifier for porting on other screens*/
67 #define MODIFIER_1 12
68 #define MODIFIER_2 10
69 #define CENTER_X 12
70 #define CENTER_Y 40
71 #define TOP_X1 34 /* x-coord of the upperleft item (game type) */
72 #define TOP_X2 320 /* x-coord of the upperright item (maze type) */
73 #define TOP_X3 42 /* x-coord of the lowerleft item (speed) */
74 #define TOP_X4 314 /* x-coord of the lowerright item (hi-score) */
75 #define TOP_Y1 4 /* y-coord of the top row of items */
76 #define TOP_Y2 25 /* y-coord of the bottom row of items */
65#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) 77#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
66 #define MULTIPLIER 10 /*Modifier for porting on other screens*/ 78 #define MULTIPLIER 10 /*Modifier for porting on other screens*/
67 #define MODIFIER_1 10 79 #define MODIFIER_1 10
@@ -446,6 +458,9 @@ CONFIG_KEYPAD == MROBE500_PAD
446#define SNAKE2_PLAYPAUSE BUTTON_PLAY 458#define SNAKE2_PLAYPAUSE BUTTON_PLAY
447#define SNAKE2_PLAYPAUSE_TEXT "PLAY" 459#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
448 460
461#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
462/* use touchscreen */
463
449#else 464#else
450#error No keymap defined! 465#error No keymap defined!
451#endif 466#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 41c671a38c..247663a5c2 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -696,6 +696,9 @@
696#define BUTTON_SAVE BUTTON_BACK 696#define BUTTON_SAVE BUTTON_BACK
697#define BUTTON_SAVE_NAME "BACK" 697#define BUTTON_SAVE_NAME "BACK"
698 698
699#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
700/* use touchscreen */
701
699#else 702#else
700#error No keymap defined! 703#error No keymap defined!
701#endif 704#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 2d737df678..a48bfbc9be 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -741,6 +741,9 @@ CONFIG_KEYPAD == MROBE500_PAD
741# define HK_CUR2STACK "HOLD SELECT" 741# define HK_CUR2STACK "HOLD SELECT"
742# define HK_REM2STACK "VOL+" 742# define HK_REM2STACK "VOL+"
743 743
744#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
745# define SOL_QUIT BUTTON_POWER
746
744#else 747#else
745#error No keymap defined! 748#error No keymap defined!
746#endif 749#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 2d39c26b3d..8203fad612 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -372,6 +372,9 @@
372#define AST_RIGHT BUTTON_RIGHT 372#define AST_RIGHT BUTTON_RIGHT
373#define AST_FIRE BUTTON_PLAY 373#define AST_FIRE BUTTON_PLAY
374 374
375#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
376/* use touchscreen */
377
375#else 378#else
376#error No keymap defined! 379#error No keymap defined!
377#endif 380#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index c186474ae3..874afc1cf1 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -668,6 +668,10 @@
668#define STAR_LEVEL_DOWN_NAME "VOL-" 668#define STAR_LEVEL_DOWN_NAME "VOL-"
669#define STAR_LEVEL_REPEAT_NAME "BACK" 669#define STAR_LEVEL_REPEAT_NAME "BACK"
670 670
671#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
672#define STAR_QUIT BUTTON_POWER
673#define STAR_QUIT_NAME "POWER"
674
671#else 675#else
672#error No keymap defined! 676#error No keymap defined!
673#endif 677#endif
diff --git a/apps/plugins/stopwatch.lua b/apps/plugins/stopwatch.lua
index 578ba7f42c..34a3c57d72 100644
--- a/apps/plugins/stopwatch.lua
+++ b/apps/plugins/stopwatch.lua
@@ -280,7 +280,7 @@ function arrangeButtons(btns)
280 end 280 end
281end 281end
282 282
283rb.touchscreen_set_mode(rb.TOUCHSCREEN_POINT) 283rb.touchscreen_mode(rb.TOUCHSCREEN_POINT)
284 284
285LapsView:init() 285LapsView:init()
286 286
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 1332a9a80f..e06581fdc9 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -460,6 +460,9 @@
460#define SUDOKU_BUTTON_MENU BUTTON_MENU 460#define SUDOKU_BUTTON_MENU BUTTON_MENU
461#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK 461#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK
462 462
463#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
464/* use touchscreen */
465
463#else 466#else
464#error No keymap defined! 467#error No keymap defined!
465#endif 468#endif
diff --git a/apps/plugins/test_touchscreen.c b/apps/plugins/test_touchscreen.c
index 120ca8ac34..0d8e91f6a9 100644
--- a/apps/plugins/test_touchscreen.c
+++ b/apps/plugins/test_touchscreen.c
@@ -37,12 +37,17 @@
37#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD 37#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
38#define TOUCHSCREEN_QUIT BUTTON_POWER 38#define TOUCHSCREEN_QUIT BUTTON_POWER
39#define TOUCHSCREEN_TOGGLE BUTTON_MENU 39#define TOUCHSCREEN_TOGGLE BUTTON_MENU
40#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
41#define TOUCHSCREEN_QUIT BUTTON_POWER
42#define TOUCHSCREEN_TOGGLE BUTTON_PLAY
40#elif (CONFIG_KEYPAD == ANDROID_PAD) 43#elif (CONFIG_KEYPAD == ANDROID_PAD)
41#define TOUCHSCREEN_QUIT BUTTON_BACK 44#define TOUCHSCREEN_QUIT BUTTON_BACK
42#define TOUCHSCREEN_TOGGLE BUTTON_MENU 45#define TOUCHSCREEN_TOGGLE BUTTON_MENU
43#elif (CONFIG_KEYPAD == SDL_PAD) 46#elif (CONFIG_KEYPAD == SDL_PAD)
44#define TOUCHSCREEN_QUIT BUTTON_MIDLEFT 47#define TOUCHSCREEN_QUIT BUTTON_MIDLEFT
45#define TOUCHSCREEN_TOGGLE BUTTON_CENTER 48#define TOUCHSCREEN_TOGGLE BUTTON_CENTER
49#else
50# error "No keymap defined!"
46#endif 51#endif
47 52
48/* plugin entry point */ 53/* plugin entry point */
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index d9a57d114f..4d45fbba03 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -572,6 +572,9 @@
572#define TV_LINE_DOWN BUTTON_SCROLL_FWD 572#define TV_LINE_DOWN BUTTON_SCROLL_FWD
573#define TV_BOOKMARK BUTTON_PLAY 573#define TV_BOOKMARK BUTTON_PLAY
574 574
575#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
576#define TV_BOOKMARK BUTTON_PLAY
577
575#else 578#else
576#error No keymap defined! 579#error No keymap defined!
577#endif 580#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index e24ad8dcdc..356a7fdd93 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -452,6 +452,9 @@
452#define LABEL_MENU "MENU" 452#define LABEL_MENU "MENU"
453#define LABEL_VOLUME "VOL+/VOL-" 453#define LABEL_VOLUME "VOL+/VOL-"
454 454
455#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
456/* use touchscreen */
457
455#else 458#else
456#error No keymap defined! 459#error No keymap defined!
457#endif 460#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index d76f6a7d5a..162cea6208 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -407,6 +407,9 @@ CONFIG_KEYPAD == MROBE500_PAD
407#define BTN_QUIT BUTTON_POWER 407#define BTN_QUIT BUTTON_POWER
408#define BTN_STOPRESET BUTTON_BACK 408#define BTN_STOPRESET BUTTON_BACK
409 409
410#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
411/* use touchscreen */
412
410#else 413#else
411#error No keymap defined! 414#error No keymap defined!
412#endif 415#endif
@@ -492,7 +495,8 @@ CONFIG_KEYPAD == MROBE500_PAD
492#define SPEED 4 495#define SPEED 4
493#define MAX_WORM_SEGMENTS 512 496#define MAX_WORM_SEGMENTS 512
494#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 497#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \
495 ((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))) 498 ((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))) || \
499 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
496#define FOOD_SIZE 7 500#define FOOD_SIZE 7
497#define ARGH_SIZE 8 501#define ARGH_SIZE 8
498#define SPEED 4 502#define SPEED 4
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index cf959ad7f5..b8b1964db4 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -351,6 +351,9 @@ CONFIG_KEYPAD == MROBE500_PAD
351#define DOWN BUTTON_DOWN 351#define DOWN BUTTON_DOWN
352#define PAUSE BUTTON_PLAY 352#define PAUSE BUTTON_PLAY
353 353
354#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
355/* use touchscreen */
356
354#else 357#else
355#error "No keymap defined!" 358#error "No keymap defined!"
356#endif 359#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index e9316a301b..e95a1d8c94 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -290,6 +290,9 @@
290#define ZX_UP BUTTON_UP 290#define ZX_UP BUTTON_UP
291#define ZX_DOWN BUTTON_DOWN 291#define ZX_DOWN BUTTON_DOWN
292 292
293#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
294/* use touchscreen */
295
293#else 296#else
294#error Keymap not defined! 297#error Keymap not defined!
295 298