1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Aidan MacDonald 2021-05-23 17:30:58 +01:00
parent 3abb7c5dd5
commit 4c60bc9e68
110 changed files with 2843 additions and 15 deletions

View file

@ -234,6 +234,9 @@
#define BATTERY_ON_TXT "Play"
#define BATTERY_OFF_TXT "Power"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error "No keymap defined!"
#endif

View file

@ -19,7 +19,8 @@ bubbles_bubble.138x110x1.bmp
((LCD_WIDTH == 176) && (LCD_HEIGHT == 220))
bubbles_bubble.220x176x1.bmp
#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \
((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320))
((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)) || \
((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
bubbles_bubble.320x240x1.bmp
#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \
((LCD_WIDTH == 480) && (LCD_HEIGHT == 640))

View file

@ -158,6 +158,9 @@ jackpot_slots.30x420x1.bmp
((LCD_WIDTH >= 480) && (LCD_HEIGHT >= 640))
bubbles_emblem.640x480x16.bmp
bubbles_background.640x480x16.bmp
#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400)
bubbles_emblem.360x400x16.bmp
bubbles_background.360x400x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
bubbles_emblem.320x240x16.bmp
bubbles_background.320x240x16.bmp
@ -388,7 +391,9 @@ invadrox_shield.22x16x16.bmp
invadrox_ufo.16x7x16.bmp
invadrox_ufo_explode.21x8x16.bmp
invadrox_numbers.50x7x16.bmp
#if LCD_WIDTH == 320
#if LCD_WIDTH == 360 && LCD_HEIGHT == 400
invadrox_background.360x400x16.bmp
#elif LCD_WIDTH == 320
invadrox_background.320x240x16.bmp
#elif LCD_WIDTH == 240
invadrox_background.240x320x16.bmp
@ -457,6 +462,8 @@ jewels.220x176x16.bmp
jewels.320x240x16.bmp
#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
jewels.320x240x16.bmp
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
jewels.360x400x16.bmp
#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \
((LCD_WIDTH == 480) && (LCD_HEIGHT == 640))
jewels.640x480x16.bmp
@ -546,6 +553,8 @@ puzzles_cursor.11x16x24.bmp
#if LCD_DEPTH >= 16 /* colour versions*/
#if (LCD_WIDTH == 640) && (LCD_HEIGHT == 480)
rockblox_background.640x480x16.bmp
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
rockblox_background.360x400x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
rockblox_background.320x240x16.bmp
#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
@ -603,6 +612,12 @@ snake2_header2.640x480x16.bmp
snake2_left.640x480x16.bmp
snake2_right.640x480x16.bmp
snake2_bottom.640x480x16.bmp
#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400) && (LCD_DEPTH >= 16)
snake2_header1.360x400x16.bmp
snake2_header2.360x400x16.bmp
snake2_left.360x400x16.bmp
snake2_right.360x400x16.bmp
snake2_bottom.360x400x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
snake2_header1.320x240x16.bmp
snake2_header2.320x240x16.bmp
@ -874,7 +889,8 @@ superdom_boarditems.176x132x16.bmp
#elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240)
superdom_boarditems.320x240x16.bmp
#elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \
((LCD_WIDTH == 240) && (LCD_HEIGHT == 400))
((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) || \
((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
superdom_boarditems.240x320x16.bmp
#elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640)
superdom_boarditems.480x640x16.bmp
@ -911,6 +927,8 @@ sliding_puzzle.132x132x16.bmp
sliding_puzzle.176x176x16.bmp
#elif SMALLER_DIMENSION <= 240
sliding_puzzle.240x240x16.bmp
#elif SMALLER_DIMENSION <= 360
sliding_puzzle.360x360x16.bmp
#elif SMALLER_DIMENSION <= 480
sliding_puzzle.480x480x16.bmp
#endif

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -607,6 +607,10 @@ enum {
#define BJACK_RIGHT BUTTON_RIGHT
#define BJACK_LEFT BUTTON_LEFT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define BJACK_QUIT BUTTON_POWER
#define BJACK_QUIT_NAME "QUIT"
#else
#error No keymap defined!
#endif

View file

@ -350,6 +350,9 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
#define UP BUTTON_UP
#define DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define QUIT BUTTON_POWER
#else
#error No keymap defined!
#endif

View file

@ -120,6 +120,17 @@ enum {
#define XOFS 128
#define MAX_FPS 40
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
#define XOFS 86
#define YOFS 100
#define SCORE_TXT_X 28
#define SCORE_TXT_WIDTH 32
#define SCORE_TXT_Y 48
#define LEVEL_TXT_X 27
#define LEVEL_TXT_WIDTH 32
#define LEVEL_TXT_Y 5
#define MAX_FPS 40
/* 22x22 bubbles (iPod Video) */
#elif (LCD_HEIGHT == 240) && (LCD_WIDTH == 320)
#define XOFS 72

View file

@ -533,6 +533,9 @@ F3: equal to "="
#define CALCULATOR_CALC BUTTON_MENU
#define CALCULATOR_CLEAR BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define CALCULATOR_QUIT BUTTON_POWER
#else
#error No keymap defined!
#endif

View file

@ -421,6 +421,9 @@
#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error "No keypad setting."
#endif

View file

@ -581,6 +581,9 @@
#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -395,6 +395,9 @@
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_POWER
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define CHC_QUIT BUTTON_POWER
#else
#error No keymap defined!
#endif

View file

@ -1291,6 +1291,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -316,6 +316,9 @@
#define CLIX_BUTTON_RIGHT BUTTON_RIGHT
#define CLIX_BUTTON_CLICK BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define CLIX_BUTTON_QUIT BUTTON_POWER
#else
#error "no keymap"
#endif

View file

@ -400,6 +400,9 @@
#define CUBE_PAUSE BUTTON_PLAY
#define CUBE_HIGHSPEED BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -614,6 +614,10 @@ void I_ShutdownGraphics(void)
#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
#define DOOMBUTTON_MAP BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define DOOMBUTTON_ESC BUTTON_POWER
#define DOOMBUTTON_MAP BUTTON_PREV
#else
#error Keymap not defined!
#endif

View file

@ -496,6 +496,9 @@
#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP
#define FLIPIT_TOGGLE BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -504,6 +504,9 @@
#define FRACTAL_PRECISION_DEC BUTTON_BACK
#define FRACTAL_RESET BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define FRACTAL_QUIT BUTTON_POWER
#else
#error No keymap defined!
#endif

View file

@ -539,6 +539,9 @@
#define IMGVIEW_MENU BUTTON_POWER
#define IMGVIEW_SLIDE_SHOW BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -296,6 +296,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define RIGHT BUTTON_RIGHT
#define FIRE BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error INVADROX: Unsupported keypad
#endif
@ -648,6 +651,23 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LIVES_X 8
#define MAX_Y 15
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
/* Shanling Q1
*/
#define ARCADISH_GRAPHICS
#define PLAYFIELD_X 32
#define SHIP_Y (PLAYFIELD_Y - 3 * SHIP_HEIGHT)
#define ALIEN_START_Y (UFO_Y + 3 * ALIEN_HEIGHT)
/* Redefine SCORE_Y */
#undef SCORE_Y
#define SCORE_Y 80
#define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH)
#define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1)
#define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 5 * NUM_SPACING)
#define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT)
#define LIVES_X 10
#define MAX_Y 18
#else
#error INVADROX: Unsupported LCD type

View file

@ -377,6 +377,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define HK_SELECT "SELECT"
#define HK_CANCEL "BACK"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -255,6 +255,15 @@
#define BTN_FIRE BUTTON_SELECT
#define BTN_PAUSE BUTTON_POWER
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define BTN_FIRE BUTTON_CENTER
#define BTN_PAUSE BUTTON_POWER
#define BTN_HAVE_DIAGONAL
#define BTN_DOWN_LEFT BUTTON_BOTTOMLEFT
#define BTN_DOWN_RIGHT BUTTON_BOTTOMRIGHT
#define BTN_UP_LEFT BUTTON_TOPLEFT
#define BTN_UP_RIGHT BUTTON_TOPRIGHT
#else
#error Unsupported keypad
#endif
@ -272,7 +281,8 @@
#elif (CONFIG_KEYPAD != COWON_D2_PAD) && \
(CONFIG_KEYPAD != DX50_PAD) && \
(CONFIG_KEYPAD != ONDAVX777_PAD) && \
(CONFIG_KEYPAD != CREATIVE_ZENXFI2_PAD)
(CONFIG_KEYPAD != CREATIVE_ZENXFI2_PAD) && \
(CONFIG_KEYPAD != SHANLING_Q1_PAD)
#define BTN_FIRE BUTTON_BOTTOMLEFT
#define BTN_PAUSE BUTTON_TOPLEFT
#endif

View file

@ -499,6 +499,8 @@ const struct button_mapping pla_main_ctx[] =
{PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
{PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
{PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
#elif (CONFIG_KEYPAD == SHANLING_Q1_PAD)
{PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
#else
# ifndef HAVE_TOUCHSCREEN
# error pluginlib_actions: No actions defined

View file

@ -325,6 +325,9 @@
#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
#define MIDI_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -443,6 +443,9 @@ CONFIG_KEYPAD == MROBE500_PAD
# define MINESWP_DISCOVER (BUTTON_SELECT|BUTTON_REPEAT)
# define MINESWP_INFO BUTTON_MENU
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -2580,6 +2580,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define MP3ENC_DONE BUTTON_POWER
#define MP3ENC_SELECT BUTTON_SELECT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -354,6 +354,9 @@ struct mpeg_settings settings;
#define MPEG_START_TIME_DOWN BUTTON_DOWN
#define MPEG_START_TIME_EXIT BUTTON_POWER
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define MPEG_START_TIME_EXIT BUTTON_POWER
#else
#error No keymap defined!
#endif

View file

@ -486,6 +486,9 @@ CONFIG_KEYPAD == SANSA_M200_PAD
#define MPEG_RW BUTTON_LEFT
#define MPEG_FF BUTTON_RIGHT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -548,6 +548,9 @@
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -398,6 +398,16 @@
#define PACMAN_1UP BUTTON_VOL_UP
#define PACMAN_COIN BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define PACMAN_UP BUTTON_TOPMIDDLE
#define PACMAN_DOWN BUTTON_BOTTOMMIDDLE
#define PACMAN_LEFT BUTTON_MIDLEFT
#define PACMAN_RIGHT BUTTON_MIDRIGHT
#define PACMAN_MENU BUTTON_TOPLEFT
#define PACMAN_1UP BUTTON_BOTTOMLEFT
#define PACMAN_2UP BUTTON_BOTTOMRIGHT
#define PACMAN_COIN BUTTON_CENTER
#else
#error Keymap not defined!

View file

@ -711,6 +711,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error "Unsupported keymap!"
#endif

View file

@ -325,6 +325,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PONG_RIGHT_UP BUTTON_BACK
#define PONG_RIGHT_DOWN BUTTON_RIGHT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -361,6 +361,9 @@
#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
#define REVERSI_BUTTON_MENU BUTTON_MENU
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -465,6 +465,9 @@
#define ROCKBLOX_DROP BUTTON_PLAY
#define ROCKBLOX_RESTART BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif
@ -534,6 +537,22 @@
#define LEVEL_Y 142
#define LINES_Y 218
#elif (LCD_WIDTH == 360) && (LCD_HEIGHT == 400)
#define BLOCK_WIDTH 19
#define BLOCK_HEIGHT 19
#define BOARD_X 27
#define BOARD_Y 0
#define LABEL_X 258
#define SCORE_Y 40
#define LEVEL_Y 92
#define LINES_Y 140
#define HIGH_LABEL_X 258
#define HIGH_SCORE_Y 200
#define HIGH_LEVEL_Y 258
#define PREVIEW_X 258
#define PREVIEW_Y 300
#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
#define BLOCK_WIDTH 12

View file

@ -468,6 +468,9 @@ static void setoptions (void)
options.SELECT = BUTTON_VOL_UP;
options.MENU = BUTTON_POWER;
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No Keymap Defined!
#endif

View file

@ -404,6 +404,9 @@
#define ROCKPAINT_LEFT BUTTON_LEFT
#define ROCKPAINT_RIGHT BUTTON_RIGHT
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error "Please define keys for this keypad"
#endif

View file

@ -357,6 +357,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define PUZZLE_SHUFFLE BUTTON_BACK
#define PUZZLE_PICTURE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -313,6 +313,9 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -62,6 +62,18 @@ Head and Tail are stored
#define TOP_X4 548 /* x-coord of the lowerright item (hi-score) */
#define TOP_Y1 8 /* y-coord of the top row of items */
#define TOP_Y2 50 /* y-coord of the bottom row of items */
#elif (LCD_WIDTH >= 360) && (LCD_HEIGHT >= 400)
#define MULTIPLIER 12 /*Modifier for porting on other screens*/
#define MODIFIER_1 12
#define MODIFIER_2 10
#define CENTER_X 12
#define CENTER_Y 40
#define TOP_X1 34 /* x-coord of the upperleft item (game type) */
#define TOP_X2 320 /* x-coord of the upperright item (maze type) */
#define TOP_X3 42 /* x-coord of the lowerleft item (speed) */
#define TOP_X4 314 /* x-coord of the lowerright item (hi-score) */
#define TOP_Y1 4 /* y-coord of the top row of items */
#define TOP_Y2 25 /* y-coord of the bottom row of items */
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
#define MULTIPLIER 10 /*Modifier for porting on other screens*/
#define MODIFIER_1 10
@ -446,6 +458,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SNAKE2_PLAYPAUSE BUTTON_PLAY
#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -696,6 +696,9 @@
#define BUTTON_SAVE BUTTON_BACK
#define BUTTON_SAVE_NAME "BACK"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -741,6 +741,9 @@ CONFIG_KEYPAD == MROBE500_PAD
# define HK_CUR2STACK "HOLD SELECT"
# define HK_REM2STACK "VOL+"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
# define SOL_QUIT BUTTON_POWER
#else
#error No keymap defined!
#endif

View file

@ -372,6 +372,9 @@
#define AST_RIGHT BUTTON_RIGHT
#define AST_FIRE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -668,6 +668,10 @@
#define STAR_LEVEL_DOWN_NAME "VOL-"
#define STAR_LEVEL_REPEAT_NAME "BACK"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define STAR_QUIT BUTTON_POWER
#define STAR_QUIT_NAME "POWER"
#else
#error No keymap defined!
#endif

View file

@ -280,7 +280,7 @@ function arrangeButtons(btns)
end
end
rb.touchscreen_set_mode(rb.TOUCHSCREEN_POINT)
rb.touchscreen_mode(rb.TOUCHSCREEN_POINT)
LapsView:init()

View file

@ -460,6 +460,9 @@
#define SUDOKU_BUTTON_MENU BUTTON_MENU
#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -37,12 +37,17 @@
#elif CONFIG_KEYPAD == CREATIVE_ZENXFI2_PAD
#define TOUCHSCREEN_QUIT BUTTON_POWER
#define TOUCHSCREEN_TOGGLE BUTTON_MENU
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define TOUCHSCREEN_QUIT BUTTON_POWER
#define TOUCHSCREEN_TOGGLE BUTTON_PLAY
#elif (CONFIG_KEYPAD == ANDROID_PAD)
#define TOUCHSCREEN_QUIT BUTTON_BACK
#define TOUCHSCREEN_TOGGLE BUTTON_MENU
#elif (CONFIG_KEYPAD == SDL_PAD)
#define TOUCHSCREEN_QUIT BUTTON_MIDLEFT
#define TOUCHSCREEN_TOGGLE BUTTON_CENTER
#else
# error "No keymap defined!"
#endif
/* plugin entry point */

View file

@ -572,6 +572,9 @@
#define TV_LINE_DOWN BUTTON_SCROLL_FWD
#define TV_BOOKMARK BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
#define TV_BOOKMARK BUTTON_PLAY
#else
#error No keymap defined!
#endif

View file

@ -452,6 +452,9 @@
#define LABEL_MENU "MENU"
#define LABEL_VOLUME "VOL+/VOL-"
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif

View file

@ -407,6 +407,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define BTN_QUIT BUTTON_POWER
#define BTN_STOPRESET BUTTON_BACK
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error No keymap defined!
#endif
@ -492,7 +495,8 @@ CONFIG_KEYPAD == MROBE500_PAD
#define SPEED 4
#define MAX_WORM_SEGMENTS 512
#elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \
((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400)))
((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))) || \
((LCD_WIDTH == 360) && (LCD_HEIGHT == 400))
#define FOOD_SIZE 7
#define ARGH_SIZE 8
#define SPEED 4

View file

@ -351,6 +351,9 @@ CONFIG_KEYPAD == MROBE500_PAD
#define DOWN BUTTON_DOWN
#define PAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error "No keymap defined!"
#endif

View file

@ -290,6 +290,9 @@
#define ZX_UP BUTTON_UP
#define ZX_DOWN BUTTON_DOWN
#elif CONFIG_KEYPAD == SHANLING_Q1_PAD
/* use touchscreen */
#else
#error Keymap not defined!