summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ryabinin <ryabinin.a.a@gmail.com>2012-03-23 22:32:50 +0400
committerAndrew Ryabinin <ryabinin.a.a@gmail.com>2012-04-19 17:31:13 +0400
commit397863ab3d45bdd8292512a22cd3b436cf281c76 (patch)
treea74a1fd6084875340f978ce67d4dc5ff8716c172
parent8187d8d5d158bef269048694fd6e65d89263cd42 (diff)
downloadrockbox-397863ab3d45bdd8292512a22cd3b436cf281c76.tar.gz
rockbox-397863ab3d45bdd8292512a22cd3b436cf281c76.zip
hm60x: Add support for plugins.
Change-Id: I4cad0881c8249f163680a280f70d1a0b36248da8
-rw-r--r--apps/plugins/SOURCES3
-rw-r--r--apps/plugins/SUBDIRS1
-rw-r--r--apps/plugins/battery_bench.c6
-rw-r--r--apps/plugins/blackjack.c14
-rw-r--r--apps/plugins/brickmania.c8
-rw-r--r--apps/plugins/calculator.c11
-rw-r--r--apps/plugins/calendar.c10
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h10
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/chip8.c8
-rw-r--r--apps/plugins/chopper.c5
-rw-r--r--apps/plugins/clix.c10
-rw-r--r--apps/plugins/cube.c10
-rw-r--r--apps/plugins/doom/i_video.c13
-rw-r--r--apps/plugins/fft/fft.c9
-rw-r--r--apps/plugins/flipit.c12
-rw-r--r--apps/plugins/fractals/fractal.h12
-rw-r--r--apps/plugins/goban/goban.h12
-rw-r--r--apps/plugins/imageviewer/imageviewer_button.h12
-rw-r--r--apps/plugins/invadrox.c7
-rw-r--r--apps/plugins/jewels.c10
-rw-r--r--apps/plugins/lib/pluginlib_actions.c6
-rw-r--r--apps/plugins/midi/midiplay.c8
-rw-r--r--apps/plugins/minesweeper.c11
-rw-r--r--apps/plugins/mp3_encoder.c6
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c8
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c9
-rw-r--r--apps/plugins/oscilloscope.c11
-rw-r--r--apps/plugins/pacbox/pacbox.h11
-rw-r--r--apps/plugins/pegbox.c19
-rw-r--r--apps/plugins/pong.c8
-rw-r--r--apps/plugins/reversi/reversi-gui.h8
-rw-r--r--apps/plugins/rockblox.c12
-rw-r--r--apps/plugins/rockpaint.c11
-rw-r--r--apps/plugins/sliding_puzzle.c9
-rw-r--r--apps/plugins/snake.c8
-rw-r--r--apps/plugins/snake2.c9
-rw-r--r--apps/plugins/sokoban.c14
-rw-r--r--apps/plugins/solitaire.c18
-rw-r--r--apps/plugins/spacerocks.c9
-rw-r--r--apps/plugins/star.c17
-rw-r--r--apps/plugins/stopwatch.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h12
-rw-r--r--apps/plugins/superdom.c8
-rw-r--r--apps/plugins/text_viewer/tv_button.h10
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c10
-rw-r--r--apps/plugins/xobox.c9
-rw-r--r--apps/plugins/zxbox/keymaps.h9
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c9
-rw-r--r--firmware/target/arm/rk27xx/hm60x/button-target.h4
51 files changed, 492 insertions, 3 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index a72579e3da..db690a638a 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -74,7 +74,8 @@ iriverify.c
74/* Overlays loaders */ 74/* Overlays loaders */
75#if PLUGIN_BUFFER_SIZE <= 0x20000 && defined(HAVE_LCD_BITMAP) 75#if PLUGIN_BUFFER_SIZE <= 0x20000 && defined(HAVE_LCD_BITMAP)
76 76
77#if CONFIG_KEYPAD != ONDIO_PAD && CONFIG_KEYPAD != SANSA_M200_PAD 77#if CONFIG_KEYPAD != ONDIO_PAD && CONFIG_KEYPAD != SANSA_M200_PAD \
78 && CONFIG_KEYPAD != HM60X_PAD
78/* not enough buttons for rockboy */ 79/* not enough buttons for rockboy */
79rockboy.c 80rockboy.c
80#endif 81#endif
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index d2feb721d4..c22977f137 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -14,6 +14,7 @@ clock
14 14
15#if (CONFIG_KEYPAD != ONDIO_PAD) /* not enough buttons */ \ 15#if (CONFIG_KEYPAD != ONDIO_PAD) /* not enough buttons */ \
16 && (CONFIG_KEYPAD != SANSA_M200_PAD) /* not enough buttons */ \ 16 && (CONFIG_KEYPAD != SANSA_M200_PAD) /* not enough buttons */ \
17 && (CONFIG_KEYPAD != HM60X_PAD) /* not enough buttons */ \
17 && (LCD_PIXELFORMAT != HORIZONTAL_PACKING) /* TODO */ \ 18 && (LCD_PIXELFORMAT != HORIZONTAL_PACKING) /* TODO */ \
18 && (LCD_PIXELFORMAT != VERTICAL_INTERLEAVED) /* TODO */ \ 19 && (LCD_PIXELFORMAT != VERTICAL_INTERLEAVED) /* TODO */ \
19 && (defined(HAVE_LCD_COLOR) || (LCD_HEIGHT == 64) && (LCD_DEPTH == 1) || \ 20 && (defined(HAVE_LCD_COLOR) || (LCD_HEIGHT == 64) && (LCD_DEPTH == 1) || \
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index bf40fe1759..4c517a1c07 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -240,6 +240,12 @@
240#define BATTERY_ON_TXT "SELECT - start" 240#define BATTERY_ON_TXT "SELECT - start"
241#define BATTERY_OFF_TXT "POWER" 241#define BATTERY_OFF_TXT "POWER"
242 242
243#elif (CONFIG_KEYPAD == HM60X_PAD)
244#define BATTERY_ON BUTTON_SELECT
245#define BATTERY_OFF BUTTON_POWER
246#define BATTERY_ON_TXT "SELECT - start"
247#define BATTERY_OFF_TXT "POWER"
248
243#else 249#else
244#error No keymap defined! 250#error No keymap defined!
245#endif 251#endif
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 91e70e4d1b..945048a7ed 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -484,6 +484,20 @@ enum {
484#define BJACK_RIGHT BUTTON_RIGHT 484#define BJACK_RIGHT BUTTON_RIGHT
485#define BJACK_LEFT BUTTON_LEFT 485#define BJACK_LEFT BUTTON_LEFT
486 486
487#elif CONFIG_KEYPAD == HM60X_PAD
488#define BJACK_SELECT_NAME "SELECT"
489#define BJACK_STAY_NAME "UP+POWER"
490#define BJACK_QUIT_NAME "POWER"
491#define BJACK_DOUBLE_NAME "DOWN+POWER"
492#define BJACK_SELECT BUTTON_SELECT
493#define BJACK_QUIT BUTTON_POWER
494#define BJACK_STAY (BUTTON_UP|BUTTON_POWER)
495#define BJACK_DOUBLEDOWN (BUTTON_DOWN|BUTTON_POWER)
496#define BJACK_UP BUTTON_UP
497#define BJACK_DOWN BUTTON_DOWN
498#define BJACK_RIGHT BUTTON_RIGHT
499#define BJACK_LEFT BUTTON_LEFT
500
487#else 501#else
488#error No keymap defined! 502#error No keymap defined!
489#endif 503#endif
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 7fa320a5fe..b1616a81db 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -277,6 +277,14 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
277#define UP BUTTON_UP 277#define UP BUTTON_UP
278#define DOWN BUTTON_DOWN 278#define DOWN BUTTON_DOWN
279 279
280#elif CONFIG_KEYPAD == HM60X_PAD
281#define QUIT BUTTON_POWER
282#define LEFT BUTTON_LEFT
283#define RIGHT BUTTON_RIGHT
284#define SELECT BUTTON_SELECT
285#define UP BUTTON_UP
286#define DOWN BUTTON_DOWN
287
280#else 288#else
281#error No keymap defined! 289#error No keymap defined!
282#endif 290#endif
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index b8d7d85e61..44e4aedecc 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -443,6 +443,17 @@ F3: equal to "="
443#define CALCULATOR_CALC BUTTON_MENU 443#define CALCULATOR_CALC BUTTON_MENU
444#define CALCULATOR_CLEAR BUTTON_USER 444#define CALCULATOR_CLEAR BUTTON_USER
445 445
446#elif (CONFIG_KEYPAD == HM60X_PAD)
447
448#define CALCULATOR_LEFT BUTTON_LEFT
449#define CALCULATOR_RIGHT BUTTON_RIGHT
450#define CALCULATOR_UP BUTTON_UP
451#define CALCULATOR_DOWN BUTTON_DOWN
452#define CALCULATOR_QUIT BUTTON_POWER
453#define CALCULATOR_INPUT BUTTON_SELECT
454#define CALCULATOR_CALC (BUTTON_UP|BUTTON_POWER)
455#define CALCULATOR_CLEAR (BUTTON_DOWN|BUTTON_POWER)
456
446#else 457#else
447#error No keymap defined! 458#error No keymap defined!
448#endif 459#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index 7dcb8ee34e..ee0d4311a0 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -318,6 +318,16 @@
318#define CALENDAR_NEXT_MONTH BUTTON_POWER 318#define CALENDAR_NEXT_MONTH BUTTON_POWER
319#define CALENDAR_PREV_MONTH BUTTON_USER 319#define CALENDAR_PREV_MONTH BUTTON_USER
320 320
321#elif CONFIG_KEYPAD == HM60X_PAD
322#define CALENDAR_QUIT BUTTON_POWER
323#define CALENDAR_SELECT BUTTON_SELECT
324#define CALENDAR_NEXT_WEEK BUTTON_DOWN
325#define CALENDAR_PREV_WEEK BUTTON_UP
326#define CALENDAR_NEXT_DAY BUTTON_RIGHT
327#define CALENDAR_PREV_DAY BUTTON_LEFT
328#define CALENDAR_NEXT_MONTH (BUTTON_RIGHT|BUTTON_POWER)
329#define CALENDAR_PREV_MONTH (BUTTON_LEFT|BUTTON_POWER)
330
321#else 331#else
322#error "No keypad setting." 332#error "No keypad setting."
323#endif 333#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index a41fcb6b7f..a6858ba478 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -433,6 +433,16 @@
433#define CB_LEVEL BUTTON_BACK 433#define CB_LEVEL BUTTON_BACK
434#define CB_MENU BUTTON_MENU 434#define CB_MENU BUTTON_MENU
435 435
436#elif CONFIG_KEYPAD == HM60X_PAD
437#define CB_SELECT BUTTON_SELECT
438#define CB_UP BUTTON_UP
439#define CB_DOWN BUTTON_DOWN
440#define CB_LEFT BUTTON_LEFT
441#define CB_RIGHT BUTTON_RIGHT
442#define CB_PLAY (BUTTON_POWER | BUTTON_SELECT)
443#define CB_LEVEL (BUTTON_POWER | BUTTON_LEFT)
444#define CB_MENU (BUTTON_POWER | BUTTON_RIGHT)
445
436#else 446#else
437#error No keymap defined! 447#error No keymap defined!
438#endif 448#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 64a851b6c0..8c5f20cb99 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -336,6 +336,16 @@
336#define CHC_SETTINGS_OK BUTTON_SELECT 336#define CHC_SETTINGS_OK BUTTON_SELECT
337#define CHC_SETTINGS_CANCEL BUTTON_BACK 337#define CHC_SETTINGS_CANCEL BUTTON_BACK
338 338
339#elif CONFIG_KEYPAD == HM60X_PAD
340#define CHC_QUIT BUTTON_POWER
341#define CHC_STARTSTOP BUTTON_SELECT
342#define CHC_RESET BUTTON_LEFT
343#define CHC_MENU BUTTON_RIGHT
344#define CHC_SETTINGS_INC BUTTON_UP
345#define CHC_SETTINGS_DEC BUTTON_DOWN
346#define CHC_SETTINGS_OK BUTTON_SELECT
347#define CHC_SETTINGS_CANCEL BUTTON_POWER
348
339#else 349#else
340#error No keymap defined! 350#error No keymap defined!
341#endif 351#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index b2faed5d80..33f867f06a 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1210,6 +1210,14 @@ CONFIG_KEYPAD == MROBE500_PAD
1210#define CHIP8_KEY8 BUTTON_POWER 1210#define CHIP8_KEY8 BUTTON_POWER
1211#define CHIP8_KEY9 BUTTON_USER 1211#define CHIP8_KEY9 BUTTON_USER
1212 1212
1213#elif (CONFIG_KEYPAD == HM60X_PAD)
1214#define CHIP8_OFF BUTTON_POWER
1215#define CHIP8_KEY2 BUTTON_UP
1216#define CHIP8_KEY4 BUTTON_DOWN
1217#define CHIP8_KEY5 BUTTON_SELECT
1218#define CHIP8_KEY6 BUTTON_RIGHT
1219#define CHIP8_KEY8 BUTTON_LEFT
1220
1213#else 1221#else
1214#error No keymap defined! 1222#error No keymap defined!
1215#endif 1223#endif
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 29c91407c2..ed458d3bf7 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -180,6 +180,11 @@ CONFIG_KEYPAD == MROBE500_PAD
180#define ACTION BUTTON_SELECT 180#define ACTION BUTTON_SELECT
181#define ACTIONTEXT "SELECT" 181#define ACTIONTEXT "SELECT"
182 182
183#elif CONFIG_KEYPAD == HM60X_PAD
184#define QUIT BUTTON_POWER
185#define ACTION BUTTON_SELECT
186#define ACTIONTEXT "SELECT"
187
183#elif !defined(HAVE_TOUCHSCREEN) 188#elif !defined(HAVE_TOUCHSCREEN)
184#error No keymap defined! 189#error No keymap defined!
185#endif 190#endif
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index 475023f1fd..c48106b489 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -201,6 +201,16 @@
201#define CLIX_BUTTON_SCROLL_BACK BUTTON_BOTTOMLEFT 201#define CLIX_BUTTON_SCROLL_BACK BUTTON_BOTTOMLEFT
202#define CLIX_BUTTON_CLICK BUTTON_SELECT 202#define CLIX_BUTTON_CLICK BUTTON_SELECT
203 203
204#elif (CONFIG_KEYPAD == HM60X_PAD)
205#define CLIX_BUTTON_QUIT BUTTON_POWER
206#define CLIX_BUTTON_UP BUTTON_UP
207#define CLIX_BUTTON_DOWN BUTTON_DOWN
208#define CLIX_BUTTON_SCROLL_FWD (BUTTON_POWER | BUTTON_UP)
209#define CLIX_BUTTON_SCROLL_BACK (BUTTON_POWER | BUTTON_DOWN)
210#define CLIX_BUTTON_LEFT BUTTON_LEFT
211#define CLIX_BUTTON_RIGHT BUTTON_RIGHT
212#define CLIX_BUTTON_CLICK BUTTON_SELECT
213
204#else 214#else
205#error "no keymap" 215#error "no keymap"
206#endif 216#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 1e80bda63a..962fc3a125 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -339,6 +339,16 @@
339#define CUBE_PAUSE BUTTON_USER 339#define CUBE_PAUSE BUTTON_USER
340#define CUBE_HIGHSPEED BUTTON_SELECT 340#define CUBE_HIGHSPEED BUTTON_SELECT
341 341
342#elif (CONFIG_KEYPAD == HM60X_PAD)
343#define CUBE_QUIT BUTTON_POWER
344#define CUBE_NEXT BUTTON_RIGHT
345#define CUBE_PREV BUTTON_LEFT
346#define CUBE_INC BUTTON_UP
347#define CUBE_DEC BUTTON_DOWN
348#define CUBE_MODE (BUTTON_SELECT|BUTTON_POWER)
349#define CUBE_PAUSE BUTTON_SELECT
350#define CUBE_HIGHSPEED (BUTTON_UP|BUTTON_POWER)
351
342#else 352#else
343#error No keymap defined! 353#error No keymap defined!
344#endif 354#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index b22ff78c5e..d6f52b2f37 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -463,6 +463,19 @@ void I_ShutdownGraphics(void)
463#define DOOMBUTTON_ENTER BUTTON_POWER 463#define DOOMBUTTON_ENTER BUTTON_POWER
464#define DOOMBUTTON_WEAPON BUTTON_USER 464#define DOOMBUTTON_WEAPON BUTTON_USER
465 465
466#elif CONFIG_KEYPAD == HM60X_PAD
467#define DOOMBUTTON_UP BUTTON_UP
468#define DOOMBUTTON_DOWN BUTTON_DOWN
469#define DOOMBUTTON_LEFT BUTTON_LEFT
470#define DOOMBUTTON_RIGHT BUTTON_RIGHT
471#define DOOMBUTTON_OPEN (BUTTON_POWER | BUTTON_SELECT)
472#define DOOMBUTTON_QUIT BUTTON_POWER
473#define DOOMBUTTON_ESC (BUTTON_POWER | BUTTON_UP)
474#define DOOMBUTTON_ENTER BUTTON_SELECT
475#define DOOMBUTTON_SHOOT BUTTON_SELECT
476#define DOOMBUTTON_WEAPON (BUTTON_POWER | BUTTON_LEFT)
477#define DOOMBUTTON_MAP (BUTTON_POWER | BUTTON_RIGHT)
478
466#else 479#else
467#error Keymap not defined! 480#error Keymap not defined!
468#endif 481#endif
diff --git a/apps/plugins/fft/fft.c b/apps/plugins/fft/fft.c
index f7d8943576..e2f52ecaf9 100644
--- a/apps/plugins/fft/fft.c
+++ b/apps/plugins/fft/fft.c
@@ -266,6 +266,15 @@ GREY_INFO_STRUCT
266# define FFT_FREQ_SCALE BUTTON_DOWN 266# define FFT_FREQ_SCALE BUTTON_DOWN
267# define FFT_QUIT BUTTON_BACK 267# define FFT_QUIT BUTTON_BACK
268 268
269#elif (CONFIG_KEYPAD == HM60X_PAD)
270# define FFT_PREV_GRAPH BUTTON_LEFT
271# define FFT_NEXT_GRAPH BUTTON_RIGHT
272# define FFT_AMP_SCALE BUTTON_UP
273# define FFT_FREQ_SCALE BUTTON_DOWN
274# define FFT_ORIENTATION BUTTON_SELECT
275# define FFT_WINDOW (BUTTON_POWER|BUTTON_SELECT)
276# define FFT_QUIT BUTTON_POWER
277
269#elif !defined(HAVE_TOUCHSCREEN) 278#elif !defined(HAVE_TOUCHSCREEN)
270#error No keymap defined! 279#error No keymap defined!
271#endif 280#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index baefbd6c27..ec03ed779f 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -392,6 +392,18 @@
392#define FLIPIT_STEP_BY_STEP BUTTON_POWER 392#define FLIPIT_STEP_BY_STEP BUTTON_POWER
393#define FLIPIT_TOGGLE BUTTON_SELECT 393#define FLIPIT_TOGGLE BUTTON_SELECT
394 394
395#elif CONFIG_KEYPAD == HM60X_PAD
396
397#define FLIPIT_LEFT BUTTON_LEFT
398#define FLIPIT_RIGHT BUTTON_RIGHT
399#define FLIPIT_UP BUTTON_UP
400#define FLIPIT_DOWN BUTTON_DOWN
401#define FLIPIT_QUIT BUTTON_POWER
402#define FLIPIT_SHUFFLE (BUTTON_UP|BUTTON_POWER)
403#define FLIPIT_SOLVE (BUTTON_DOWN|BUTTON_POWER)
404#define FLIPIT_STEP_BY_STEP (BUTTON_LEFT|BUTTON_POWER)
405#define FLIPIT_TOGGLE BUTTON_SELECT
406
395#else 407#else
396#error No keymap defined! 408#error No keymap defined!
397#endif 409#endif
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index 5fc05c2a58..d48e1edebd 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -390,6 +390,18 @@
390#define FRACTAL_PRECISION_DEC (BUTTON_USER|BUTTON_REPEAT) 390#define FRACTAL_PRECISION_DEC (BUTTON_USER|BUTTON_REPEAT)
391#define FRACTAL_RESET BUTTON_POWER 391#define FRACTAL_RESET BUTTON_POWER
392 392
393#elif CONFIG_KEYPAD == HM60X_PAD
394#define FRACTAL_QUIT BUTTON_POWER
395#define FRACTAL_UP BUTTON_UP
396#define FRACTAL_DOWN BUTTON_DOWN
397#define FRACTAL_LEFT BUTTON_LEFT
398#define FRACTAL_RIGHT BUTTON_RIGHT
399#define FRACTAL_ZOOM_IN BUTTON_SELECT
400#define FRACTAL_ZOOM_OUT (BUTTON_POWER | BUTTON_SELECT)
401#define FRACTAL_PRECISION_INC (BUTTON_POWER | BUTTON_UP)
402#define FRACTAL_PRECISION_DEC (BUTTON_POWER | BUTTON_DOWN)
403#define FRACTAL_RESET (BUTTON_POWER | BUTTON_LEFT)
404
393#else 405#else
394#error No keymap defined! 406#error No keymap defined!
395#endif 407#endif
diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h
index ac9995ce82..ddcbd33856 100644
--- a/apps/plugins/goban/goban.h
+++ b/apps/plugins/goban/goban.h
@@ -380,6 +380,18 @@
380#define GBN_BUTTON_PLAY BUTTON_SELECT 380#define GBN_BUTTON_PLAY BUTTON_SELECT
381#define GBN_BUTTON_MENU BUTTON_MENU 381#define GBN_BUTTON_MENU BUTTON_MENU
382 382
383#elif (CONFIG_KEYPAD == HM60X_PAD)
384#define GBN_BUTTON_UP BUTTON_UP
385#define GBN_BUTTON_DOWN BUTTON_DOWN
386#define GBN_BUTTON_LEFT BUTTON_LEFT
387#define GBN_BUTTON_RIGHT BUTTON_RIGHT
388#define GBN_BUTTON_MENU BUTTON_POWER
389#define GBN_BUTTON_PLAY BUTTON_SELECT
390#define GBN_BUTTON_RETREAT (BUTTON_POWER | BUTTON_LEFT)
391#define GBN_BUTTON_ADVANCE (BUTTON_POWER | BUTTON_UP)
392#define GBN_BUTTON_CONTEXT (BUTTON_POWER | BUTTON_DOWN)
393#define GBN_BUTTON_NEXT_VAR (BUTTON_POWER | BUTTON_RIGHT)
394
383#else 395#else
384#error Unsupported keypad 396#error Unsupported keypad
385#endif 397#endif
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index 37f5f404b6..eebfc81a68 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -391,6 +391,18 @@
391#define IMGVIEW_MENU BUTTON_MENU 391#define IMGVIEW_MENU BUTTON_MENU
392#define IMGVIEW_QUIT BUTTON_BACK 392#define IMGVIEW_QUIT BUTTON_BACK
393 393
394#elif CONFIG_KEYPAD == HM60X_PAD
395#define IMGVIEW_ZOOM_IN (BUTTON_POWER | BUTTON_UP)
396#define IMGVIEW_ZOOM_OUT (BUTTON_POWER | BUTTON_DOWN)
397#define IMGVIEW_UP BUTTON_UP
398#define IMGVIEW_DOWN BUTTON_DOWN
399#define IMGVIEW_LEFT BUTTON_LEFT
400#define IMGVIEW_RIGHT BUTTON_RIGHT
401#define IMGVIEW_NEXT (BUTTON_POWER | BUTTON_RIGHT)
402#define IMGVIEW_PREVIOUS (BUTTON_POWER | BUTTON_LEFT)
403#define IMGVIEW_MENU BUTTON_SELECT
404#define IMGVIEW_QUIT BUTTON_POWER
405
394#else 406#else
395#error No keymap defined! 407#error No keymap defined!
396#endif 408#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index 0cbbe9ddb6..69eb6fead3 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -229,6 +229,13 @@ CONFIG_KEYPAD == MROBE500_PAD
229#define RIGHT BUTTON_RIGHT 229#define RIGHT BUTTON_RIGHT
230#define FIRE BUTTON_SELECT 230#define FIRE BUTTON_SELECT
231 231
232#elif CONFIG_KEYPAD == HM60X_PAD
233
234#define QUIT BUTTON_POWER
235#define LEFT BUTTON_LEFT
236#define RIGHT BUTTON_RIGHT
237#define FIRE BUTTON_SELECT
238
232#else 239#else
233 #error INVADROX: Unsupported keypad 240 #error INVADROX: Unsupported keypad
234#endif 241#endif
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 6d03c9c654..a15e4b430f 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -315,6 +315,16 @@ CONFIG_KEYPAD == MROBE500_PAD
315#define HK_SELECT "SELECT" 315#define HK_SELECT "SELECT"
316#define HK_CANCEL "POWER" 316#define HK_CANCEL "POWER"
317 317
318#elif CONFIG_KEYPAD == HM60X_PAD
319#define JEWELS_LEFT BUTTON_LEFT
320#define JEWELS_RIGHT BUTTON_RIGHT
321#define JEWELS_UP BUTTON_UP
322#define JEWELS_DOWN BUTTON_DOWN
323#define JEWELS_SELECT BUTTON_SELECT
324#define JEWELS_CANCEL BUTTON_POWER
325#define HK_SELECT "SELECT"
326#define HK_CANCEL "POWER"
327
318#else 328#else
319#error No keymap defined! 329#error No keymap defined!
320#endif 330#endif
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index e22665e8e5..7c6e2e6a02 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -117,7 +117,8 @@ const struct button_mapping pla_main_ctx[] =
117 || (CONFIG_KEYPAD == SAMSUNG_YH_PAD) \ 117 || (CONFIG_KEYPAD == SAMSUNG_YH_PAD) \
118 || (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) \ 118 || (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) \
119 || (CONFIG_KEYPAD == SANSA_CONNECT_PAD) \ 119 || (CONFIG_KEYPAD == SANSA_CONNECT_PAD) \
120 || (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)) 120 || (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) \
121 || (CONFIG_KEYPAD == HM60X_PAD))
121 { PLA_UP, BUTTON_UP, BUTTON_NONE }, 122 { PLA_UP, BUTTON_UP, BUTTON_NONE },
122 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE }, 123 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE },
123 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, 124 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -273,7 +274,8 @@ const struct button_mapping pla_main_ctx[] =
273 || CONFIG_KEYPAD == SANSA_M200_PAD \ 274 || CONFIG_KEYPAD == SANSA_M200_PAD \
274 || CONFIG_KEYPAD == MROBE100_PAD \ 275 || CONFIG_KEYPAD == MROBE100_PAD \
275 || CONFIG_KEYPAD == PHILIPS_HDD1630_PAD \ 276 || CONFIG_KEYPAD == PHILIPS_HDD1630_PAD \
276 || CONFIG_KEYPAD == SANSA_CONNECT_PAD) 277 || CONFIG_KEYPAD == SANSA_CONNECT_PAD \
278 || CONFIG_KEYPAD == HM60X_PAD)
277 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER}, 279 {PLA_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER},
278 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE}, 280 {PLA_EXIT, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE},
279 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, 281 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 1412d4c742..008fbf3665 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -241,6 +241,14 @@
241#define BTN_DOWN BUTTON_DOWN 241#define BTN_DOWN BUTTON_DOWN
242#define BTN_PLAY BUTTON_USER 242#define BTN_PLAY BUTTON_USER
243 243
244#elif CONFIG_KEYPAD == HM60X_PAD
245#define BTN_QUIT BUTTON_POWER
246#define BTN_RIGHT BUTTON_RIGHT
247#define BTN_LEFT BUTTON_LEFT
248#define BTN_UP BUTTON_UP
249#define BTN_DOWN BUTTON_DOWN
250#define BTN_PLAY BUTTON_SELECT
251
244#else 252#else
245#error No keymap defined! 253#error No keymap defined!
246#endif 254#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index da07ba6294..3303569220 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -323,6 +323,17 @@ CONFIG_KEYPAD == MROBE500_PAD
323# define MINESWP_DISCOVER BUTTON_SELECT 323# define MINESWP_DISCOVER BUTTON_SELECT
324# define MINESWP_INFO BUTTON_MENU 324# define MINESWP_INFO BUTTON_MENU
325 325
326#elif (CONFIG_KEYPAD == HM60X_PAD)
327
328# define MINESWP_LEFT BUTTON_LEFT
329# define MINESWP_RIGHT BUTTON_RIGHT
330# define MINESWP_UP BUTTON_UP
331# define MINESWP_DOWN BUTTON_DOWN
332# define MINESWP_QUIT BUTTON_POWER
333# define MINESWP_TOGGLE (BUTTON_LEFT|BUTTON_POWER)
334# define MINESWP_DISCOVER BUTTON_SELECT
335# define MINESWP_INFO (BUTTON_UP|BUTTON_POWER)
336
326#else 337#else
327#error No keymap defined! 338#error No keymap defined!
328#endif 339#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 567ec5dbc8..d98a7ffb12 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2514,6 +2514,12 @@ CONFIG_KEYPAD == MROBE500_PAD
2514#define MP3ENC_DONE BUTTON_DOWN 2514#define MP3ENC_DONE BUTTON_DOWN
2515#define MP3ENC_SELECT BUTTON_SELECT 2515#define MP3ENC_SELECT BUTTON_SELECT
2516 2516
2517#elif CONFIG_KEYPAD == HM60X_PAD
2518#define MP3ENC_PREV BUTTON_LEFT
2519#define MP3ENC_NEXT BUTTON_RIGHT
2520#define MP3ENC_DONE BUTTON_DOWN
2521#define MP3ENC_SELECT BUTTON_SELECT
2522
2517#else 2523#else
2518#error No keymap defined! 2524#error No keymap defined!
2519#endif 2525#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index e9b1c01680..4358ce14c4 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -256,6 +256,14 @@ struct mpeg_settings settings;
256#define MPEG_START_TIME_DOWN BUTTON_DOWN 256#define MPEG_START_TIME_DOWN BUTTON_DOWN
257#define MPEG_START_TIME_EXIT BUTTON_BACK 257#define MPEG_START_TIME_EXIT BUTTON_BACK
258 258
259#elif CONFIG_KEYPAD == HM60X_PAD
260#define MPEG_START_TIME_SELECT BUTTON_SELECT
261#define MPEG_START_TIME_LEFT BUTTON_LEFT
262#define MPEG_START_TIME_RIGHT BUTTON_RIGHT
263#define MPEG_START_TIME_UP BUTTON_UP
264#define MPEG_START_TIME_DOWN BUTTON_DOWN
265#define MPEG_START_TIME_EXIT BUTTON_POWER
266
259#else 267#else
260#error No keymap defined! 268#error No keymap defined!
261#endif 269#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index f73e5f2090..543eff4a7b 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -371,6 +371,15 @@ CONFIG_KEYPAD == SANSA_M200_PAD
371#define MPEG_RW BUTTON_LEFT 371#define MPEG_RW BUTTON_LEFT
372#define MPEG_FF BUTTON_RIGHT 372#define MPEG_FF BUTTON_RIGHT
373 373
374#elif CONFIG_KEYPAD == HM60X_PAD
375#define MPEG_MENU BUTTON_POWER
376#define MPEG_PAUSE BUTTON_SELECT
377#define MPEG_STOP (BUTTON_SELECT | BUTTON_POWER)
378#define MPEG_VOLDOWN (BUTTON_POWER | BUTTON_DOWN)
379#define MPEG_VOLUP (BUTTON_POWER | BUTTON_UP)
380#define MPEG_RW BUTTON_LEFT
381#define MPEG_FF BUTTON_RIGHT
382
374#else 383#else
375#error No keymap defined! 384#error No keymap defined!
376#endif 385#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index 0a0164ed13..80582655f7 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -353,6 +353,17 @@
353#define OSCILLOSCOPE_VOL_UP BUTTON_UP 353#define OSCILLOSCOPE_VOL_UP BUTTON_UP
354#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN 354#define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN
355 355
356#elif (CONFIG_KEYPAD == HM60X_PAD)
357#define OSCILLOSCOPE_QUIT BUTTON_POWER
358#define OSCILLOSCOPE_DRAWMODE (BUTTON_POWER | BUTTON_SELECT)
359#define OSCILLOSCOPE_ADVMODE (BUTTON_POWER | BUTTON_RIGHT)
360#define OSCILLOSCOPE_ORIENTATION (BUTTON_POWER | BUTTON_LEFT)
361#define OSCILLOSCOPE_PAUSE BUTTON_SELECT
362#define OSCILLOSCOPE_SPEED_UP BUTTON_UP
363#define OSCILLOSCOPE_SPEED_DOWN BUTTON_DOWN
364#define OSCILLOSCOPE_VOL_UP BUTTON_RIGHT
365#define OSCILLOSCOPE_VOL_DOWN BUTTON_LEFT
366
356#else 367#else
357#error No keymap defined! 368#error No keymap defined!
358#endif 369#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index a3de867c2f..9af714e603 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -276,6 +276,17 @@
276#define PACMAN_COIN BUTTON_USER 276#define PACMAN_COIN BUTTON_USER
277#define PACMAN_MENU BUTTON_MENU 277#define PACMAN_MENU BUTTON_MENU
278 278
279#elif CONFIG_KEYPAD == HM60X_PAD
280
281#define PACMAN_UP BUTTON_UP
282#define PACMAN_DOWN BUTTON_DOWN
283#define PACMAN_LEFT BUTTON_LEFT
284#define PACMAN_RIGHT BUTTON_RIGHT
285#define PACMAN_1UP BUTTON_SELECT
286#define PACMAN_2UP (BUTTON_POWER | BUTTON_UP)
287#define PACMAN_COIN (BUTTON_POWER | BUTTON_DOWN)
288#define PACMAN_MENU BUTTON_POWER
289
279#else 290#else
280 291
281#error Keymap not defined! 292#error Keymap not defined!
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index 9f68fc3e31..0f51cae06d 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -529,6 +529,25 @@ CONFIG_KEYPAD == MROBE500_PAD
529#define LVL_DOWN_TEXT "Vol-" 529#define LVL_DOWN_TEXT "Vol-"
530#define SELECT_TEXT "SELECT" 530#define SELECT_TEXT "SELECT"
531 531
532#elif CONFIG_KEYPAD == HM60X_PAD
533#define PEGBOX_SELECT BUTTON_SELECT
534#define PEGBOX_QUIT BUTTON_POWER
535#define PEGBOX_SAVE (BUTTON_POWER|BUTTON_SELECT)
536#define PEGBOX_RESTART (BUTTON_POWER|BUTTON_LEFT)
537#define PEGBOX_LVL_UP (BUTTON_POWER|BUTTON_UP)
538#define PEGBOX_LVL_DOWN (BUTTON_POWER|BUTTON_DOWN)
539#define PEGBOX_UP BUTTON_UP
540#define PEGBOX_DOWN BUTTON_DOWN
541#define PEGBOX_RIGHT BUTTON_RIGHT
542#define PEGBOX_LEFT BUTTON_LEFT
543
544#define SAVE_TEXT "POWER + SELECT"
545#define QUIT_TEXT "POWER"
546#define RESTART_TEXT "POWER + LEFT"
547#define LVL_UP_TEXT "POWER + UP"
548#define LVL_DOWN_TEXT "POWER + DOWN"
549#define SELECT_TEXT "SELECT"
550
532#else 551#else
533#error Unsupported keymap! 552#error Unsupported keymap!
534#endif 553#endif
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 7a708ae978..125b508fd7 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -253,6 +253,14 @@ CONFIG_KEYPAD == MROBE500_PAD
253#define PONG_RIGHT_UP BUTTON_MENU 253#define PONG_RIGHT_UP BUTTON_MENU
254#define PONG_RIGHT_DOWN BUTTON_POWER 254#define PONG_RIGHT_DOWN BUTTON_POWER
255 255
256#elif (CONFIG_KEYPAD == HM60X_PAD)
257#define PONG_QUIT BUTTON_POWER
258#define PONG_PAUSE BUTTON_SELECT
259#define PONG_LEFT_UP BUTTON_UP
260#define PONG_LEFT_DOWN BUTTON_DOWN
261#define PONG_RIGHT_UP BUTTON_RIGHT
262#define PONG_RIGHT_DOWN BUTTON_LEFT
263
256#else 264#else
257#error No keymap defined! 265#error No keymap defined!
258#endif 266#endif
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 60b35d94e2..2e1efa39c3 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -274,6 +274,14 @@
274#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT 274#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
275#define REVERSI_BUTTON_MENU BUTTON_MENU 275#define REVERSI_BUTTON_MENU BUTTON_MENU
276 276
277#elif CONFIG_KEYPAD == HM60X_PAD
278#define REVERSI_BUTTON_UP BUTTON_UP
279#define REVERSI_BUTTON_DOWN BUTTON_DOWN
280#define REVERSI_BUTTON_LEFT BUTTON_LEFT
281#define REVERSI_BUTTON_RIGHT BUTTON_RIGHT
282#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
283#define REVERSI_BUTTON_MENU BUTTON_POWER
284
277#else 285#else
278#error No keymap defined! 286#error No keymap defined!
279#endif 287#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 7db4dd087f..03cf492ff0 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -395,6 +395,18 @@
395#define ROCKBLOX_DROP BUTTON_SELECT 395#define ROCKBLOX_DROP BUTTON_SELECT
396#define ROCKBLOX_RESTART BUTTON_USER 396#define ROCKBLOX_RESTART BUTTON_USER
397 397
398#elif CONFIG_KEYPAD == HM60X_PAD
399
400#define ROCKBLOX_OFF BUTTON_POWER
401#define ROCKBLOX_ROTATE_CCW (BUTTON_LEFT|BUTTON_POWER)
402#define ROCKBLOX_ROTATE_CW (BUTTON_RIGHT|BUTTON_POWER)
403#define ROCKBLOX_ROTATE BUTTON_UP
404#define ROCKBLOX_DOWN BUTTON_DOWN
405#define ROCKBLOX_LEFT BUTTON_LEFT
406#define ROCKBLOX_RIGHT BUTTON_RIGHT
407#define ROCKBLOX_DROP BUTTON_SELECT
408#define ROCKBLOX_RESTART (BUTTON_DOWN|BUTTON_POWER)
409
398#else 410#else
399#error No keymap defined! 411#error No keymap defined!
400#endif 412#endif
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index eeca916d1d..df619fb736 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -254,6 +254,17 @@
254#define ROCKPAINT_LEFT BUTTON_LEFT 254#define ROCKPAINT_LEFT BUTTON_LEFT
255#define ROCKPAINT_RIGHT BUTTON_RIGHT 255#define ROCKPAINT_RIGHT BUTTON_RIGHT
256 256
257#elif (CONFIG_KEYPAD == HM60X_PAD)
258#define ROCKPAINT_QUIT BUTTON_POWER
259#define ROCKPAINT_DRAW BUTTON_SELECT
260#define ROCKPAINT_MENU (BUTTON_POWER | BUTTON_SELECT)
261#define ROCKPAINT_TOOLBAR (BUTTON_POWER | BUTTON_UP)
262#define ROCKPAINT_TOOLBAR2 (BUTTON_POWER | BUTTON_LEFT)
263#define ROCKPAINT_UP BUTTON_UP
264#define ROCKPAINT_DOWN BUTTON_DOWN
265#define ROCKPAINT_LEFT BUTTON_LEFT
266#define ROCKPAINT_RIGHT BUTTON_RIGHT
267
257#else 268#else
258#error "Please define keys for this keypad" 269#error "Please define keys for this keypad"
259#endif 270#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 118a85926e..217d934cfc 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -264,6 +264,15 @@ CONFIG_KEYPAD == MROBE500_PAD
264#define PUZZLE_SHUFFLE BUTTON_VOL_DOWN 264#define PUZZLE_SHUFFLE BUTTON_VOL_DOWN
265#define PUZZLE_PICTURE BUTTON_SELECT 265#define PUZZLE_PICTURE BUTTON_SELECT
266 266
267#elif (CONFIG_KEYPAD == HM60X_PAD)
268#define PUZZLE_QUIT BUTTON_POWER
269#define PUZZLE_LEFT BUTTON_LEFT
270#define PUZZLE_RIGHT BUTTON_RIGHT
271#define PUZZLE_UP BUTTON_UP
272#define PUZZLE_DOWN BUTTON_DOWN
273#define PUZZLE_SHUFFLE BUTTON_SELECT
274#define PUZZLE_PICTURE (BUTTON_POWER|BUTTON_SELECT)
275
267#else 276#else
268#error No keymap defined! 277#error No keymap defined!
269#endif 278#endif
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index 21d5977a99..35db6c66d5 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -235,6 +235,14 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
235#define SNAKE_DOWN BUTTON_DOWN 235#define SNAKE_DOWN BUTTON_DOWN
236#define SNAKE_PLAYPAUSE BUTTON_PLAYPAUSE 236#define SNAKE_PLAYPAUSE BUTTON_PLAYPAUSE
237 237
238#elif (CONFIG_KEYPAD == HM60X_PAD)
239#define SNAKE_QUIT BUTTON_POWER
240#define SNAKE_LEFT BUTTON_LEFT
241#define SNAKE_RIGHT BUTTON_RIGHT
242#define SNAKE_UP BUTTON_UP
243#define SNAKE_DOWN BUTTON_DOWN
244#define SNAKE_PLAYPAUSE BUTTON_SELECT
245
238#else 246#else
239#error No keymap defined! 247#error No keymap defined!
240#endif 248#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 95dc4c4503..e83dcb6ceb 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -347,6 +347,15 @@ CONFIG_KEYPAD == MROBE500_PAD
347#define SNAKE2_PLAYPAUSE BUTTON_PLAYPAUSE 347#define SNAKE2_PLAYPAUSE BUTTON_PLAYPAUSE
348#define SNAKE2_PLAYPAUSE_TEXT "Play-Pause" 348#define SNAKE2_PLAYPAUSE_TEXT "Play-Pause"
349 349
350#elif (CONFIG_KEYPAD == HM60X_PAD)
351#define SNAKE2_LEFT BUTTON_LEFT
352#define SNAKE2_RIGHT BUTTON_RIGHT
353#define SNAKE2_UP BUTTON_UP
354#define SNAKE2_DOWN BUTTON_DOWN
355#define SNAKE2_QUIT BUTTON_POWER
356#define SNAKE2_PLAYPAUSE BUTTON_SELECT
357#define SNAKE2_PLAYPAUSE_TEXT "Select"
358
350#else 359#else
351#error No keymap defined! 360#error No keymap defined!
352#endif 361#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 2bf90f6fd5..39d5045042 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -543,6 +543,20 @@
543#define BUTTON_SAVE BUTTON_SELECT 543#define BUTTON_SAVE BUTTON_SELECT
544#define BUTTON_SAVE_NAME "SELECT" 544#define BUTTON_SAVE_NAME "SELECT"
545 545
546#elif CONFIG_KEYPAD == HM60X_PAD
547#define SOKOBAN_LEFT BUTTON_LEFT
548#define SOKOBAN_RIGHT BUTTON_RIGHT
549#define SOKOBAN_UP BUTTON_UP
550#define SOKOBAN_DOWN BUTTON_DOWN
551#define SOKOBAN_MENU BUTTON_POWER
552#define SOKOBAN_UNDO BUTTON_SELECT
553#define SOKOBAN_REDO (BUTTON_SELECT|BUTTON_POWER)
554#define SOKOBAN_LEVEL_DOWN (BUTTON_DOWN|BUTTON_POWER)
555#define SOKOBAN_LEVEL_UP (BUTTON_UP | BUTTON_POWER)
556#define SOKOBAN_PAUSE (BUTTON_RIGHT|BUTTON_POWER)
557#define BUTTON_SAVE (BUTTON_LEFT|BUTTON_POWER)
558#define BUTTON_SAVE_NAME "LEFT + POWER"
559
546#else 560#else
547#error No keymap defined! 561#error No keymap defined!
548#endif 562#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index b5376b5937..fcb985b6e3 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -560,6 +560,24 @@ CONFIG_KEYPAD == MROBE500_PAD
560# define HK_CUR2STACK "Long Select.." 560# define HK_CUR2STACK "Long Select.."
561# define HK_REM2STACK "Power" 561# define HK_REM2STACK "Power"
562 562
563#elif (CONFIG_KEYPAD == HM60X_PAD)
564# define SOL_QUIT BUTTON_POWER
565# define SOL_UP BUTTON_UP
566# define SOL_DOWN BUTTON_DOWN
567# define SOL_LEFT BUTTON_LEFT
568# define SOL_RIGHT BUTTON_RIGHT
569# define SOL_MOVE_PRE BUTTON_SELECT
570# define SOL_MOVE (BUTTON_POWER | BUTTON_SELECT)
571# define SOL_DRAW (BUTTON_POWER | BUTTON_UP)
572# define SOL_REM2CUR (BUTTON_POWER | BUTTON_DOWN)
573# define SOL_CUR2STACK (BUTTON_POWER | BUTTON_LEFT)
574# define SOL_REM2STACK (BUTTON_POWER | BUTTON_RIGHT)
575# define HK_MOVE "SELECT + POWER"
576# define HK_DRAW "UP + POWER"
577# define HK_REM2CUR "DOWN + POWER"
578# define HK_CUR2STACK "LEFT + POWER"
579# define HK_REM2STACK "RIGHT + POWER"
580
563#else 581#else
564#error No keymap defined! 582#error No keymap defined!
565#endif 583#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index a7fdcfba37..4f134dd85f 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -287,6 +287,15 @@
287#define AST_RIGHT BUTTON_RIGHT 287#define AST_RIGHT BUTTON_RIGHT
288#define AST_FIRE BUTTON_SELECT 288#define AST_FIRE BUTTON_SELECT
289 289
290#elif (CONFIG_KEYPAD == HM60X_PAD)
291#define AST_PAUSE (BUTTON_SELECT|BUTTON_POWER)
292#define AST_QUIT BUTTON_POWER
293#define AST_THRUST BUTTON_UP
294#define AST_HYPERSPACE BUTTON_DOWN
295#define AST_LEFT BUTTON_LEFT
296#define AST_RIGHT BUTTON_RIGHT
297#define AST_FIRE BUTTON_SELECT
298
290#else 299#else
291#error No keymap defined! 300#error No keymap defined!
292#endif 301#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index e4f4857d61..bc70b11070 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -497,6 +497,23 @@
497#define STAR_LEVEL_DOWN_NAME "Power" 497#define STAR_LEVEL_DOWN_NAME "Power"
498#define STAR_LEVEL_REPEAT_NAME "User" 498#define STAR_LEVEL_REPEAT_NAME "User"
499 499
500#elif (CONFIG_KEYPAD == HM60X_PAD)
501
502#define STAR_QUIT BUTTON_POWER
503#define STAR_LEFT BUTTON_LEFT
504#define STAR_RIGHT BUTTON_RIGHT
505#define STAR_UP BUTTON_UP
506#define STAR_DOWN BUTTON_DOWN
507#define STAR_TOGGLE_CONTROL BUTTON_SELECT
508#define STAR_LEVEL_UP (BUTTON_POWER | BUTTON_UP)
509#define STAR_LEVEL_DOWN (BUTTON_POWER | BUTTON_DOWN)
510#define STAR_LEVEL_REPEAT (BUTTON_POWER | BUTTON_SELECT)
511#define STAR_TOGGLE_CONTROL_NAME "SELECT"
512#define STAR_QUIT_NAME "POWER"
513#define STAR_LEVEL_UP_NAME "POWER + UP"
514#define STAR_LEVEL_DOWN_NAME "POWER + DOWN"
515#define STAR_LEVEL_REPEAT_NAME "POWER + SELECT"
516
500#else 517#else
501#error No keymap defined! 518#error No keymap defined!
502#endif 519#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index a676816a50..dcf0267265 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -271,6 +271,14 @@
271#define STOPWATCH_SCROLL_UP BUTTON_UP 271#define STOPWATCH_SCROLL_UP BUTTON_UP
272#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 272#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
273 273
274#elif CONFIG_KEYPAD == HM60X_PAD
275#define STOPWATCH_QUIT BUTTON_POWER
276#define STOPWATCH_START_STOP BUTTON_SELECT
277#define STOPWATCH_RESET_TIMER BUTTON_LEFT
278#define STOPWATCH_LAP_TIMER BUTTON_RIGHT
279#define STOPWATCH_SCROLL_UP BUTTON_UP
280#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
281
274#else 282#else
275#error No keymap defined! 283#error No keymap defined!
276#endif 284#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 2fb7462286..a7bb85f6bb 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -344,6 +344,18 @@
344#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT 344#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
345#define SUDOKU_BUTTON_POSSIBLE BUTTON_USER 345#define SUDOKU_BUTTON_POSSIBLE BUTTON_USER
346 346
347#elif CONFIG_KEYPAD == HM60X_PAD
348#define SUDOKU_BUTTON_QUIT BUTTON_POWER
349#define SUDOKU_BUTTON_MENU (BUTTON_POWER | BUTTON_LEFT)
350#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
351#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
352#define SUDOKU_BUTTON_UP BUTTON_UP
353#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
354#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT
355#define SUDOKU_BUTTON_TOGGLEBACK (BUTTON_POWER | BUTTON_RIGHT)
356#define SUDOKU_BUTTON_POSSIBLE (BUTTON_POWER | BUTTON_SELECT)
357#define SUDOKU_BUTTON_ALTTOGGLE (BUTTON_POWER | BUTTON_UP)
358
347#else 359#else
348#error No keymap defined! 360#error No keymap defined!
349#endif 361#endif
diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c
index c301367ece..ee12136989 100644
--- a/apps/plugins/superdom.c
+++ b/apps/plugins/superdom.c
@@ -199,6 +199,14 @@ char buf[255];
199#define SUPERDOM_RIGHT BUTTON_RIGHT 199#define SUPERDOM_RIGHT BUTTON_RIGHT
200#define SUPERDOM_CANCEL BUTTON_POWER 200#define SUPERDOM_CANCEL BUTTON_POWER
201 201
202#elif CONFIG_KEYPAD == HM60X_PAD
203#define SUPERDOM_OK BUTTON_SELECT
204#define SUPERDOM_UP BUTTON_UP
205#define SUPERDOM_DOWN BUTTON_DOWN
206#define SUPERDOM_LEFT BUTTON_LEFT
207#define SUPERDOM_RIGHT BUTTON_RIGHT
208#define SUPERDOM_CANCEL BUTTON_POWER
209
202#endif 210#endif
203 211
204#ifdef HAVE_TOUCHSCREEN 212#ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index e8526e78b5..aa6bef9233 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -452,6 +452,16 @@
452#define TV_AUTOSCROLL BUTTON_USER 452#define TV_AUTOSCROLL BUTTON_USER
453#define TV_BOOKMARK BUTTON_SELECT 453#define TV_BOOKMARK BUTTON_SELECT
454 454
455#elif CONFIG_KEYPAD == HM60X_PAD
456#define TV_QUIT BUTTON_POWER
457#define TV_SCROLL_UP BUTTON_UP
458#define TV_SCROLL_DOWN BUTTON_DOWN
459#define TV_SCREEN_LEFT BUTTON_LEFT
460#define TV_SCREEN_RIGHT BUTTON_RIGHT
461#define TV_MENU (BUTTON_POWER | BUTTON_SELECT)
462#define TV_AUTOSCROLL (BUTTON_POWER | BUTTON_UP)
463#define TV_BOOKMARK BUTTON_SELECT
464
455#else 465#else
456#error No keymap defined! 466#error No keymap defined!
457#endif 467#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index a1c96707a1..fab89a8634 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -349,6 +349,17 @@
349#define LABEL_MENU "Menu" 349#define LABEL_MENU "Menu"
350#define LABEL_VOLUME "Up/Down" 350#define LABEL_VOLUME "Up/Down"
351 351
352#elif CONFIG_KEYPAD == HM60X_PAD
353#define VUMETER_QUIT BUTTON_POWER
354#define VUMETER_HELP BUTTON_RIGHT
355#define VUMETER_MENU BUTTON_LEFT
356#define VUMETER_UP BUTTON_UP
357#define VUMETER_DOWN BUTTON_DOWN
358#define LABEL_HELP "RIGHT"
359#define LABEL_QUIT "POWER"
360#define LABEL_MENU "LEFT"
361#define LABEL_VOLUME "UP/DOWN"
362
352#else 363#else
353#error No keymap defined! 364#error No keymap defined!
354#endif 365#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 28f854ba69..f7b8fce825 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -321,6 +321,16 @@ CONFIG_KEYPAD == MROBE500_PAD
321#define BTN_QUIT BUTTON_POWER 321#define BTN_QUIT BUTTON_POWER
322#define BTN_STOPRESET BUTTON_VOL_DOWN 322#define BTN_STOPRESET BUTTON_VOL_DOWN
323 323
324#elif CONFIG_KEYPAD == HM60X_PAD
325
326#define BTN_DIR_UP BUTTON_UP
327#define BTN_DIR_DOWN BUTTON_DOWN
328#define BTN_DIR_LEFT BUTTON_LEFT
329#define BTN_DIR_RIGHT BUTTON_RIGHT
330#define BTN_STARTPAUSE BUTTON_SELECT
331#define BTN_QUIT BUTTON_POWER
332#define BTN_STOPRESET (BUTTON_POWER|BUTTON_SELECT)
333
324#else 334#else
325#error No keymap defined! 335#error No keymap defined!
326#endif 336#endif
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index 344e3d60a8..583c7ed251 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -286,6 +286,15 @@ CONFIG_KEYPAD == MROBE500_PAD
286#define DOWN BUTTON_DOWN 286#define DOWN BUTTON_DOWN
287#define PAUSE BUTTON_SELECT 287#define PAUSE BUTTON_SELECT
288 288
289#elif (CONFIG_KEYPAD == HM60X_PAD)
290
291#define QUIT BUTTON_POWER
292#define LEFT BUTTON_LEFT
293#define RIGHT BUTTON_RIGHT
294#define UP BUTTON_UP
295#define DOWN BUTTON_DOWN
296#define PAUSE BUTTON_SELECT
297
289#else 298#else
290#error No keymap defined! 299#error No keymap defined!
291#endif 300#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index 9075ae7bbb..fa0e6c9d3a 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -227,6 +227,15 @@
227#define ZX_LEFT BUTTON_LEFT 227#define ZX_LEFT BUTTON_LEFT
228#define ZX_RIGHT BUTTON_RIGHT 228#define ZX_RIGHT BUTTON_RIGHT
229 229
230#elif CONFIG_KEYPAD == HM60X_PAD
231
232#define ZX_MENU BUTTON_POWER
233#define ZX_UP BUTTON_UP
234#define ZX_DOWN BUTTON_DOWN
235#define ZX_SELECT BUTTON_SELECT
236#define ZX_LEFT BUTTON_LEFT
237#define ZX_RIGHT BUTTON_RIGHT
238
230#else 239#else
231#error Keymap not defined! 240#error Keymap not defined!
232 241
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 06ca373689..52a9e29b84 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -234,6 +234,15 @@
234#define KBD_UP BUTTON_UP 234#define KBD_UP BUTTON_UP
235#define KBD_DOWN BUTTON_DOWN 235#define KBD_DOWN BUTTON_DOWN
236 236
237#elif CONFIG_KEYPAD == HM60X_PAD
238
239#define KBD_SELECT BUTTON_SELECT
240#define KBD_ABORT BUTTON_POWER
241#define KBD_LEFT BUTTON_LEFT
242#define KBD_RIGHT BUTTON_RIGHT
243#define KBD_UP BUTTON_UP
244#define KBD_DOWN BUTTON_DOWN
245
237#endif 246#endif
238 247
239#ifdef HAVE_TOUCHSCREEN 248#ifdef HAVE_TOUCHSCREEN
diff --git a/firmware/target/arm/rk27xx/hm60x/button-target.h b/firmware/target/arm/rk27xx/hm60x/button-target.h
index e52db87bb9..ff4c9423b3 100644
--- a/firmware/target/arm/rk27xx/hm60x/button-target.h
+++ b/firmware/target/arm/rk27xx/hm60x/button-target.h
@@ -28,6 +28,10 @@
28#define BUTTON_RIGHT 0x00000010 28#define BUTTON_RIGHT 0x00000010
29#define BUTTON_SELECT 0x00000020 29#define BUTTON_SELECT 0x00000020
30 30
31#define BUTTON_MAIN (BUTTON_UP|BUTTON_POWER| \
32 BUTTON_DOWN|BUTTON_LEFT| \
33 BUTTON_RIGHT|BUTTON_SELECT)
34
31#define POWEROFF_BUTTON BUTTON_POWER 35#define POWEROFF_BUTTON BUTTON_POWER
32#define POWEROFF_COUNT 30 36#define POWEROFF_COUNT 30
33 37