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
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
BIN
apps/plugins/bitmaps/native/bubbles_background.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 422 KiB |
BIN
apps/plugins/bitmaps/native/bubbles_emblem.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
apps/plugins/bitmaps/native/invadrox_background.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
apps/plugins/bitmaps/native/jewels.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
apps/plugins/bitmaps/native/rockblox_background.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 422 KiB |
BIN
apps/plugins/bitmaps/native/sliding_puzzle.360x360x16.bmp
Normal file
|
After Width: | Height: | Size: 380 KiB |
BIN
apps/plugins/bitmaps/native/snake2_bottom.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
apps/plugins/bitmaps/native/snake2_header1.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
apps/plugins/bitmaps/native/snake2_header2.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
apps/plugins/bitmaps/native/snake2_left.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
apps/plugins/bitmaps/native/snake2_right.360x400x16.bmp
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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!
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -280,7 +280,7 @@ function arrangeButtons(btns)
|
|||
end
|
||||
end
|
||||
|
||||
rb.touchscreen_set_mode(rb.TOUCHSCREEN_POINT)
|
||||
rb.touchscreen_mode(rb.TOUCHSCREEN_POINT)
|
||||
|
||||
LapsView:init()
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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!
|
||||
|
||||
|
|
|
|||