diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-05-23 17:30:58 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-07-13 22:01:33 +0100 |
commit | 4c60bc9e681865fcfc149775a1ed7ccd2613d5bf (patch) | |
tree | 99f8d91af2c171cf3843f0c14d41a20d9dc29c4f /apps | |
parent | 3abb7c5dd5be2ec6744bfc0a80967b20f1b59e30 (diff) | |
download | rockbox-4c60bc9e681865fcfc149775a1ed7ccd2613d5bf.tar.gz rockbox-4c60bc9e681865fcfc149775a1ed7ccd2613d5bf.zip |
New port: Shanling Q1 native
- Audio playback works
- Touchscreen and buttons work
- Bootloader works and is capable of dual boot
- Plugins are working
- Cabbiev2 theme has been ported
- Stable for general usage
Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps.
There's a few minor known issues:
- Bootloader must be installed manually using 'usbboot' as there is
no support in jztool yet.
- Keymaps may be lacking, need further testing and feedback.
- Some plugins may not be fully adapted to the screen size and could
benefit from further tweaking.
- LCD shows abnormal effects under some circumstances: for example,
after viewing a mostly black screen an afterimage appears briefly
when going back to a brightly-lit screen. Sudden power-off without
proper shutdown of the backlight causes a "dissolving" effect.
- CW2015 battery reporting driver is buggy, and disabled for now.
Battery reporting is currently voltage-based using the AXP192.
Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a
Diffstat (limited to 'apps')
65 files changed, 474 insertions, 10 deletions
diff --git a/apps/SOURCES b/apps/SOURCES index 5c49f0bbbc..6fdaea3ca8 100644 --- a/apps/SOURCES +++ b/apps/SOURCES | |||
@@ -298,4 +298,6 @@ keymaps/keymap-fiiom3klinux.c | |||
298 | keymaps/keymap-fiiom3k.c | 298 | keymaps/keymap-fiiom3k.c |
299 | #elif CONFIG_KEYPAD == EROSQ_PAD | 299 | #elif CONFIG_KEYPAD == EROSQ_PAD |
300 | keymaps/keymap-erosq.c | 300 | keymaps/keymap-erosq.c |
301 | #elif CONFIG_KEYPAD == SHANLING_Q1_PAD | ||
302 | keymaps/keymap-shanlingq1.c | ||
301 | #endif | 303 | #endif |
diff --git a/apps/features.txt b/apps/features.txt index 4e7f986057..83c3f0a65f 100644 --- a/apps/features.txt +++ b/apps/features.txt | |||
@@ -182,12 +182,12 @@ depth_3d | |||
182 | #endif | 182 | #endif |
183 | 183 | ||
184 | /* This should be AUDIOHW_HAVE_FILTER_ROLL_OFF but that is only defined later */ | 184 | /* This should be AUDIOHW_HAVE_FILTER_ROLL_OFF but that is only defined later */ |
185 | #if defined(DX50) || defined(HAVE_DF1704_CODEC) || defined(HAVE_PCM1792_CODEC) || defined(HAVE_CS4398) || defined(HAVE_WM8740) || defined(HAVE_ES9018) || defined(HAVE_XDUOO_LINUX_CODEC) || defined(HAVE_FIIO_LINUX_CODEC) || defined(HAVE_AK4376) | 185 | #if defined(DX50) || defined(HAVE_DF1704_CODEC) || defined(HAVE_PCM1792_CODEC) || defined(HAVE_CS4398) || defined(HAVE_WM8740) || defined(HAVE_ES9018) || defined(HAVE_XDUOO_LINUX_CODEC) || defined(HAVE_FIIO_LINUX_CODEC) || defined(HAVE_AK4376) || defined(HAVE_ES9218) |
186 | filter_roll_off | 186 | filter_roll_off |
187 | #endif | 187 | #endif |
188 | 188 | ||
189 | /* This should be AUDIOHW_HAVE_POWER_MODE but that is not defined yet */ | 189 | /* This should be AUDIOHW_HAVE_POWER_MODE but that is not defined yet */ |
190 | #if defined(HAVE_AK4376) | 190 | #if defined(HAVE_AK4376) || defined(HAVE_ES9218) |
191 | dac_power_mode | 191 | dac_power_mode |
192 | #endif | 192 | #endif |
193 | 193 | ||
@@ -195,6 +195,10 @@ dac_power_mode | |||
195 | es9018 | 195 | es9018 |
196 | #endif | 196 | #endif |
197 | 197 | ||
198 | #if defined(HAVE_ES9218) | ||
199 | es9218 | ||
200 | #endif | ||
201 | |||
198 | /* These features are only used by the manual so they won't break binary | 202 | /* These features are only used by the manual so they won't break binary |
199 | * compatibility | 203 | * compatibility |
200 | */ | 204 | */ |
diff --git a/apps/keymaps/keymap-shanlingq1.c b/apps/keymaps/keymap-shanlingq1.c new file mode 100644 index 0000000000..4745139e7a --- /dev/null +++ b/apps/keymaps/keymap-shanlingq1.c | |||
@@ -0,0 +1,77 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2021 Aidan MacDonald | ||
11 | * | ||
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. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | |||
22 | /* Button Code Definitions for Shanling Q1 target */ | ||
23 | |||
24 | #include "config.h" | ||
25 | #include "action.h" | ||
26 | #include "button.h" | ||
27 | #include "settings.h" | ||
28 | |||
29 | /* {Action Code, Button code, Prereq button code } */ | ||
30 | |||
31 | static const struct button_mapping button_context_standard[] = { | ||
32 | {ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE}, | ||
33 | {ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE}, | ||
34 | {ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, | ||
35 | {ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, | ||
36 | LAST_ITEM_IN_LIST | ||
37 | }; /* button_context_standard */ | ||
38 | |||
39 | static const struct button_mapping button_context_wps[] = { | ||
40 | {ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, | ||
41 | {ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, | ||
42 | {ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE}, | ||
43 | {ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE}, | ||
44 | {ACTION_WPS_SKIPNEXT, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT}, | ||
45 | {ACTION_WPS_SKIPPREV, BUTTON_PREV|BUTTON_REL, BUTTON_PREV}, | ||
46 | {ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE}, | ||
47 | {ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT}, | ||
48 | {ACTION_WPS_SEEKBACK, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE}, | ||
49 | {ACTION_WPS_STOPSEEK, BUTTON_PREV|BUTTON_REL, BUTTON_PREV|BUTTON_REPEAT}, | ||
50 | {ACTION_STD_KEYLOCK, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, | ||
51 | LAST_ITEM_IN_LIST | ||
52 | }; /* button_context_wps */ | ||
53 | |||
54 | static const struct button_mapping button_context_list[] = { | ||
55 | {ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REL, BUTTON_NONE}, | ||
56 | {ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REL, BUTTON_NONE}, | ||
57 | LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) | ||
58 | }; /* button_context_list */ | ||
59 | |||
60 | const struct button_mapping* target_get_context_mapping(int context) | ||
61 | { | ||
62 | switch (context) | ||
63 | { | ||
64 | default: | ||
65 | case CONTEXT_STD: | ||
66 | return button_context_standard; | ||
67 | case CONTEXT_WPS: | ||
68 | return button_context_wps; | ||
69 | case CONTEXT_TREE: | ||
70 | case CONTEXT_CUSTOM|CONTEXT_TREE: | ||
71 | case CONTEXT_MAINMENU: | ||
72 | case CONTEXT_BOOKMARKSCREEN: | ||
73 | //return button_context_tree; | ||
74 | case CONTEXT_LIST: | ||
75 | return button_context_list; | ||
76 | } | ||
77 | } | ||
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 4cbc6f30f6..f268434f60 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -12205,20 +12205,159 @@ | |||
12205 | </voice> | 12205 | </voice> |
12206 | </phrase> | 12206 | </phrase> |
12207 | <phrase> | 12207 | <phrase> |
12208 | id: LANG_FILTER_LINEAR_FAST | ||
12209 | desc: in sound settings | ||
12210 | user: core | ||
12211 | <source> | ||
12212 | *: none | ||
12213 | es9218: "Linear Fast" | ||
12214 | </source> | ||
12215 | <dest> | ||
12216 | *: none | ||
12217 | es9218: "Linear Fast" | ||
12218 | </dest> | ||
12219 | <voice> | ||
12220 | *: none | ||
12221 | es9218: "Linear Fast" | ||
12222 | </voice> | ||
12223 | </phrase> | ||
12224 | <phrase> | ||
12225 | id: LANG_FILTER_LINEAR_SLOW | ||
12226 | desc: in sound settings | ||
12227 | user: core | ||
12228 | <source> | ||
12229 | *: none | ||
12230 | es9218: "Linear Slow" | ||
12231 | </source> | ||
12232 | <dest> | ||
12233 | *: none | ||
12234 | es9218: "Linear Slow" | ||
12235 | </dest> | ||
12236 | <voice> | ||
12237 | *: none | ||
12238 | es9218: "Linear Slow" | ||
12239 | </voice> | ||
12240 | </phrase> | ||
12241 | <phrase> | ||
12242 | id: LANG_FILTER_MINIMUM_FAST | ||
12243 | desc: in sound settings | ||
12244 | user: core | ||
12245 | <source> | ||
12246 | *: none | ||
12247 | es9218: "Minimum Fast" | ||
12248 | </source> | ||
12249 | <dest> | ||
12250 | *: none | ||
12251 | es9218: "Minimum Fast" | ||
12252 | </dest> | ||
12253 | <voice> | ||
12254 | *: none | ||
12255 | es9218: "Minimum Fast" | ||
12256 | </voice> | ||
12257 | </phrase> | ||
12258 | <phrase> | ||
12259 | id: LANG_FILTER_MINIMUM_SLOW | ||
12260 | desc: in sound settings | ||
12261 | user: core | ||
12262 | <source> | ||
12263 | *: none | ||
12264 | es9218: "Minimum Slow" | ||
12265 | </source> | ||
12266 | <dest> | ||
12267 | *: none | ||
12268 | es9218: "Minimum Slow" | ||
12269 | </dest> | ||
12270 | <voice> | ||
12271 | *: none | ||
12272 | es9218: "Minimum Slow" | ||
12273 | </voice> | ||
12274 | </phrase> | ||
12275 | <phrase> | ||
12276 | id: LANG_FILTER_APODIZING_1 | ||
12277 | desc: in sound settings | ||
12278 | user: core | ||
12279 | <source> | ||
12280 | *: none | ||
12281 | es9218: "Apodizing type 1" | ||
12282 | </source> | ||
12283 | <dest> | ||
12284 | *: none | ||
12285 | es9218: "Apodizing type 1" | ||
12286 | </dest> | ||
12287 | <voice> | ||
12288 | *: none | ||
12289 | es9218: "Apodizing type 1" | ||
12290 | </voice> | ||
12291 | </phrase> | ||
12292 | <phrase> | ||
12293 | id: LANG_FILTER_APODIZING_2 | ||
12294 | desc: in sound settings | ||
12295 | user: core | ||
12296 | <source> | ||
12297 | *: none | ||
12298 | es9218: "Apodizing type 2" | ||
12299 | </source> | ||
12300 | <dest> | ||
12301 | *: none | ||
12302 | es9218: "Apodizing type 2" | ||
12303 | </dest> | ||
12304 | <voice> | ||
12305 | *: none | ||
12306 | es9218: "Apodizing type 2" | ||
12307 | </voice> | ||
12308 | </phrase> | ||
12309 | <phrase> | ||
12310 | id: LANG_FILTER_HYBRID_FAST | ||
12311 | desc: in sound settings | ||
12312 | user: core | ||
12313 | <source> | ||
12314 | *: none | ||
12315 | es9218: "Hybrid Fast" | ||
12316 | </source> | ||
12317 | <dest> | ||
12318 | *: none | ||
12319 | es9218: "Hybrid Fast" | ||
12320 | </dest> | ||
12321 | <voice> | ||
12322 | *: none | ||
12323 | es9218: "Hybrid Fast" | ||
12324 | </voice> | ||
12325 | </phrase> | ||
12326 | <phrase> | ||
12327 | id: LANG_FILTER_BRICK_WALL | ||
12328 | desc: in sound settings | ||
12329 | user: core | ||
12330 | <source> | ||
12331 | *: none | ||
12332 | es9218: "Brick Wall" | ||
12333 | </source> | ||
12334 | <dest> | ||
12335 | *: none | ||
12336 | es9218: "Brick Wall" | ||
12337 | </dest> | ||
12338 | <voice> | ||
12339 | *: none | ||
12340 | es9218: "Brick Wall" | ||
12341 | </voice> | ||
12342 | </phrase> | ||
12343 | <phrase> | ||
12208 | id: LANG_DAC_POWER_MODE | 12344 | id: LANG_DAC_POWER_MODE |
12209 | desc: in sound settings | 12345 | desc: in sound settings |
12210 | user: core | 12346 | user: core |
12211 | <source> | 12347 | <source> |
12212 | *: none | 12348 | *: none |
12213 | dac_power_mode: "DAC's power mode" | 12349 | dac_power_mode: "DAC's power mode" |
12350 | es9218: "DAC's output level" | ||
12214 | </source> | 12351 | </source> |
12215 | <dest> | 12352 | <dest> |
12216 | *: none | 12353 | *: none |
12217 | dac_power_mode: "DAC's power mode" | 12354 | dac_power_mode: "DAC's power mode" |
12355 | es9218: "DAC's output level" | ||
12218 | </dest> | 12356 | </dest> |
12219 | <voice> | 12357 | <voice> |
12220 | *: none | 12358 | *: none |
12221 | dac_power_mode: "DAC's power mode" | 12359 | dac_power_mode: "DAC's power mode" |
12360 | es9218: "DAC's output level" | ||
12222 | </voice> | 12361 | </voice> |
12223 | </phrase> | 12362 | </phrase> |
12224 | <phrase> | 12363 | <phrase> |
@@ -12228,14 +12367,17 @@ | |||
12228 | <source> | 12367 | <source> |
12229 | *: none | 12368 | *: none |
12230 | dac_power_mode: "High performance" | 12369 | dac_power_mode: "High performance" |
12370 | es9218: "High Gain (2 Vrms)" | ||
12231 | </source> | 12371 | </source> |
12232 | <dest> | 12372 | <dest> |
12233 | *: none | 12373 | *: none |
12234 | dac_power_mode: "High performance" | 12374 | dac_power_mode: "High performance" |
12375 | es9218: "High Gain (2 Vrms)" | ||
12235 | </dest> | 12376 | </dest> |
12236 | <voice> | 12377 | <voice> |
12237 | *: none | 12378 | *: none |
12238 | dac_power_mode: "High performance" | 12379 | dac_power_mode: "High performance" |
12380 | es9218: "High Gain (2 Vrms)" | ||
12239 | </voice> | 12381 | </voice> |
12240 | </phrase> | 12382 | </phrase> |
12241 | <phrase> | 12383 | <phrase> |
@@ -12245,14 +12387,17 @@ | |||
12245 | <source> | 12387 | <source> |
12246 | *: none | 12388 | *: none |
12247 | dac_power_mode: "Save battery" | 12389 | dac_power_mode: "Save battery" |
12390 | es9218: "Low Gain (1 Vrms)" | ||
12248 | </source> | 12391 | </source> |
12249 | <dest> | 12392 | <dest> |
12250 | *: none | 12393 | *: none |
12251 | dac_power_mode: "Save battery" | 12394 | dac_power_mode: "Save battery" |
12395 | es9218: "Low Gain (1 Vrms)" | ||
12252 | </dest> | 12396 | </dest> |
12253 | <voice> | 12397 | <voice> |
12254 | *: none | 12398 | *: none |
12255 | dac_power_mode: "Save battery" | 12399 | dac_power_mode: "Save battery" |
12400 | es9218: "Low Gain (1 Vrms)" | ||
12256 | </voice> | 12401 | </voice> |
12257 | </phrase> | 12402 | </phrase> |
12258 | <phrase> | 12403 | <phrase> |
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)) |
20 | bubbles_bubble.220x176x1.bmp | 20 | bubbles_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)) | ||
23 | bubbles_bubble.320x240x1.bmp | 24 | bubbles_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)) |
159 | bubbles_emblem.640x480x16.bmp | 159 | bubbles_emblem.640x480x16.bmp |
160 | bubbles_background.640x480x16.bmp | 160 | bubbles_background.640x480x16.bmp |
161 | #elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400) | ||
162 | bubbles_emblem.360x400x16.bmp | ||
163 | bubbles_background.360x400x16.bmp | ||
161 | #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) | 164 | #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) |
162 | bubbles_emblem.320x240x16.bmp | 165 | bubbles_emblem.320x240x16.bmp |
163 | bubbles_background.320x240x16.bmp | 166 | bubbles_background.320x240x16.bmp |
@@ -388,7 +391,9 @@ invadrox_shield.22x16x16.bmp | |||
388 | invadrox_ufo.16x7x16.bmp | 391 | invadrox_ufo.16x7x16.bmp |
389 | invadrox_ufo_explode.21x8x16.bmp | 392 | invadrox_ufo_explode.21x8x16.bmp |
390 | invadrox_numbers.50x7x16.bmp | 393 | invadrox_numbers.50x7x16.bmp |
391 | #if LCD_WIDTH == 320 | 394 | #if LCD_WIDTH == 360 && LCD_HEIGHT == 400 |
395 | invadrox_background.360x400x16.bmp | ||
396 | #elif LCD_WIDTH == 320 | ||
392 | invadrox_background.320x240x16.bmp | 397 | invadrox_background.320x240x16.bmp |
393 | #elif LCD_WIDTH == 240 | 398 | #elif LCD_WIDTH == 240 |
394 | invadrox_background.240x320x16.bmp | 399 | invadrox_background.240x320x16.bmp |
@@ -457,6 +462,8 @@ jewels.220x176x16.bmp | |||
457 | jewels.320x240x16.bmp | 462 | jewels.320x240x16.bmp |
458 | #elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) | 463 | #elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) |
459 | jewels.320x240x16.bmp | 464 | jewels.320x240x16.bmp |
465 | #elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400) | ||
466 | jewels.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)) |
462 | jewels.640x480x16.bmp | 469 | jewels.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) |
548 | rockblox_background.640x480x16.bmp | 555 | rockblox_background.640x480x16.bmp |
556 | #elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400) | ||
557 | rockblox_background.360x400x16.bmp | ||
549 | #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) | 558 | #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) |
550 | rockblox_background.320x240x16.bmp | 559 | rockblox_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 | |||
603 | snake2_left.640x480x16.bmp | 612 | snake2_left.640x480x16.bmp |
604 | snake2_right.640x480x16.bmp | 613 | snake2_right.640x480x16.bmp |
605 | snake2_bottom.640x480x16.bmp | 614 | snake2_bottom.640x480x16.bmp |
615 | #elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400) && (LCD_DEPTH >= 16) | ||
616 | snake2_header1.360x400x16.bmp | ||
617 | snake2_header2.360x400x16.bmp | ||
618 | snake2_left.360x400x16.bmp | ||
619 | snake2_right.360x400x16.bmp | ||
620 | snake2_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) |
607 | snake2_header1.320x240x16.bmp | 622 | snake2_header1.320x240x16.bmp |
608 | snake2_header2.320x240x16.bmp | 623 | snake2_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) |
875 | superdom_boarditems.320x240x16.bmp | 890 | superdom_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)) | ||
878 | superdom_boarditems.240x320x16.bmp | 894 | superdom_boarditems.240x320x16.bmp |
879 | #elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640) | 895 | #elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640) |
880 | superdom_boarditems.480x640x16.bmp | 896 | superdom_boarditems.480x640x16.bmp |
@@ -911,6 +927,8 @@ sliding_puzzle.132x132x16.bmp | |||
911 | sliding_puzzle.176x176x16.bmp | 927 | sliding_puzzle.176x176x16.bmp |
912 | #elif SMALLER_DIMENSION <= 240 | 928 | #elif SMALLER_DIMENSION <= 240 |
913 | sliding_puzzle.240x240x16.bmp | 929 | sliding_puzzle.240x240x16.bmp |
930 | #elif SMALLER_DIMENSION <= 360 | ||
931 | sliding_puzzle.360x360x16.bmp | ||
914 | #elif SMALLER_DIMENSION <= 480 | 932 | #elif SMALLER_DIMENSION <= 480 |
915 | sliding_puzzle.480x480x16.bmp | 933 | sliding_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 |
281 | end | 281 | end |
282 | 282 | ||
283 | rb.touchscreen_set_mode(rb.TOUCHSCREEN_POINT) | 283 | rb.touchscreen_mode(rb.TOUCHSCREEN_POINT) |
284 | 284 | ||
285 | LapsView:init() | 285 | LapsView: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 | ||
diff --git a/apps/settings_list.c b/apps/settings_list.c index c13df734e6..1cdbc4115d 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -242,6 +242,9 @@ static const char graphic_numeric[] = "graphic,numeric"; | |||
242 | #define DEFAULT_FONT_HEIGHT 12 | 242 | #define DEFAULT_FONT_HEIGHT 12 |
243 | #elif LCD_HEIGHT <= 320 | 243 | #elif LCD_HEIGHT <= 320 |
244 | #define DEFAULT_FONT_HEIGHT 15 | 244 | #define DEFAULT_FONT_HEIGHT 15 |
245 | #elif defined(SHANLING_Q1) | ||
246 | /* 16pt font looks pretty aliased & ugly */ | ||
247 | #define DEFAULT_FONT_HEIGHT 18 | ||
245 | #elif LCD_HEIGHT <= 400 | 248 | #elif LCD_HEIGHT <= 400 |
246 | #define DEFAULT_FONT_HEIGHT 16 | 249 | #define DEFAULT_FONT_HEIGHT 16 |
247 | #elif LCD_HEIGHT <= 480 && LCD_WIDTH < 800 | 250 | #elif LCD_HEIGHT <= 480 && LCD_WIDTH < 800 |
@@ -261,7 +264,7 @@ static const char graphic_numeric[] = "graphic,numeric"; | |||
261 | #endif | 264 | #endif |
262 | 265 | ||
263 | #ifdef HAVE_LCD_COLOR | 266 | #ifdef HAVE_LCD_COLOR |
264 | #if DEFAULT_FONT_HEIGHT >= 31 | 267 | #if DEFAULT_FONT_HEIGHT >= 31 || defined(SHANLING_Q1) |
265 | #define DEFAULT_ICONSET "tango_icons.32x32" | 268 | #define DEFAULT_ICONSET "tango_icons.32x32" |
266 | #define DEFAULT_VIEWERS_ICONSET "tango_icons_viewers.32x32" | 269 | #define DEFAULT_VIEWERS_ICONSET "tango_icons_viewers.32x32" |
267 | #elif DEFAULT_FONT_HEIGHT >= 23 | 270 | #elif DEFAULT_FONT_HEIGHT >= 23 |
@@ -848,7 +851,11 @@ const struct settings_list settings[] = { | |||
848 | 851 | ||
849 | #ifdef AUDIOHW_HAVE_FILTER_ROLL_OFF | 852 | #ifdef AUDIOHW_HAVE_FILTER_ROLL_OFF |
850 | CHOICE_SETTING(F_SOUNDSETTING, roll_off, LANG_FILTER_ROLL_OFF, 0, | 853 | CHOICE_SETTING(F_SOUNDSETTING, roll_off, LANG_FILTER_ROLL_OFF, 0, |
851 | #if defined(AUDIOHW_HAVE_SHORT2_ROLL_OFF) | 854 | #if defined(AUDIOHW_HAVE_ES9218_ROLL_OFF) |
855 | "roll_off", "linear fast,linear slow,minimum fast,minimum slow,apodizing 1,apodizing 2,hybrid fast,brick wall", sound_set_filter_roll_off, | ||
856 | 8, ID2P(LANG_FILTER_LINEAR_FAST), ID2P(LANG_FILTER_LINEAR_SLOW), ID2P(LANG_FILTER_MINIMUM_FAST), ID2P(LANG_FILTER_MINIMUM_SLOW), | ||
857 | ID2P(LANG_FILTER_APODIZING_1), ID2P(LANG_FILTER_APODIZING_2), ID2P(LANG_FILTER_HYBRID_FAST), ID2P(LANG_FILTER_BRICK_WALL)), | ||
858 | #elif defined(AUDIOHW_HAVE_SHORT2_ROLL_OFF) | ||
852 | "roll_off", "sharp,slow,short sharp,short slow", sound_set_filter_roll_off, | 859 | "roll_off", "sharp,slow,short sharp,short slow", sound_set_filter_roll_off, |
853 | 4, ID2P(LANG_FILTER_SHARP), ID2P(LANG_FILTER_SLOW), ID2P(LANG_FILTER_SHORT_SHARP), ID2P(LANG_FILTER_SHORT_SLOW)), | 860 | 4, ID2P(LANG_FILTER_SHARP), ID2P(LANG_FILTER_SLOW), ID2P(LANG_FILTER_SHORT_SHARP), ID2P(LANG_FILTER_SHORT_SLOW)), |
854 | #elif defined(AUDIOHW_HAVE_SHORT_ROLL_OFF) | 861 | #elif defined(AUDIOHW_HAVE_SHORT_ROLL_OFF) |