diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index 4c517a1c07..cd863fafcb 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c @@ -240,7 +240,7 @@ #define BATTERY_ON_TXT "SELECT - start" #define BATTERY_OFF_TXT "POWER" -#elif (CONFIG_KEYPAD == HM60X_PAD) +#elif (CONFIG_KEYPAD == HM60X_PAD) || (CONFIG_KEYPAD == HM801_PAD) #define BATTERY_ON BUTTON_SELECT #define BATTERY_OFF BUTTON_POWER #define BATTERY_ON_TXT "SELECT - start" diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c index 945048a7ed..37ba083580 100644 --- a/apps/plugins/blackjack.c +++ b/apps/plugins/blackjack.c @@ -498,6 +498,20 @@ enum { #define BJACK_RIGHT BUTTON_RIGHT #define BJACK_LEFT BUTTON_LEFT +#elif CONFIG_KEYPAD == HM801_PAD +#define BJACK_SELECT_NAME "SELECT" +#define BJACK_STAY_NAME "PLAY" +#define BJACK_QUIT_NAME "POWER" +#define BJACK_DOUBLE_NAME "PREV" +#define BJACK_SELECT BUTTON_SELECT +#define BJACK_QUIT BUTTON_POWER +#define BJACK_STAY BUTTON_PLAY +#define BJACK_DOUBLEDOWN BUTTON_PREV +#define BJACK_UP BUTTON_UP +#define BJACK_DOWN BUTTON_DOWN +#define BJACK_RIGHT BUTTON_RIGHT +#define BJACK_LEFT BUTTON_LEFT + #else #error No keymap defined! #endif diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c index b1616a81db..d3256f8733 100644 --- a/apps/plugins/brickmania.c +++ b/apps/plugins/brickmania.c @@ -277,7 +277,8 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD #define UP BUTTON_UP #define DOWN BUTTON_DOWN -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define QUIT BUTTON_POWER #define LEFT BUTTON_LEFT #define RIGHT BUTTON_RIGHT diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c index 44e4aedecc..9e9aa220bf 100644 --- a/apps/plugins/calculator.c +++ b/apps/plugins/calculator.c @@ -454,6 +454,17 @@ F3: equal to "=" #define CALCULATOR_CALC (BUTTON_UP|BUTTON_POWER) #define CALCULATOR_CLEAR (BUTTON_DOWN|BUTTON_POWER) +#elif (CONFIG_KEYPAD == HM801_PAD) + +#define CALCULATOR_LEFT BUTTON_LEFT +#define CALCULATOR_RIGHT BUTTON_RIGHT +#define CALCULATOR_UP BUTTON_UP +#define CALCULATOR_DOWN BUTTON_DOWN +#define CALCULATOR_QUIT BUTTON_POWER +#define CALCULATOR_INPUT BUTTON_SELECT +#define CALCULATOR_CALC BUTTON_PLAY +#define CALCULATOR_CLEAR BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c index ee0d4311a0..9f6d97096c 100644 --- a/apps/plugins/calendar.c +++ b/apps/plugins/calendar.c @@ -328,6 +328,16 @@ #define CALENDAR_NEXT_MONTH (BUTTON_RIGHT|BUTTON_POWER) #define CALENDAR_PREV_MONTH (BUTTON_LEFT|BUTTON_POWER) +#elif CONFIG_KEYPAD == HM801_PAD +#define CALENDAR_QUIT BUTTON_POWER +#define CALENDAR_SELECT BUTTON_SELECT +#define CALENDAR_NEXT_WEEK BUTTON_DOWN +#define CALENDAR_PREV_WEEK BUTTON_UP +#define CALENDAR_NEXT_DAY BUTTON_RIGHT +#define CALENDAR_PREV_DAY BUTTON_LEFT +#define CALENDAR_NEXT_MONTH BUTTON_NEXT +#define CALENDAR_PREV_MONTH BUTTON_PREV + #else #error "No keypad setting." #endif diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h index a6858ba478..a5868d04e0 100644 --- a/apps/plugins/chessbox/chessbox_pgn.h +++ b/apps/plugins/chessbox/chessbox_pgn.h @@ -443,6 +443,16 @@ #define CB_LEVEL (BUTTON_POWER | BUTTON_LEFT) #define CB_MENU (BUTTON_POWER | BUTTON_RIGHT) +#elif CONFIG_KEYPAD == HM801_PAD +#define CB_SELECT BUTTON_SELECT +#define CB_UP BUTTON_UP +#define CB_DOWN BUTTON_DOWN +#define CB_LEFT BUTTON_LEFT +#define CB_RIGHT BUTTON_RIGHT +#define CB_PLAY BUTTON_PLAY +#define CB_LEVEL BUTTON_PREV +#define CB_MENU BUTTON_POWER + #else #error No keymap defined! #endif diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c index 8c5f20cb99..0e18ccfcd6 100644 --- a/apps/plugins/chessclock.c +++ b/apps/plugins/chessclock.c @@ -346,6 +346,16 @@ #define CHC_SETTINGS_OK BUTTON_SELECT #define CHC_SETTINGS_CANCEL BUTTON_POWER +#elif CONFIG_KEYPAD == HM801_PAD +#define CHC_QUIT BUTTON_POWER +#define CHC_STARTSTOP BUTTON_PLAY +#define CHC_RESET BUTTON_LEFT +#define CHC_MENU BUTTON_RIGHT +#define CHC_SETTINGS_INC BUTTON_UP +#define CHC_SETTINGS_DEC BUTTON_DOWN +#define CHC_SETTINGS_OK BUTTON_SELECT +#define CHC_SETTINGS_CANCEL BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c index 33f867f06a..2585c49ff2 100644 --- a/apps/plugins/chip8.c +++ b/apps/plugins/chip8.c @@ -1218,6 +1218,18 @@ CONFIG_KEYPAD == MROBE500_PAD #define CHIP8_KEY6 BUTTON_RIGHT #define CHIP8_KEY8 BUTTON_LEFT +#elif (CONFIG_KEYPAD == HM801_PAD) +#define CHIP8_OFF (BUTTON_POWER|BUTTON_SELECT) +#define CHIP8_KEY1 BUTTON_PREV +#define CHIP8_KEY2 BUTTON_UP +#define CHIP8_KEY3 BUTTON_DOWN +#define CHIP8_KEY4 BUTTON_LEFT +#define CHIP8_KEY5 BUTTON_SELECT +#define CHIP8_KEY6 BUTTON_RIGHT +#define CHIP8_KEY7 BUTTON_NEXT +#define CHIP8_KEY8 BUTTON_PLAY +#define CHIP8_KEY9 BUTTON_POWER + #else #error No keymap defined! #endif diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c index ed458d3bf7..77af9756eb 100644 --- a/apps/plugins/chopper.c +++ b/apps/plugins/chopper.c @@ -180,7 +180,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define ACTION BUTTON_SELECT #define ACTIONTEXT "SELECT" -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define QUIT BUTTON_POWER #define ACTION BUTTON_SELECT #define ACTIONTEXT "SELECT" diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c index c48106b489..14b0b09cda 100644 --- a/apps/plugins/clix.c +++ b/apps/plugins/clix.c @@ -211,6 +211,16 @@ #define CLIX_BUTTON_RIGHT BUTTON_RIGHT #define CLIX_BUTTON_CLICK BUTTON_SELECT +#elif (CONFIG_KEYPAD == HM801_PAD) +#define CLIX_BUTTON_QUIT BUTTON_POWER +#define CLIX_BUTTON_UP BUTTON_UP +#define CLIX_BUTTON_DOWN BUTTON_DOWN +#define CLIX_BUTTON_SCROLL_FWD BUTTON_NEXT +#define CLIX_BUTTON_SCROLL_BACK BUTTON_PREV +#define CLIX_BUTTON_LEFT BUTTON_LEFT +#define CLIX_BUTTON_RIGHT BUTTON_RIGHT +#define CLIX_BUTTON_CLICK BUTTON_SELECT + #else #error "no keymap" #endif diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c index 962fc3a125..b6031af975 100644 --- a/apps/plugins/cube.c +++ b/apps/plugins/cube.c @@ -349,6 +349,16 @@ #define CUBE_PAUSE BUTTON_SELECT #define CUBE_HIGHSPEED (BUTTON_UP|BUTTON_POWER) +#elif (CONFIG_KEYPAD == HM801_PAD) +#define CUBE_QUIT BUTTON_POWER +#define CUBE_NEXT BUTTON_RIGHT +#define CUBE_PREV BUTTON_LEFT +#define CUBE_INC BUTTON_UP +#define CUBE_DEC BUTTON_DOWN +#define CUBE_MODE BUTTON_PREV +#define CUBE_PAUSE BUTTON_SELECT +#define CUBE_HIGHSPEED BUTTON_NEXT + #else #error No keymap defined! #endif diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c index d6f52b2f37..e04713d132 100644 --- a/apps/plugins/doom/i_video.c +++ b/apps/plugins/doom/i_video.c @@ -476,6 +476,19 @@ void I_ShutdownGraphics(void) #define DOOMBUTTON_WEAPON (BUTTON_POWER | BUTTON_LEFT) #define DOOMBUTTON_MAP (BUTTON_POWER | BUTTON_RIGHT) +#elif CONFIG_KEYPAD == HM801_PAD +#define DOOMBUTTON_UP BUTTON_UP +#define DOOMBUTTON_DOWN BUTTON_DOWN +#define DOOMBUTTON_LEFT BUTTON_LEFT +#define DOOMBUTTON_RIGHT BUTTON_RIGHT +#define DOOMBUTTON_OPEN BUTTON_PLAY +#define DOOMBUTTON_QUIT BUTTON_POWER +#define DOOMBUTTON_ESC (BUTTON_POWER | BUTTON_SELECT) +#define DOOMBUTTON_ENTER BUTTON_SELECT +#define DOOMBUTTON_SHOOT BUTTON_SELECT +#define DOOMBUTTON_WEAPON BUTTON_PREV +#define DOOMBUTTON_MAP BUTTON_NEXT + #else #error Keymap not defined! #endif diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c index e2f52ecaf9..7575b41700 100644 --- a/apps/plugins/fft/fft.c +++ b/apps/plugins/fft/fft.c @@ -275,6 +275,15 @@ GREY_INFO_STRUCT # define FFT_WINDOW (BUTTON_POWER|BUTTON_SELECT) # define FFT_QUIT BUTTON_POWER +#elif (CONFIG_KEYPAD == HM801_PAD) +# define FFT_PREV_GRAPH BUTTON_LEFT +# define FFT_NEXT_GRAPH BUTTON_RIGHT +# define FFT_AMP_SCALE BUTTON_UP +# define FFT_FREQ_SCALE BUTTON_DOWN +# define FFT_ORIENTATION BUTTON_SELECT +# define FFT_WINDOW BUTTON_PLAY +# define FFT_QUIT BUTTON_POWER + #elif !defined(HAVE_TOUCHSCREEN) #error No keymap defined! #endif diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c index ec03ed779f..f13d301d1c 100644 --- a/apps/plugins/flipit.c +++ b/apps/plugins/flipit.c @@ -404,6 +404,18 @@ #define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_POWER) #define FLIPIT_TOGGLE BUTTON_SELECT +#elif CONFIG_KEYPAD == HM801_PAD + +#define FLIPIT_LEFT BUTTON_LEFT +#define FLIPIT_RIGHT BUTTON_RIGHT +#define FLIPIT_UP BUTTON_UP +#define FLIPIT_DOWN BUTTON_DOWN +#define FLIPIT_QUIT BUTTON_POWER +#define FLIPIT_SHUFFLE BUTTON_PREV +#define FLIPIT_SOLVE BUTTON_NEXT +#define FLIPIT_STEP_BY_STEP BUTTON_PLAY +#define FLIPIT_TOGGLE BUTTON_SELECT + #else #error No keymap defined! #endif diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h index d48e1edebd..d2df7e20f1 100644 --- a/apps/plugins/fractals/fractal.h +++ b/apps/plugins/fractals/fractal.h @@ -402,6 +402,18 @@ #define FRACTAL_PRECISION_DEC (BUTTON_POWER | BUTTON_DOWN) #define FRACTAL_RESET (BUTTON_POWER | BUTTON_LEFT) +#elif CONFIG_KEYPAD == HM801_PAD +#define FRACTAL_QUIT BUTTON_POWER +#define FRACTAL_UP BUTTON_UP +#define FRACTAL_DOWN BUTTON_DOWN +#define FRACTAL_LEFT BUTTON_LEFT +#define FRACTAL_RIGHT BUTTON_RIGHT +#define FRACTAL_ZOOM_IN BUTTON_SELECT +#define FRACTAL_ZOOM_OUT BUTTON_PLAY +#define FRACTAL_PRECISION_INC BUTTON_NEXT +#define FRACTAL_PRECISION_DEC BUTTON_PREV +#define FRACTAL_RESET (BUTTON_POWER | BUTTON_PLAY) + #else #error No keymap defined! #endif diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h index ddcbd33856..f9925459ad 100644 --- a/apps/plugins/goban/goban.h +++ b/apps/plugins/goban/goban.h @@ -392,6 +392,18 @@ #define GBN_BUTTON_CONTEXT (BUTTON_POWER | BUTTON_DOWN) #define GBN_BUTTON_NEXT_VAR (BUTTON_POWER | BUTTON_RIGHT) +#elif (CONFIG_KEYPAD == HM801_PAD) +#define GBN_BUTTON_UP BUTTON_UP +#define GBN_BUTTON_DOWN BUTTON_DOWN +#define GBN_BUTTON_LEFT BUTTON_LEFT +#define GBN_BUTTON_RIGHT BUTTON_RIGHT +#define GBN_BUTTON_MENU BUTTON_POWER +#define GBN_BUTTON_PLAY BUTTON_SELECT +#define GBN_BUTTON_RETREAT BUTTON_PREV +#define GBN_BUTTON_ADVANCE (BUTTON_POWER | BUTTON_PLAY) +#define GBN_BUTTON_CONTEXT BUTTON_PLAY +#define GBN_BUTTON_NEXT_VAR BUTTON_NEXT + #else #error Unsupported keypad #endif diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h index eebfc81a68..94d481c6c3 100644 --- a/apps/plugins/imageviewer/imageviewer_button.h +++ b/apps/plugins/imageviewer/imageviewer_button.h @@ -403,6 +403,18 @@ #define IMGVIEW_MENU BUTTON_SELECT #define IMGVIEW_QUIT BUTTON_POWER +#elif CONFIG_KEYPAD == HM801_PAD +#define IMGVIEW_ZOOM_IN BUTTON_PLAY +#define IMGVIEW_ZOOM_OUT (BUTTON_POWER | BUTTON_PLAY) +#define IMGVIEW_UP BUTTON_UP +#define IMGVIEW_DOWN BUTTON_DOWN +#define IMGVIEW_LEFT BUTTON_LEFT +#define IMGVIEW_RIGHT BUTTON_RIGHT +#define IMGVIEW_NEXT BUTTON_NEXT +#define IMGVIEW_PREVIOUS BUTTON_PREV +#define IMGVIEW_MENU BUTTON_SELECT +#define IMGVIEW_QUIT BUTTON_POWER + #else #error No keymap defined! #endif diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c index 69eb6fead3..af17554eca 100644 --- a/apps/plugins/invadrox.c +++ b/apps/plugins/invadrox.c @@ -229,7 +229,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define RIGHT BUTTON_RIGHT #define FIRE BUTTON_SELECT -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define QUIT BUTTON_POWER #define LEFT BUTTON_LEFT diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c index a15e4b430f..aafb6e2bcf 100644 --- a/apps/plugins/jewels.c +++ b/apps/plugins/jewels.c @@ -315,7 +315,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define HK_SELECT "SELECT" #define HK_CANCEL "POWER" -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define JEWELS_LEFT BUTTON_LEFT #define JEWELS_RIGHT BUTTON_RIGHT #define JEWELS_UP BUTTON_UP diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index 7c6e2e6a02..9505668d7f 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -118,7 +118,8 @@ const struct button_mapping pla_main_ctx[] = || (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) \ || (CONFIG_KEYPAD == SANSA_CONNECT_PAD) \ || (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) \ - || (CONFIG_KEYPAD == HM60X_PAD)) + || (CONFIG_KEYPAD == HM60X_PAD) \ + || (CONFIG_KEYPAD == HM801_PAD)) { PLA_UP, BUTTON_UP, BUTTON_NONE }, { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE }, { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, @@ -275,7 +276,8 @@ const struct button_mapping pla_main_ctx[] = || CONFIG_KEYPAD == MROBE100_PAD \ || CONFIG_KEYPAD == PHILIPS_HDD1630_PAD \ || CONFIG_KEYPAD == SANSA_CONNECT_PAD \ - || CONFIG_KEYPAD == HM60X_PAD) + || CONFIG_KEYPAD == HM60X_PAD \ + || CONFIG_KEYPAD == HM801_PAD) {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c index 008fbf3665..3f3bb61855 100644 --- a/apps/plugins/midi/midiplay.c +++ b/apps/plugins/midi/midiplay.c @@ -241,7 +241,8 @@ #define BTN_DOWN BUTTON_DOWN #define BTN_PLAY BUTTON_USER -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define BTN_QUIT BUTTON_POWER #define BTN_RIGHT BUTTON_RIGHT #define BTN_LEFT BUTTON_LEFT diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c index 3303569220..542b9c8cba 100644 --- a/apps/plugins/minesweeper.c +++ b/apps/plugins/minesweeper.c @@ -334,6 +334,17 @@ CONFIG_KEYPAD == MROBE500_PAD # define MINESWP_DISCOVER BUTTON_SELECT # define MINESWP_INFO (BUTTON_UP|BUTTON_POWER) +#elif (CONFIG_KEYPAD == HM801_PAD) + +# define MINESWP_LEFT BUTTON_LEFT +# define MINESWP_RIGHT BUTTON_RIGHT +# define MINESWP_UP BUTTON_UP +# define MINESWP_DOWN BUTTON_DOWN +# define MINESWP_QUIT BUTTON_POWER +# define MINESWP_TOGGLE BUTTON_PLAY +# define MINESWP_DISCOVER BUTTON_SELECT +# define MINESWP_INFO BUTTON_PREV + #else #error No keymap defined! #endif diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c index d98a7ffb12..83e35481a2 100644 --- a/apps/plugins/mp3_encoder.c +++ b/apps/plugins/mp3_encoder.c @@ -2514,7 +2514,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define MP3ENC_DONE BUTTON_DOWN #define MP3ENC_SELECT BUTTON_SELECT -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define MP3ENC_PREV BUTTON_LEFT #define MP3ENC_NEXT BUTTON_RIGHT #define MP3ENC_DONE BUTTON_DOWN diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c index 4358ce14c4..1c3f3c0b92 100644 --- a/apps/plugins/mpegplayer/mpeg_settings.c +++ b/apps/plugins/mpegplayer/mpeg_settings.c @@ -256,7 +256,7 @@ struct mpeg_settings settings; #define MPEG_START_TIME_DOWN BUTTON_DOWN #define MPEG_START_TIME_EXIT BUTTON_BACK -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || (CONFIG_KEYPAD == HM801_PAD) #define MPEG_START_TIME_SELECT BUTTON_SELECT #define MPEG_START_TIME_LEFT BUTTON_LEFT #define MPEG_START_TIME_RIGHT BUTTON_RIGHT diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index 543eff4a7b..033a3ed1cb 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c @@ -380,6 +380,15 @@ CONFIG_KEYPAD == SANSA_M200_PAD #define MPEG_RW BUTTON_LEFT #define MPEG_FF BUTTON_RIGHT +#elif CONFIG_KEYPAD == HM801_PAD +#define MPEG_MENU BUTTON_POWER +#define MPEG_PAUSE BUTTON_PLAY +#define MPEG_STOP (BUTTON_POWER | BUTTON_PLAY) +#define MPEG_VOLDOWN (BUTTON_POWER | BUTTON_DOWN) +#define MPEG_VOLUP (BUTTON_POWER | BUTTON_UP) +#define MPEG_RW BUTTON_PREV +#define MPEG_FF BUTTON_NEXT + #else #error No keymap defined! #endif diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index 80582655f7..a4be0fbd8e 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c @@ -364,6 +364,17 @@ #define OSCILLOSCOPE_VOL_UP BUTTON_RIGHT #define OSCILLOSCOPE_VOL_DOWN BUTTON_LEFT +#elif (CONFIG_KEYPAD == HM801_PAD) +#define OSCILLOSCOPE_QUIT BUTTON_POWER +#define OSCILLOSCOPE_DRAWMODE BUTTON_PREV +#define OSCILLOSCOPE_ADVMODE BUTTON_NEXT +#define OSCILLOSCOPE_ORIENTATION BUTTON_PLAY +#define OSCILLOSCOPE_PAUSE BUTTON_SELECT +#define OSCILLOSCOPE_SPEED_UP BUTTON_UP +#define OSCILLOSCOPE_SPEED_DOWN BUTTON_DOWN +#define OSCILLOSCOPE_VOL_UP BUTTON_RIGHT +#define OSCILLOSCOPE_VOL_DOWN BUTTON_LEFT + #else #error No keymap defined! #endif diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h index 9af714e603..ac07848e79 100644 --- a/apps/plugins/pacbox/pacbox.h +++ b/apps/plugins/pacbox/pacbox.h @@ -287,6 +287,17 @@ #define PACMAN_COIN (BUTTON_POWER | BUTTON_DOWN) #define PACMAN_MENU BUTTON_POWER +#elif CONFIG_KEYPAD == HM801_PAD + +#define PACMAN_UP BUTTON_UP +#define PACMAN_DOWN BUTTON_DOWN +#define PACMAN_LEFT BUTTON_LEFT +#define PACMAN_RIGHT BUTTON_RIGHT +#define PACMAN_1UP BUTTON_SELECT +#define PACMAN_2UP BUTTON_PLAY +#define PACMAN_COIN BUTTON_PREV +#define PACMAN_MENU BUTTON_POWER + #else #error Keymap not defined! diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index 0f51cae06d..0f55557b92 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c @@ -548,6 +548,25 @@ CONFIG_KEYPAD == MROBE500_PAD #define LVL_DOWN_TEXT "POWER + DOWN" #define SELECT_TEXT "SELECT" +#elif CONFIG_KEYPAD == HM801_PAD +#define PEGBOX_SELECT BUTTON_SELECT +#define PEGBOX_QUIT BUTTON_POWER +#define PEGBOX_SAVE BUTTON_PLAY +#define PEGBOX_RESTART (BUTTON_POWER|BUTTON_PREV) +#define PEGBOX_LVL_UP BUTTON_NEXT +#define PEGBOX_LVL_DOWN BUTTON_PREV +#define PEGBOX_UP BUTTON_UP +#define PEGBOX_DOWN BUTTON_DOWN +#define PEGBOX_RIGHT BUTTON_RIGHT +#define PEGBOX_LEFT BUTTON_LEFT + +#define SAVE_TEXT "PLAY" +#define QUIT_TEXT "POWER" +#define RESTART_TEXT "POWER + PREV" +#define LVL_UP_TEXT "NEXT" +#define LVL_DOWN_TEXT "PREV" +#define SELECT_TEXT "SELECT" + #else #error Unsupported keymap! #endif diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c index 125b508fd7..372b84c9ac 100644 --- a/apps/plugins/pong.c +++ b/apps/plugins/pong.c @@ -253,7 +253,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define PONG_RIGHT_UP BUTTON_MENU #define PONG_RIGHT_DOWN BUTTON_POWER -#elif (CONFIG_KEYPAD == HM60X_PAD) +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define PONG_QUIT BUTTON_POWER #define PONG_PAUSE BUTTON_SELECT #define PONG_LEFT_UP BUTTON_UP diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h index 2e1efa39c3..47b7ff204d 100644 --- a/apps/plugins/reversi/reversi-gui.h +++ b/apps/plugins/reversi/reversi-gui.h @@ -274,7 +274,8 @@ #define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT #define REVERSI_BUTTON_MENU BUTTON_MENU -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define REVERSI_BUTTON_UP BUTTON_UP #define REVERSI_BUTTON_DOWN BUTTON_DOWN #define REVERSI_BUTTON_LEFT BUTTON_LEFT diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c index 03cf492ff0..17eadd65be 100644 --- a/apps/plugins/rockblox.c +++ b/apps/plugins/rockblox.c @@ -407,6 +407,18 @@ #define ROCKBLOX_DROP BUTTON_SELECT #define ROCKBLOX_RESTART (BUTTON_DOWN|BUTTON_POWER) +#elif CONFIG_KEYPAD == HM801_PAD + +#define ROCKBLOX_OFF BUTTON_POWER +#define ROCKBLOX_ROTATE_CCW BUTTON_PREV +#define ROCKBLOX_ROTATE_CW BUTTON_NEXT +#define ROCKBLOX_ROTATE BUTTON_UP +#define ROCKBLOX_DOWN BUTTON_DOWN +#define ROCKBLOX_LEFT BUTTON_LEFT +#define ROCKBLOX_RIGHT BUTTON_RIGHT +#define ROCKBLOX_DROP BUTTON_SELECT +#define ROCKBLOX_RESTART BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index ec2135af46..78239c0a34 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c @@ -354,6 +354,18 @@ static void setoptions (void) options.SELECT = BUTTON_USER; options.MENU = BUTTON_MENU; +#elif CONFIG_KEYPAD == HM801_PAD + options.UP = BUTTON_UP; + options.DOWN = BUTTON_DOWN; + options.LEFT = BUTTON_LEFT; + options.RIGHT = BUTTON_RIGHT; + + options.A = BUTTON_PREV; + options.B = BUTTON_NEXT; + options.START = BUTTON_PLAY; + options.SELECT = BUTTON_SELECT; + options.MENU = BUTTON_POWER; + #else #error No Keymap Defined! #endif diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c index df619fb736..37f9ee9429 100644 --- a/apps/plugins/rockpaint.c +++ b/apps/plugins/rockpaint.c @@ -265,6 +265,17 @@ #define ROCKPAINT_LEFT BUTTON_LEFT #define ROCKPAINT_RIGHT BUTTON_RIGHT +#elif (CONFIG_KEYPAD == HM801_PAD) +#define ROCKPAINT_QUIT BUTTON_POWER +#define ROCKPAINT_DRAW BUTTON_SELECT +#define ROCKPAINT_MENU BUTTON_PLAY +#define ROCKPAINT_TOOLBAR BUTTON_PREV +#define ROCKPAINT_TOOLBAR2 BUTTON_NEXT +#define ROCKPAINT_UP BUTTON_UP +#define ROCKPAINT_DOWN BUTTON_DOWN +#define ROCKPAINT_LEFT BUTTON_LEFT +#define ROCKPAINT_RIGHT BUTTON_RIGHT + #else #error "Please define keys for this keypad" #endif diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index 217d934cfc..710db94363 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -273,6 +273,15 @@ CONFIG_KEYPAD == MROBE500_PAD #define PUZZLE_SHUFFLE BUTTON_SELECT #define PUZZLE_PICTURE (BUTTON_POWER|BUTTON_SELECT) +#elif (CONFIG_KEYPAD == HM801_PAD) +#define PUZZLE_QUIT BUTTON_POWER +#define PUZZLE_LEFT BUTTON_LEFT +#define PUZZLE_RIGHT BUTTON_RIGHT +#define PUZZLE_UP BUTTON_UP +#define PUZZLE_DOWN BUTTON_DOWN +#define PUZZLE_SHUFFLE BUTTON_SELECT +#define PUZZLE_PICTURE BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c index 35db6c66d5..8d2a9b0011 100644 --- a/apps/plugins/snake.c +++ b/apps/plugins/snake.c @@ -235,7 +235,8 @@ 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_PLAYPAUSE -#elif (CONFIG_KEYPAD == HM60X_PAD) +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define SNAKE_QUIT BUTTON_POWER #define SNAKE_LEFT BUTTON_LEFT #define SNAKE_RIGHT BUTTON_RIGHT diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c index e83dcb6ceb..eec6e7f5c9 100644 --- a/apps/plugins/snake2.c +++ b/apps/plugins/snake2.c @@ -347,7 +347,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define SNAKE2_PLAYPAUSE BUTTON_PLAYPAUSE #define SNAKE2_PLAYPAUSE_TEXT "Play-Pause" -#elif (CONFIG_KEYPAD == HM60X_PAD) +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define SNAKE2_LEFT BUTTON_LEFT #define SNAKE2_RIGHT BUTTON_RIGHT #define SNAKE2_UP BUTTON_UP diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 39d5045042..79db233113 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c @@ -557,6 +557,20 @@ #define BUTTON_SAVE (BUTTON_LEFT|BUTTON_POWER) #define BUTTON_SAVE_NAME "LEFT + POWER" +#elif CONFIG_KEYPAD == HM801_PAD +#define SOKOBAN_LEFT BUTTON_LEFT +#define SOKOBAN_RIGHT BUTTON_RIGHT +#define SOKOBAN_UP BUTTON_UP +#define SOKOBAN_DOWN BUTTON_DOWN +#define SOKOBAN_MENU BUTTON_POWER +#define SOKOBAN_UNDO BUTTON_SELECT +#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_SELECT) +#define SOKOBAN_LEVEL_DOWN BUTTON_PREV +#define SOKOBAN_LEVEL_UP BUTTON_NEXT +#define SOKOBAN_PAUSE BUTTON_PLAY +#define BUTTON_SAVE (BUTTON_POWER | BUTTON_PLAY) +#define BUTTON_SAVE_NAME "POWER + PLAY" + #else #error No keymap defined! #endif diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index fcb985b6e3..fea92526be 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c @@ -578,6 +578,24 @@ CONFIG_KEYPAD == MROBE500_PAD # define HK_CUR2STACK "LEFT + POWER" # define HK_REM2STACK "RIGHT + POWER" +#elif (CONFIG_KEYPAD == HM801_PAD) +# define SOL_QUIT BUTTON_POWER +# define SOL_UP BUTTON_UP +# define SOL_DOWN BUTTON_DOWN +# define SOL_LEFT BUTTON_LEFT +# define SOL_RIGHT BUTTON_RIGHT +# define SOL_MOVE_PRE BUTTON_PREV +# define SOL_MOVE BUTTON_NEXT +# define SOL_DRAW BUTTON_PLAY +# define SOL_REM2CUR BUTTON_SELECT +# define SOL_CUR2STACK (BUTTON_POWER | BUTTON_LEFT) +# define SOL_REM2STACK (BUTTON_POWER | BUTTON_RIGHT) +# define HK_MOVE "PREV" +# define HK_DRAW "PLAY" +# define HK_REM2CUR "SELECT" +# define HK_CUR2STACK "POWER + LEFT" +# define HK_REM2STACK "POWER + RIGHT" + #else #error No keymap defined! #endif diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c index 4f134dd85f..e303a1138d 100644 --- a/apps/plugins/spacerocks.c +++ b/apps/plugins/spacerocks.c @@ -296,6 +296,15 @@ #define AST_RIGHT BUTTON_RIGHT #define AST_FIRE BUTTON_SELECT +#elif (CONFIG_KEYPAD == HM801_PAD) +#define AST_PAUSE BUTTON_PLAY +#define AST_QUIT BUTTON_POWER +#define AST_THRUST BUTTON_UP +#define AST_HYPERSPACE BUTTON_DOWN +#define AST_LEFT BUTTON_LEFT +#define AST_RIGHT BUTTON_RIGHT +#define AST_FIRE BUTTON_SELECT + #else #error No keymap defined! #endif diff --git a/apps/plugins/star.c b/apps/plugins/star.c index bc70b11070..4697ffb892 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c @@ -514,6 +514,23 @@ #define STAR_LEVEL_DOWN_NAME "POWER + DOWN" #define STAR_LEVEL_REPEAT_NAME "POWER + SELECT" +#elif (CONFIG_KEYPAD == HM801_PAD) + +#define STAR_QUIT BUTTON_POWER +#define STAR_LEFT BUTTON_LEFT +#define STAR_RIGHT BUTTON_RIGHT +#define STAR_UP BUTTON_UP +#define STAR_DOWN BUTTON_DOWN +#define STAR_TOGGLE_CONTROL BUTTON_SELECT +#define STAR_LEVEL_UP BUTTON_NEXT +#define STAR_LEVEL_DOWN BUTTON_PREV +#define STAR_LEVEL_REPEAT BUTTON_PLAY +#define STAR_TOGGLE_CONTROL_NAME "SELECT" +#define STAR_QUIT_NAME "POWER" +#define STAR_LEVEL_UP_NAME "NEXT" +#define STAR_LEVEL_DOWN_NAME "PREV" +#define STAR_LEVEL_REPEAT_NAME "PLAY" + #else #error No keymap defined! #endif diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index dcf0267265..7a7828b3f3 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c @@ -271,7 +271,8 @@ #define STOPWATCH_SCROLL_UP BUTTON_UP #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define STOPWATCH_QUIT BUTTON_POWER #define STOPWATCH_START_STOP BUTTON_SELECT #define STOPWATCH_RESET_TIMER BUTTON_LEFT diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h index a7bb85f6bb..b0a731d0f2 100644 --- a/apps/plugins/sudoku/sudoku.h +++ b/apps/plugins/sudoku/sudoku.h @@ -356,6 +356,18 @@ #define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_SELECT) #define SUDOKU_BUTTON_ALTTOGGLE (BUTTON_POWER | BUTTON_UP) +#elif CONFIG_KEYPAD == HM801_PAD +#define SUDOKU_BUTTON_QUIT BUTTON_POWER +#define SUDOKU_BUTTON_MENU BUTTON_PLAY +#define SUDOKU_BUTTON_LEFT BUTTON_LEFT +#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT +#define SUDOKU_BUTTON_UP BUTTON_UP +#define SUDOKU_BUTTON_DOWN BUTTON_DOWN +#define SUDOKU_BUTTON_TOGGLE BUTTON_NEXT +#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_PREV +#define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_SELECT) +#define SUDOKU_BUTTON_ALTTOGGLE BUTTON_SELECT + #else #error No keymap defined! #endif diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c index ee12136989..1ef99dee30 100644 --- a/apps/plugins/superdom.c +++ b/apps/plugins/superdom.c @@ -199,7 +199,8 @@ char buf[255]; #define SUPERDOM_RIGHT BUTTON_RIGHT #define SUPERDOM_CANCEL BUTTON_POWER -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define SUPERDOM_OK BUTTON_SELECT #define SUPERDOM_UP BUTTON_UP #define SUPERDOM_DOWN BUTTON_DOWN diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h index aa6bef9233..e96b6e6914 100644 --- a/apps/plugins/text_viewer/tv_button.h +++ b/apps/plugins/text_viewer/tv_button.h @@ -462,6 +462,16 @@ #define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_UP) #define TV_BOOKMARK BUTTON_SELECT +#elif CONFIG_KEYPAD == HM801_PAD +#define TV_QUIT BUTTON_POWER +#define TV_SCROLL_UP BUTTON_UP +#define TV_SCROLL_DOWN BUTTON_DOWN +#define TV_SCREEN_LEFT BUTTON_LEFT +#define TV_SCREEN_RIGHT BUTTON_RIGHT +#define TV_MENU BUTTON_PLAY +#define TV_AUTOSCROLL BUTTON_NEXT +#define TV_BOOKMARK BUTTON_SELECT + #else #error No keymap defined! #endif diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c index fab89a8634..51f2d19f40 100644 --- a/apps/plugins/vu_meter.c +++ b/apps/plugins/vu_meter.c @@ -349,7 +349,8 @@ #define LABEL_MENU "Menu" #define LABEL_VOLUME "Up/Down" -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define VUMETER_QUIT BUTTON_POWER #define VUMETER_HELP BUTTON_RIGHT #define VUMETER_MENU BUTTON_LEFT diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c index f7b8fce825..2ad5d538a3 100644 --- a/apps/plugins/wormlet.c +++ b/apps/plugins/wormlet.c @@ -331,6 +331,16 @@ CONFIG_KEYPAD == MROBE500_PAD #define BTN_QUIT BUTTON_POWER #define BTN_STOPRESET (BUTTON_POWER|BUTTON_SELECT) +#elif CONFIG_KEYPAD == HM801_PAD + +#define BTN_DIR_UP BUTTON_UP +#define BTN_DIR_DOWN BUTTON_DOWN +#define BTN_DIR_LEFT BUTTON_LEFT +#define BTN_DIR_RIGHT BUTTON_RIGHT +#define BTN_STARTPAUSE BUTTON_SELECT +#define BTN_QUIT BUTTON_POWER +#define BTN_STOPRESET BUTTON_PLAY + #else #error No keymap defined! #endif diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c index 583c7ed251..2696b09c17 100644 --- a/apps/plugins/xobox.c +++ b/apps/plugins/xobox.c @@ -286,7 +286,8 @@ CONFIG_KEYPAD == MROBE500_PAD #define DOWN BUTTON_DOWN #define PAUSE BUTTON_SELECT -#elif (CONFIG_KEYPAD == HM60X_PAD) +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define QUIT BUTTON_POWER #define LEFT BUTTON_LEFT diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h index fa0e6c9d3a..59dc93244f 100644 --- a/apps/plugins/zxbox/keymaps.h +++ b/apps/plugins/zxbox/keymaps.h @@ -227,7 +227,8 @@ #define ZX_LEFT BUTTON_LEFT #define ZX_RIGHT BUTTON_RIGHT -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define ZX_MENU BUTTON_POWER #define ZX_UP BUTTON_UP diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c index 52a9e29b84..c343122a4a 100644 --- a/apps/plugins/zxbox/zxbox_keyb.c +++ b/apps/plugins/zxbox/zxbox_keyb.c @@ -234,7 +234,8 @@ #define KBD_UP BUTTON_UP #define KBD_DOWN BUTTON_DOWN -#elif CONFIG_KEYPAD == HM60X_PAD +#elif (CONFIG_KEYPAD == HM60X_PAD) || \ + (CONFIG_KEYPAD == HM801_PAD) #define KBD_SELECT BUTTON_SELECT #define KBD_ABORT BUTTON_POWER diff --git a/firmware/export/rk27xx.h b/firmware/export/rk27xx.h index 7ada367627..d1b9758f65 100644 --- a/firmware/export/rk27xx.h +++ b/firmware/export/rk27xx.h @@ -1023,3 +1023,5 @@ #define PFCNTRB_CTRL (*(volatile unsigned long *)(ARM_CACHE_CTRL + 0x28)) #define PFCNTRB (*(volatile unsigned long *)(ARM_CACHE_CTRL + 0x2C)) +/* Timer frequency */ +#define TIMER_FREQ 50000000 diff --git a/firmware/target/arm/rk27xx/hm801/button-target.h b/firmware/target/arm/rk27xx/hm801/button-target.h index 736efb01c3..7754f867e5 100644 --- a/firmware/target/arm/rk27xx/hm801/button-target.h +++ b/firmware/target/arm/rk27xx/hm801/button-target.h @@ -31,6 +31,12 @@ #define BUTTON_PREV 0x00000080 #define BUTTON_PLAY 0x00000100 +#define BUTTON_MAIN (BUTTON_UP|BUTTON_POWER| \ + BUTTON_DOWN|BUTTON_LEFT| \ + BUTTON_RIGHT|BUTTON_SELECT| \ + BUTTON_NEXT|BUTTON_PREV| \ + BUTTON_PLAY) + #define POWEROFF_BUTTON BUTTON_POWER #define POWEROFF_COUNT 30