summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/battery_bench.c6
-rw-r--r--apps/plugins/blackjack.c16
-rw-r--r--apps/plugins/brickmania.c8
-rw-r--r--apps/plugins/calculator.c10
-rw-r--r--apps/plugins/calendar.c10
-rw-r--r--apps/plugins/chessbox/chessbox_pgn.h14
-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.c8
-rw-r--r--apps/plugins/cube.c10
-rw-r--r--apps/plugins/doom/i_video.c12
-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.h14
-rw-r--r--apps/plugins/invadrox.c7
-rw-r--r--apps/plugins/jewels.c9
-rw-r--r--apps/plugins/lib/keymaps.h8
-rw-r--r--apps/plugins/lib/pluginlib_actions.c15
-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.h9
-rw-r--r--apps/plugins/pegbox.c17
-rw-r--r--apps/plugins/plugin.lds9
-rw-r--r--apps/plugins/pong.c7
-rw-r--r--apps/plugins/reversi/reversi-gui.h9
-rw-r--r--apps/plugins/rockblox.c10
-rw-r--r--apps/plugins/rockboy/rockboy.c11
-rw-r--r--apps/plugins/rockpaint.c11
-rw-r--r--apps/plugins/sliding_puzzle.c8
-rw-r--r--apps/plugins/snake.c8
-rw-r--r--apps/plugins/snake2.c9
-rw-r--r--apps/plugins/sokoban.c15
-rw-r--r--apps/plugins/solitaire.c19
-rw-r--r--apps/plugins/spacerocks.c9
-rw-r--r--apps/plugins/star.c16
-rw-r--r--apps/plugins/stopwatch.c8
-rw-r--r--apps/plugins/sudoku/sudoku.h11
-rw-r--r--apps/plugins/text_viewer/tv_button.h12
-rw-r--r--apps/plugins/vu_meter.c11
-rw-r--r--apps/plugins/wormlet.c9
-rw-r--r--apps/plugins/xobox.c9
-rw-r--r--apps/plugins/zxbox/keymaps.h8
-rw-r--r--apps/plugins/zxbox/zxbox_keyb.c9
49 files changed, 503 insertions, 0 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c
index dc22489b15..f8269f5c3b 100644
--- a/apps/plugins/battery_bench.c
+++ b/apps/plugins/battery_bench.c
@@ -242,6 +242,12 @@
242#define BATTERY_OFF_TXT "Power" 242#define BATTERY_OFF_TXT "Power"
243#define BATTERY_ON_TXT "Menu - start" 243#define BATTERY_ON_TXT "Menu - start"
244 244
245#elif CONFIG_KEYPAD == FIIO_M3K_PAD
246#define BATTERY_ON BUTTON_PLAY
247#define BATTERY_OFF BUTTON_POWER
248#define BATTERY_ON_TXT "Play"
249#define BATTERY_OFF_TXT "Power"
250
245#else 251#else
246#error "No keymap defined!" 252#error "No keymap defined!"
247#endif 253#endif
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index f434784a5f..0667c31ef6 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -607,6 +607,22 @@ enum {
607#define BJACK_RIGHT BUTTON_SCROLL_FWD 607#define BJACK_RIGHT BUTTON_SCROLL_FWD
608#define BJACK_LEFT BUTTON_SCROLL_BACK 608#define BJACK_LEFT BUTTON_SCROLL_BACK
609 609
610#elif CONFIG_KEYPAD == FIIO_M3K_PAD
611#define BJACK_SELECT_NAME "SELECT"
612#define BJACK_STAY_NAME "PLAY"
613#define BJACK_QUIT_NAME "POWER"
614#define BJACK_DOUBLE_NAME "MENU"
615#define BJACK_SELECT BUTTON_SELECT
616#define BJACK_QUIT BUTTON_POWER
617#define BJACK_MAX BUTTON_VOL_UP
618#define BJACK_MIN BUTTON_VOL_DOWN
619#define BJACK_STAY BUTTON_PLAY
620#define BJACK_DOUBLEDOWN BUTTON_MENU
621#define BJACK_UP BUTTON_UP
622#define BJACK_DOWN BUTTON_DOWN
623#define BJACK_RIGHT BUTTON_RIGHT
624#define BJACK_LEFT BUTTON_LEFT
625
610#else 626#else
611#error No keymap defined! 627#error No keymap defined!
612#endif 628#endif
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 70ad58a908..92f8d4d161 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -342,6 +342,14 @@ CONFIG_KEYPAD == SANSA_CONNECT_PAD
342#define UP BUTTON_PREV 342#define UP BUTTON_PREV
343#define DOWN BUTTON_NEXT 343#define DOWN BUTTON_NEXT
344 344
345#elif CONFIG_KEYPAD == FIIO_M3K_PAD
346#define QUIT BUTTON_POWER
347#define LEFT BUTTON_LEFT
348#define RIGHT BUTTON_RIGHT
349#define SELECT BUTTON_PLAY
350#define UP BUTTON_UP
351#define DOWN BUTTON_DOWN
352
345#else 353#else
346#error No keymap defined! 354#error No keymap defined!
347#endif 355#endif
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 46d9da6149..4d1b6fa594 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -536,6 +536,16 @@ F3: equal to "="
536#define CALCULATOR_CALC BUTTON_MENU 536#define CALCULATOR_CALC BUTTON_MENU
537#define CALCULATOR_CLEAR BUTTON_BACK 537#define CALCULATOR_CLEAR BUTTON_BACK
538 538
539#elif CONFIG_KEYPAD == FIIO_M3K_PAD
540#define CALCULATOR_LEFT BUTTON_LEFT
541#define CALCULATOR_RIGHT BUTTON_RIGHT
542#define CALCULATOR_UP BUTTON_UP
543#define CALCULATOR_DOWN BUTTON_DOWN
544#define CALCULATOR_QUIT BUTTON_POWER
545#define CALCULATOR_INPUT BUTTON_PLAY
546#define CALCULATOR_CALC BUTTON_MENU
547#define CALCULATOR_CLEAR BUTTON_BACK
548
539#else 549#else
540#error No keymap defined! 550#error No keymap defined!
541#endif 551#endif
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index b52a62328f..54173fde1c 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -421,6 +421,16 @@
421#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP 421#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
422#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN 422#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
423 423
424#elif CONFIG_KEYPAD == FIIO_M3K_PAD
425#define CALENDAR_QUIT BUTTON_POWER
426#define CALENDAR_SELECT BUTTON_SELECT
427#define CALENDAR_NEXT_WEEK BUTTON_DOWN
428#define CALENDAR_PREV_WEEK BUTTON_UP
429#define CALENDAR_NEXT_DAY BUTTON_LEFT
430#define CALENDAR_PREV_DAY BUTTON_RIGHT
431#define CALENDAR_NEXT_MONTH BUTTON_VOL_UP
432#define CALENDAR_PREV_MONTH BUTTON_VOL_DOWN
433
424#else 434#else
425#error "No keypad setting." 435#error "No keypad setting."
426#endif 436#endif
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index aacc2ba412..5bfce10ec5 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -581,6 +581,20 @@
581#define CB_SCROLL_LEFT (BUTTON_SCROLL_BACK|BUTTON_REPEAT) 581#define CB_SCROLL_LEFT (BUTTON_SCROLL_BACK|BUTTON_REPEAT)
582#define CB_SCROLL_RIGHT (BUTTON_SCROLL_FWD|BUTTON_REPEAT) 582#define CB_SCROLL_RIGHT (BUTTON_SCROLL_FWD|BUTTON_REPEAT)
583 583
584#elif CONFIG_KEYPAD == FIIO_M3K_PAD
585#define CB_SELECT BUTTON_SELECT
586#define CB_UP BUTTON_UP
587#define CB_DOWN BUTTON_DOWN
588#define CB_LEFT BUTTON_LEFT
589#define CB_RIGHT BUTTON_RIGHT
590#define CB_PLAY BUTTON_PLAY
591#define CB_MENU BUTTON_MENU
592#define CB_LEVEL BUTTON_BACK
593#define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT)
594#define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT)
595#define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT)
596#define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT)
597
584#else 598#else
585#error No keymap defined! 599#error No keymap defined!
586#endif 600#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 9b933cdcd4..9a30dee984 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -406,6 +406,16 @@
406#define CHC_SETTINGS_OK BUTTON_PLAY 406#define CHC_SETTINGS_OK BUTTON_PLAY
407#define CHC_SETTINGS_CANCEL BUTTON_POWER 407#define CHC_SETTINGS_CANCEL BUTTON_POWER
408 408
409#elif CONFIG_KEYPAD == FIIO_M3K_PAD
410#define CHC_QUIT BUTTON_POWER
411#define CHC_STARTSTOP BUTTON_PLAY
412#define CHC_RESET BUTTON_BACK
413#define CHC_MENU BUTTON_MENU
414#define CHC_SETTINGS_INC BUTTON_UP
415#define CHC_SETTINGS_DEC BUTTON_DOWN
416#define CHC_SETTINGS_OK BUTTON_SELECT
417#define CHC_SETTINGS_CANCEL BUTTON_POWER
418
409#else 419#else
410#error No keymap defined! 420#error No keymap defined!
411#endif 421#endif
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index dde6faaccf..31866acd10 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1283,6 +1283,14 @@ CONFIG_KEYPAD == MROBE500_PAD
1283#define CHIP8_KEY6 BUTTON_BACK 1283#define CHIP8_KEY6 BUTTON_BACK
1284#define CHIP8_KEY8 BUTTON_PREV 1284#define CHIP8_KEY8 BUTTON_PREV
1285 1285
1286#elif CONFIG_KEYPAD == FIIO_M3K_PAD
1287#define CHIP8_OFF BUTTON_POWER
1288#define CHIP8_KEY2 BUTTON_MENU
1289#define CHIP8_KEY4 BUTTON_LEFT
1290#define CHIP8_KEY5 BUTTON_SELECT
1291#define CHIP8_KEY6 BUTTON_RIGHT
1292#define CHIP8_KEY8 BUTTON_BACK
1293
1286#else 1294#else
1287#error No keymap defined! 1295#error No keymap defined!
1288#endif 1296#endif
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 23b32150da..ab8f7b5540 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -203,6 +203,11 @@ CONFIG_KEYPAD == MROBE500_PAD
203#define ACTION BUTTON_PLAY 203#define ACTION BUTTON_PLAY
204#define ACTIONTEXT "PLAY" 204#define ACTIONTEXT "PLAY"
205 205
206#elif CONFIG_KEYPAD == FIIO_M3K_PAD
207#define QUIT BUTTON_POWER
208#define ACTION BUTTON_PLAY
209#define ACTIONTEXT "PLAY"
210
206#elif !defined(HAVE_TOUCHSCREEN) 211#elif !defined(HAVE_TOUCHSCREEN)
207#error No keymap defined! 212#error No keymap defined!
208#endif 213#endif
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index eb0e0d1a59..f1f21f6312 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -316,6 +316,14 @@
316#define CLIX_BUTTON_RIGHT BUTTON_SCROLL_FWD 316#define CLIX_BUTTON_RIGHT BUTTON_SCROLL_FWD
317#define CLIX_BUTTON_CLICK BUTTON_PLAY 317#define CLIX_BUTTON_CLICK BUTTON_PLAY
318 318
319#elif CONFIG_KEYPAD == FIIO_M3K_PAD
320#define CLIX_BUTTON_QUIT BUTTON_POWER
321#define CLIX_BUTTON_UP BUTTON_UP
322#define CLIX_BUTTON_DOWN BUTTON_DOWN
323#define CLIX_BUTTON_LEFT BUTTON_LEFT
324#define CLIX_BUTTON_RIGHT BUTTON_RIGHT
325#define CLIX_BUTTON_CLICK BUTTON_SELECT
326
319#else 327#else
320#error "no keymap" 328#error "no keymap"
321#endif 329#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index b84a2636cb..6587fdcb65 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -410,6 +410,16 @@
410#define CUBE_PAUSE BUTTON_BACK 410#define CUBE_PAUSE BUTTON_BACK
411#define CUBE_HIGHSPEED BUTTON_PLAY 411#define CUBE_HIGHSPEED BUTTON_PLAY
412 412
413#elif CONFIG_KEYPAD == FIIO_M3K_PAD
414#define CUBE_QUIT BUTTON_POWER
415#define CUBE_NEXT BUTTON_RIGHT
416#define CUBE_PREV BUTTON_LEFT
417#define CUBE_INC BUTTON_SCROLL_FWD
418#define CUBE_DEC BUTTON_SCROLL_BACK
419#define CUBE_MODE BUTTON_MENU
420#define CUBE_PAUSE BUTTON_PLAY
421#define CUBE_HIGHSPEED BUTTON_BACK
422
413#else 423#else
414#error No keymap defined! 424#error No keymap defined!
415#endif 425#endif
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 233c1cac8f..bb04194acc 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -612,6 +612,18 @@ void I_ShutdownGraphics(void)
612#define DOOMBUTTON_WEAPON BUTTON_VOL_UP 612#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
613#define DOOMBUTTON_MAP BUTTON_VOL_DOWN 613#define DOOMBUTTON_MAP BUTTON_VOL_DOWN
614 614
615#elif CONFIG_KEYPAD == FIIO_M3K_PAD
616#define DOOMBUTTON_UP BUTTON_UP
617#define DOOMBUTTON_DOWN BUTTON_DOWN
618#define DOOMBUTTON_LEFT BUTTON_LEFT
619#define DOOMBUTTON_RIGHT BUTTON_RIGHT
620#define DOOMBUTTON_SHOOT BUTTON_SELECT
621#define DOOMBUTTON_OPEN BUTTON_PLAY
622#define DOOMBUTTON_ESC BUTTON_POWER
623#define DOOMBUTTON_ENTER BUTTON_SELECT
624#define DOOMBUTTON_WEAPON BUTTON_VOL_UP
625#define DOOMBUTTON_MAP BUTTON_VOL_DOWN
626
615#else 627#else
616#error Keymap not defined! 628#error Keymap not defined!
617#endif 629#endif
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 4a6e64a5be..f6fb059f91 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -484,6 +484,18 @@
484#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP 484#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP
485#define FLIPIT_TOGGLE BUTTON_PLAY 485#define FLIPIT_TOGGLE BUTTON_PLAY
486 486
487#elif CONFIG_KEYPAD == FIIO_M3K_PAD
488
489#define FLIPIT_LEFT BUTTON_LEFT
490#define FLIPIT_RIGHT BUTTON_RIGHT
491#define FLIPIT_UP BUTTON_UP
492#define FLIPIT_DOWN BUTTON_DOWN
493#define FLIPIT_QUIT BUTTON_POWER
494#define FLIPIT_SHUFFLE BUTTON_PLAY
495#define FLIPIT_SOLVE BUTTON_VOL_DOWN
496#define FLIPIT_STEP_BY_STEP BUTTON_VOL_UP
497#define FLIPIT_TOGGLE BUTTON_SELECT
498
487#else 499#else
488#error No keymap defined! 500#error No keymap defined!
489#endif 501#endif
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index 55bd513fe0..28172aed9f 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -506,6 +506,18 @@
506#define FRACTAL_PRECISION_DEC BUTTON_BACK 506#define FRACTAL_PRECISION_DEC BUTTON_BACK
507#define FRACTAL_RESET BUTTON_PLAY 507#define FRACTAL_RESET BUTTON_PLAY
508 508
509#elif CONFIG_KEYPAD == FIIO_M3K_PAD
510#define FRACTAL_QUIT BUTTON_POWER
511#define FRACTAL_UP BUTTON_UP
512#define FRACTAL_DOWN BUTTON_DOWN
513#define FRACTAL_LEFT BUTTON_LEFT
514#define FRACTAL_RIGHT BUTTON_RIGHT
515#define FRACTAL_ZOOM_IN BUTTON_VOL_UP
516#define FRACTAL_ZOOM_OUT BUTTON_VOL_DOWN
517#define FRACTAL_PRECISION_INC BUTTON_MENU
518#define FRACTAL_PRECISION_DEC BUTTON_BACK
519#define FRACTAL_RESET BUTTON_PLAY
520
509#else 521#else
510#error No keymap defined! 522#error No keymap defined!
511#endif 523#endif
diff --git a/apps/plugins/goban/goban.h b/apps/plugins/goban/goban.h
index 375588c7d8..9f1a200cc2 100644
--- a/apps/plugins/goban/goban.h
+++ b/apps/plugins/goban/goban.h
@@ -492,6 +492,18 @@
492#define GBN_BUTTON_CONTEXT BUTTON_MENU | BUTTON_REPEAT 492#define GBN_BUTTON_CONTEXT BUTTON_MENU | BUTTON_REPEAT
493#define GBN_BUTTON_NEXT_VAR BUTTON_BACK 493#define GBN_BUTTON_NEXT_VAR BUTTON_BACK
494 494
495#elif CONFIG_KEYPAD == FIIO_M3K_PAD
496#define GBN_BUTTON_UP BUTTON_UP
497#define GBN_BUTTON_DOWN BUTTON_DOWN
498#define GBN_BUTTON_LEFT BUTTON_LEFT
499#define GBN_BUTTON_RIGHT BUTTON_RIGHT
500#define GBN_BUTTON_RETREAT BUTTON_VOL_DOWN
501#define GBN_BUTTON_ADVANCE BUTTON_VOL_UP
502#define GBN_BUTTON_MENU BUTTON_MENU
503#define GBN_BUTTON_PLAY BUTTON_PLAY
504#define GBN_BUTTON_CONTEXT (BUTTON_SELECT|BUTTON_REPEAT)
505#define GBN_BUTTON_NEXT_VAR BUTTON_BACK
506
495#else 507#else
496#error Unsupported keypad 508#error Unsupported keypad
497#endif 509#endif
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index 221ea3380e..cfb9a2969b 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -536,6 +536,20 @@
536#define IMGVIEW_MENU BUTTON_MENU 536#define IMGVIEW_MENU BUTTON_MENU
537#define IMGVIEW_SLIDE_SHOW BUTTON_BACK 537#define IMGVIEW_SLIDE_SHOW BUTTON_BACK
538 538
539#elif CONFIG_KEYPAD == FIIO_M3K_PAD
540#define IMGVIEW_ZOOM_IN BUTTON_VOL_UP
541#define IMGVIEW_ZOOM_OUT BUTTON_VOL_DOWN
542#define IMGVIEW_UP BUTTON_UP
543#define IMGVIEW_DOWN BUTTON_DOWN
544#define IMGVIEW_LEFT BUTTON_LEFT
545#define IMGVIEW_RIGHT BUTTON_RIGHT
546#define IMGVIEW_NEXT BUTTON_BACK
547#define IMGVIEW_NEXT_REPEAT (BUTTON_BACK|BUTTON_REPEAT)
548#define IMGVIEW_PREVIOUS BUTTON_MENU
549#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_MENU|BUTTON_REPEAT)
550#define IMGVIEW_MENU BUTTON_POWER
551#define IMGVIEW_SLIDE_SHOW BUTTON_PLAY
552
539#else 553#else
540#error No keymap defined! 554#error No keymap defined!
541#endif 555#endif
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index 21bba6d9d4..8b0519d9d0 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -296,6 +296,13 @@ CONFIG_KEYPAD == MROBE500_PAD
296#define RIGHT BUTTON_SCROLL_FWD 296#define RIGHT BUTTON_SCROLL_FWD
297#define FIRE BUTTON_PLAY 297#define FIRE BUTTON_PLAY
298 298
299#elif CONFIG_KEYPAD == FIIO_M3K_PAD
300
301#define QUIT BUTTON_POWER
302#define LEFT BUTTON_LEFT
303#define RIGHT BUTTON_RIGHT
304#define FIRE BUTTON_SELECT
305
299#else 306#else
300 #error INVADROX: Unsupported keypad 307 #error INVADROX: Unsupported keypad
301#endif 308#endif
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 928cd78c95..83a44eea02 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -387,6 +387,15 @@ CONFIG_KEYPAD == MROBE500_PAD
387#define HK_SELECT "PLAY" 387#define HK_SELECT "PLAY"
388#define HK_CANCEL "BACK" 388#define HK_CANCEL "BACK"
389 389
390#elif CONFIG_KEYPAD == FIIO_M3K_PAD
391#define JEWELS_UP BUTTON_UP
392#define JEWELS_DOWN BUTTON_DOWN
393#define JEWELS_LEFT BUTTON_LEFT
394#define JEWELS_RIGHT BUTTON_RIGHT
395#define JEWELS_SELECT BUTTON_SELECT
396#define JEWELS_CANCEL BUTTON_BACK
397#define HK_SELECT "SELECT"
398#define HK_CANCEL "BACK"
390 399
391#else 400#else
392#error No keymap defined! 401#error No keymap defined!
diff --git a/apps/plugins/lib/keymaps.h b/apps/plugins/lib/keymaps.h
index b0667b13cc..b660d4d85e 100644
--- a/apps/plugins/lib/keymaps.h
+++ b/apps/plugins/lib/keymaps.h
@@ -247,6 +247,14 @@
247#define BTN_FIRE BUTTON_PLAY 247#define BTN_FIRE BUTTON_PLAY
248#define BTN_PAUSE BUTTON_POWER 248#define BTN_PAUSE BUTTON_POWER
249 249
250#elif CONFIG_KEYPAD == FIIO_M3K_PAD
251#define BTN_UP BUTTON_UP
252#define BTN_DOWN BUTTON_DOWN
253#define BTN_LEFT BUTTON_LEFT
254#define BTN_RIGHT BUTTON_RIGHT
255#define BTN_FIRE BUTTON_SELECT
256#define BTN_PAUSE BUTTON_POWER
257
250#else 258#else
251#error Unsupported keypad 259#error Unsupported keypad
252#endif 260#endif
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 4b5a0a4505..b1bcd06ee6 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -269,6 +269,15 @@ const struct button_mapping pla_main_ctx[] =
269 { PLA_DOWN_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, 269 { PLA_DOWN_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
270 { PLA_LEFT_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, 270 { PLA_LEFT_REPEAT, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
271 { PLA_RIGHT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 271 { PLA_RIGHT_REPEAT, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
272#elif (CONFIG_KEYPAD == FIIO_M3K_PAD)
273 { PLA_UP, BUTTON_UP, BUTTON_NONE },
274 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE },
275 { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE },
276 { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
277 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
278 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
279 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
280 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
272#else 281#else
273# ifndef HAVE_TOUCHSCREEN 282# ifndef HAVE_TOUCHSCREEN
274# error pluginlib_actions: No directions defined 283# error pluginlib_actions: No directions defined
@@ -506,6 +515,12 @@ const struct button_mapping pla_main_ctx[] =
506 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE}, 515 {PLA_SELECT, BUTTON_PLAY, BUTTON_NONE},
507 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY}, 516 {PLA_SELECT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY},
508 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, 517 {PLA_SELECT_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE},
518#elif (CONFIG_KEYPAD == FIIO_M3K_PAD)
519 {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE},
520 {PLA_EXIT, BUTTON_POWER, BUTTON_NONE},
521 {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE},
522 {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT},
523 {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE},
509#else 524#else
510# ifndef HAVE_TOUCHSCREEN 525# ifndef HAVE_TOUCHSCREEN
511# error pluginlib_actions: No actions defined 526# error pluginlib_actions: No actions defined
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 7dde947e1c..f07cdd4dcf 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -325,6 +325,14 @@
325#define MIDI_VOL_DOWN BUTTON_VOL_DOWN 325#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
326#define MIDI_PLAYPAUSE BUTTON_PLAY 326#define MIDI_PLAYPAUSE BUTTON_PLAY
327 327
328#elif CONFIG_KEYPAD == FIIO_M3K_PAD
329#define MIDI_QUIT BUTTON_POWER
330#define MIDI_FFWD BUTTON_LEFT
331#define MIDI_REWIND BUTTON_RIGHT
332#define MIDI_VOL_UP BUTTON_VOL_UP
333#define MIDI_VOL_DOWN BUTTON_VOL_DOWN
334#define MIDI_PLAYPAUSE BUTTON_PLAY
335
328#else 336#else
329#error No keymap defined! 337#error No keymap defined!
330#endif 338#endif
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 590ea56d08..19a6b99f12 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -432,6 +432,17 @@ CONFIG_KEYPAD == MROBE500_PAD
432# define MINESWP_DISCOVER (BUTTON_PLAY | BUTTON_REPEAT) 432# define MINESWP_DISCOVER (BUTTON_PLAY | BUTTON_REPEAT)
433# define MINESWP_INFO BUTTON_VOL_UP 433# define MINESWP_INFO BUTTON_VOL_UP
434 434
435#elif CONFIG_KEYPAD == FIIO_M3K_PAD
436# define MINESWP_LEFT BUTTON_LEFT
437# define MINESWP_RIGHT BUTTON_RIGHT
438# define MINESWP_UP BUTTON_UP
439# define MINESWP_DOWN BUTTON_DOWN
440# define MINESWP_QUIT BUTTON_POWER
441# define MINESWP_TOGGLE_PRE BUTTON_SELECT
442# define MINESWP_TOGGLE (BUTTON_SELECT|BUTTON_REL)
443# define MINESWP_DISCOVER (BUTTON_SELECT|BUTTON_REPEAT)
444# define MINESWP_INFO BUTTON_MENU
445
435#else 446#else
436#error No keymap defined! 447#error No keymap defined!
437#endif 448#endif
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index 244265b250..7c5084529b 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -2580,6 +2580,12 @@ CONFIG_KEYPAD == MROBE500_PAD
2580#define MP3ENC_DONE BUTTON_POWER 2580#define MP3ENC_DONE BUTTON_POWER
2581#define MP3ENC_SELECT BUTTON_PLAY 2581#define MP3ENC_SELECT BUTTON_PLAY
2582 2582
2583#elif CONFIG_KEYPAD == FIIO_M3K_PAD
2584#define MP3ENC_PREV BUTTON_LEFT
2585#define MP3ENC_NEXT BUTTON_RIGHT
2586#define MP3ENC_DONE BUTTON_POWER
2587#define MP3ENC_SELECT BUTTON_SELECT
2588
2583#else 2589#else
2584#error No keymap defined! 2590#error No keymap defined!
2585#endif 2591#endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 44c72dd853..d59797eaa7 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -354,6 +354,14 @@ struct mpeg_settings settings;
354#define MPEG_START_TIME_DOWN BUTTON_NEXT 354#define MPEG_START_TIME_DOWN BUTTON_NEXT
355#define MPEG_START_TIME_EXIT BUTTON_POWER 355#define MPEG_START_TIME_EXIT BUTTON_POWER
356 356
357#elif CONFIG_KEYPAD == FIIO_M3K_PAD
358#define MPEG_START_TIME_SELECT BUTTON_SELECT
359#define MPEG_START_TIME_LEFT BUTTON_LEFT
360#define MPEG_START_TIME_RIGHT BUTTON_RIGHT
361#define MPEG_START_TIME_UP BUTTON_UP
362#define MPEG_START_TIME_DOWN BUTTON_DOWN
363#define MPEG_START_TIME_EXIT BUTTON_POWER
364
357#else 365#else
358#error No keymap defined! 366#error No keymap defined!
359#endif 367#endif
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 81b6d37857..6b18e4fa3a 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -486,6 +486,15 @@ CONFIG_KEYPAD == SANSA_M200_PAD
486#define MPEG_RW BUTTON_PREV 486#define MPEG_RW BUTTON_PREV
487#define MPEG_FF BUTTON_NEXT 487#define MPEG_FF BUTTON_NEXT
488 488
489#elif CONFIG_KEYPAD == FIIO_M3K_PAD
490#define MPEG_MENU BUTTON_MENU
491#define MPEG_STOP BUTTON_POWER
492#define MPEG_PAUSE BUTTON_PLAY
493#define MPEG_VOLDOWN BUTTON_VOL_DOWN
494#define MPEG_VOLUP BUTTON_VOL_UP
495#define MPEG_RW BUTTON_LEFT
496#define MPEG_FF BUTTON_RIGHT
497
489#else 498#else
490#error No keymap defined! 499#error No keymap defined!
491#endif 500#endif
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index d50de7f2a0..881295d6ab 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -537,6 +537,17 @@
537#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP 537#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
538#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN 538#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
539 539
540#elif CONFIG_KEYPAD == FIIO_M3K_PAD
541#define OSCILLOSCOPE_QUIT BUTTON_POWER
542#define OSCILLOSCOPE_DRAWMODE BUTTON_MENU
543#define OSCILLOSCOPE_ADVMODE BUTTON_PLAY
544#define OSCILLOSCOPE_ORIENTATION BUTTON_BACK
545#define OSCILLOSCOPE_PAUSE BUTTON_SELECT
546#define OSCILLOSCOPE_SPEED_UP BUTTON_SCROLL_BACK
547#define OSCILLOSCOPE_SPEED_DOWN BUTTON_SCROLL_FWD
548#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
549#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
550
540#else 551#else
541#error No keymap defined! 552#error No keymap defined!
542#endif 553#endif
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 48196146a7..c1a1c6b9e5 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -401,6 +401,15 @@
401#define PACMAN_1UP BUTTON_VOL_UP 401#define PACMAN_1UP BUTTON_VOL_UP
402#define PACMAN_COIN BUTTON_PLAY 402#define PACMAN_COIN BUTTON_PLAY
403 403
404#elif CONFIG_KEYPAD == FIIO_M3K_PAD
405#define PACMAN_UP BUTTON_UP
406#define PACMAN_DOWN BUTTON_DOWN
407#define PACMAN_LEFT BUTTON_LEFT
408#define PACMAN_RIGHT BUTTON_RIGHT
409#define PACMAN_MENU BUTTON_MENU
410#define PACMAN_1UP BUTTON_VOL_UP
411#define PACMAN_COIN BUTTON_PLAY
412
404#else 413#else
405 414
406#error Keymap not defined! 415#error Keymap not defined!
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index e16cf2921e..498aa36357 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -711,6 +711,23 @@ CONFIG_KEYPAD == MROBE500_PAD
711#define LVL_UP_TEXT "VOL+" 711#define LVL_UP_TEXT "VOL+"
712#define LVL_DOWN_TEXT "VOL-" 712#define LVL_DOWN_TEXT "VOL-"
713 713
714#elif CONFIG_KEYPAD == FIIO_M3K_PAD
715#define PEGBOX_SELECT BUTTON_SELECT
716#define PEGBOX_QUIT BUTTON_POWER
717#define PEGBOX_RESTART BUTTON_BACK
718#define PEGBOX_LVL_UP BUTTON_VOL_UP
719#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
720#define PEGBOX_UP BUTTON_UP
721#define PEGBOX_DOWN BUTTON_DOWN
722#define PEGBOX_RIGHT BUTTON_RIGHT
723#define PEGBOX_LEFT BUTTON_LEFT
724
725#define SELECT_TEXT "SELECT"
726#define QUIT_TEXT "POWER"
727#define RESTART_TEXT "BACK"
728#define LVL_UP_TEXT "VOL+"
729#define LVL_DOWN_TEXT "VOL-"
730
714#else 731#else
715#error "Unsupported keymap!" 732#error "Unsupported keymap!"
716#endif 733#endif
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 25ff4a461b..5931b6b0a5 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -76,6 +76,10 @@ OUTPUT_FORMAT(elf32-littlemips)
76#elif CONFIG_CPU==IMX233 76#elif CONFIG_CPU==IMX233
77#include "cpu.h" 77#include "cpu.h"
78#define DRAMSIZE (DRAM_SIZE - PLUGIN_BUFFER_SIZE - CODEC_SIZE - FRAME_SIZE - TTB_SIZE) 78#define DRAMSIZE (DRAM_SIZE - PLUGIN_BUFFER_SIZE - CODEC_SIZE - FRAME_SIZE - TTB_SIZE)
79#elif CONFIG_CPU==X1000
80#include "config.h"
81#undef STUBOFFSET
82#define STUBOFFSET 0x4000
79#endif 83#endif
80 84
81 /* default to full RAM (minus codecs&plugins) unless specified otherwise */ 85 /* default to full RAM (minus codecs&plugins) unless specified otherwise */
@@ -174,6 +178,11 @@ OUTPUT_FORMAT(elf32-littlemips)
174#define IRAMSIZE 0 178#define IRAMSIZE 0
175/* The bit of IRAM that is available is used in the core */ 179/* The bit of IRAM that is available is used in the core */
176 180
181#elif CONFIG_CPU == X1000
182#define DRAMORIG (0x80000000 + STUBOFFSET)
183#define IRAM DRAM
184#define IRAMSIZE 0
185
177#elif CONFIG_CPU == RK27XX 186#elif CONFIG_CPU == RK27XX
178#define DRAMORIG 0x60000000 187#define DRAMORIG 0x60000000
179#define IRAM DRAM 188#define IRAM DRAM
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 4df4db66bb..b06789af6b 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -325,6 +325,13 @@ CONFIG_KEYPAD == MROBE500_PAD
325#define PONG_RIGHT_UP BUTTON_PREV 325#define PONG_RIGHT_UP BUTTON_PREV
326#define PONG_RIGHT_DOWN BUTTON_NEXT 326#define PONG_RIGHT_DOWN BUTTON_NEXT
327 327
328#elif CONFIG_KEYPAD == FIIO_M3K_PAD
329#define PONG_QUIT BUTTON_POWER
330#define PONG_PAUSE BUTTON_PLAY
331#define PONG_LEFT_UP BUTTON_MENU
332#define PONG_LEFT_DOWN BUTTON_LEFT
333#define PONG_RIGHT_UP BUTTON_BACK
334#define PONG_RIGHT_DOWN BUTTON_RIGHT
328 335
329#else 336#else
330#error No keymap defined! 337#error No keymap defined!
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index c94ca59179..fd60b23927 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -361,6 +361,15 @@
361#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY 361#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY
362#define REVERSI_BUTTON_MENU BUTTON_MENU 362#define REVERSI_BUTTON_MENU BUTTON_MENU
363 363
364#elif CONFIG_KEYPAD == FIIO_M3K_PAD
365#define REVERSI_BUTTON_QUIT BUTTON_POWER
366#define REVERSI_BUTTON_UP BUTTON_UP
367#define REVERSI_BUTTON_DOWN BUTTON_DOWN
368#define REVERSI_BUTTON_LEFT BUTTON_LEFT
369#define REVERSI_BUTTON_RIGHT BUTTON_RIGHT
370#define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT
371#define REVERSI_BUTTON_MENU BUTTON_MENU
372
364#else 373#else
365#error No keymap defined! 374#error No keymap defined!
366#endif 375#endif
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 7958818a8e..9c36f8f62f 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -477,6 +477,16 @@
477#define ROCKBLOX_DROP BUTTON_PLAY 477#define ROCKBLOX_DROP BUTTON_PLAY
478#define ROCKBLOX_RESTART BUTTON_BACK 478#define ROCKBLOX_RESTART BUTTON_BACK
479 479
480#elif CONFIG_KEYPAD == FIIO_M3K_PAD
481#define ROCKBLOX_OFF BUTTON_POWER
482#define ROCKBLOX_ROTATE_CCW BUTTON_UP
483#define ROCKBLOX_ROTATE_CW BUTTON_DOWN
484#define ROCKBLOX_DOWN BUTTON_SELECT
485#define ROCKBLOX_LEFT BUTTON_LEFT
486#define ROCKBLOX_RIGHT BUTTON_RIGHT
487#define ROCKBLOX_DROP BUTTON_PLAY
488#define ROCKBLOX_RESTART BUTTON_BACK
489
480#else 490#else
481#error No keymap defined! 491#error No keymap defined!
482#endif 492#endif
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 1f65b780a6..6dd010961e 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -467,6 +467,17 @@ static void setoptions (void)
467 options.SELECT = BUTTON_VOL_UP; 467 options.SELECT = BUTTON_VOL_UP;
468 options.MENU = BUTTON_POWER; 468 options.MENU = BUTTON_POWER;
469 469
470#elif CONFIG_KEYPAD == FIIO_M3K_PAD
471 options.UP = BUTTON_UP;
472 options.DOWN = BUTTON_DOWN;
473 options.LEFT = BUTTON_LEFT;
474 options.RIGHT = BUTTON_RIGHT;
475 options.A = BUTTON_MENU;
476 options.B = BUTTON_BACK;
477 options.START = BUTTON_VOL_DOWN;
478 options.SELECT = BUTTON_VOL_UP;
479 options.MENU = BUTTON_POWER;
480
470#else 481#else
471#error No Keymap Defined! 482#error No Keymap Defined!
472#endif 483#endif
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index e2b1f2a3e3..0d3211d4d2 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -393,6 +393,17 @@
393#define ROCKPAINT_LEFT BUTTON_HOME 393#define ROCKPAINT_LEFT BUTTON_HOME
394#define ROCKPAINT_RIGHT BUTTON_VOL_DOWN 394#define ROCKPAINT_RIGHT BUTTON_VOL_DOWN
395 395
396#elif CONFIG_KEYPAD == FIIO_M3K_PAD
397#define ROCKPAINT_QUIT BUTTON_POWER
398#define ROCKPAINT_DRAW BUTTON_SELECT
399#define ROCKPAINT_MENU BUTTON_MENU
400#define ROCKPAINT_TOOLBAR BUTTON_VOL_UP
401#define ROCKPAINT_TOOLBAR2 BUTTON_VOL_DOWN
402#define ROCKPAINT_UP BUTTON_UP
403#define ROCKPAINT_DOWN BUTTON_DOWN
404#define ROCKPAINT_LEFT BUTTON_LEFT
405#define ROCKPAINT_RIGHT BUTTON_RIGHT
406
396#else 407#else
397#error "Please define keys for this keypad" 408#error "Please define keys for this keypad"
398#endif 409#endif
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index dec400c079..d1820b2f50 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -348,6 +348,14 @@ CONFIG_KEYPAD == MROBE500_PAD
348#define PUZZLE_SHUFFLE BUTTON_BACK 348#define PUZZLE_SHUFFLE BUTTON_BACK
349#define PUZZLE_PICTURE BUTTON_PLAY 349#define PUZZLE_PICTURE BUTTON_PLAY
350 350
351#elif CONFIG_KEYPAD == FIIO_M3K_PAD
352#define PUZZLE_QUIT BUTTON_POWER
353#define PUZZLE_LEFT BUTTON_LEFT
354#define PUZZLE_RIGHT BUTTON_RIGHT
355#define PUZZLE_UP BUTTON_UP
356#define PUZZLE_DOWN BUTTON_DOWN
357#define PUZZLE_SHUFFLE BUTTON_BACK
358#define PUZZLE_PICTURE BUTTON_PLAY
351 359
352#else 360#else
353#error No keymap defined! 361#error No keymap defined!
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index c5c28eba6e..459d345fa2 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -305,6 +305,14 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
305#define SNAKE_DOWN BUTTON_NEXT 305#define SNAKE_DOWN BUTTON_NEXT
306#define SNAKE_PLAYPAUSE BUTTON_PLAY 306#define SNAKE_PLAYPAUSE BUTTON_PLAY
307 307
308#elif CONFIG_KEYPAD == FIIO_M3K_PAD
309#define SNAKE_QUIT BUTTON_POWER
310#define SNAKE_LEFT BUTTON_LEFT
311#define SNAKE_RIGHT BUTTON_RIGHT
312#define SNAKE_UP BUTTON_UP
313#define SNAKE_DOWN BUTTON_DOWN
314#define SNAKE_PLAYPAUSE BUTTON_PLAY
315
308#else 316#else
309#error No keymap defined! 317#error No keymap defined!
310#endif 318#endif
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index fcc1790a13..1536840daf 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -437,6 +437,15 @@ CONFIG_KEYPAD == MROBE500_PAD
437#define SNAKE2_PLAYPAUSE BUTTON_PLAY 437#define SNAKE2_PLAYPAUSE BUTTON_PLAY
438#define SNAKE2_PLAYPAUSE_TEXT "PLAY" 438#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
439 439
440#elif CONFIG_KEYPAD == FIIO_M3K_PAD
441#define SNAKE2_LEFT BUTTON_LEFT
442#define SNAKE2_RIGHT BUTTON_RIGHT
443#define SNAKE2_UP BUTTON_UP
444#define SNAKE2_DOWN BUTTON_DOWN
445#define SNAKE2_QUIT BUTTON_POWER
446#define SNAKE2_PLAYPAUSE BUTTON_PLAY
447#define SNAKE2_PLAYPAUSE_TEXT "PLAY"
448
440#else 449#else
441#error No keymap defined! 450#error No keymap defined!
442#endif 451#endif
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 2dcea7546f..9d57d7428c 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -695,6 +695,21 @@
695#define BUTTON_SAVE BUTTON_PLAY 695#define BUTTON_SAVE BUTTON_PLAY
696#define BUTTON_SAVE_NAME "PLAY" 696#define BUTTON_SAVE_NAME "PLAY"
697 697
698#elif CONFIG_KEYPAD == FIIO_M3K_PAD
699#define SOKOBAN_LEFT BUTTON_LEFT
700#define SOKOBAN_RIGHT BUTTON_RIGHT
701#define SOKOBAN_UP BUTTON_UP
702#define SOKOBAN_DOWN BUTTON_DOWN
703#define SOKOBAN_MENU BUTTON_MENU
704#define SOKOBAN_UNDO BUTTON_VOL_DOWN
705#define SOKOBAN_REDO BUTTON_VOL_UP
706#define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY|BUTTON_VOL_DOWN)
707#define SOKOBAN_LEVEL_UP (BUTTON_PLAY|BUTTON_VOL_UP)
708#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY|BUTTON_POWER)
709#define SOKOBAN_PAUSE BUTTON_SELECT
710#define BUTTON_SAVE BUTTON_BACK
711#define BUTTON_SAVE_NAME "BACK"
712
698#else 713#else
699#error No keymap defined! 714#error No keymap defined!
700#endif 715#endif
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index d14c608396..2d737df678 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -722,6 +722,25 @@ CONFIG_KEYPAD == MROBE500_PAD
722# define HK_CUR2STACK "DBL PLAY" 722# define HK_CUR2STACK "DBL PLAY"
723# define HK_REM2STACK "NEXT" 723# define HK_REM2STACK "NEXT"
724 724
725#elif CONFIG_KEYPAD == FIIO_M3K_PAD
726# define SOL_QUIT BUTTON_POWER
727# define SOL_UP BUTTON_UP
728# define SOL_DOWN BUTTON_DOWN
729# define SOL_LEFT BUTTON_LEFT
730# define SOL_RIGHT BUTTON_RIGHT
731# define SOL_MOVE_PRE BUTTON_SELECT
732# define SOL_MOVE (BUTTON_SELECT|BUTTON_REL)
733# define SOL_DRAW BUTTON_PLAY
734# define SOL_REM2CUR BUTTON_VOL_DOWN
735# define SOL_CUR2STACK_PRE BUTTON_SELECT
736# define SOL_CUR2STACK (BUTTON_SELECT|BUTTON_REPEAT)
737# define SOL_REM2STACK BUTTON_VOL_UP
738# define HK_MOVE "SELECT"
739# define HK_DRAW "PLAY"
740# define HK_REM2CUR "VOL-"
741# define HK_CUR2STACK "HOLD SELECT"
742# define HK_REM2STACK "VOL+"
743
725#else 744#else
726#error No keymap defined! 745#error No keymap defined!
727#endif 746#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 608f3ee512..2d39c26b3d 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -363,6 +363,15 @@
363#define AST_RIGHT BUTTON_SCROLL_FWD 363#define AST_RIGHT BUTTON_SCROLL_FWD
364#define AST_FIRE BUTTON_BACK 364#define AST_FIRE BUTTON_BACK
365 365
366#elif CONFIG_KEYPAD == FIIO_M3K_PAD
367#define AST_PAUSE BUTTON_MENU
368#define AST_QUIT BUTTON_POWER
369#define AST_THRUST BUTTON_SELECT
370#define AST_HYPERSPACE BUTTON_BACK
371#define AST_LEFT BUTTON_LEFT
372#define AST_RIGHT BUTTON_RIGHT
373#define AST_FIRE BUTTON_PLAY
374
366#else 375#else
367#error No keymap defined! 376#error No keymap defined!
368#endif 377#endif
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 9de5032699..c186474ae3 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -652,6 +652,22 @@
652#define STAR_LEVEL_DOWN_NAME "VOL DN" 652#define STAR_LEVEL_DOWN_NAME "VOL DN"
653#define STAR_LEVEL_REPEAT_NAME "BACK" 653#define STAR_LEVEL_REPEAT_NAME "BACK"
654 654
655#elif CONFIG_KEYPAD == FIIO_M3K_PAD
656#define STAR_QUIT BUTTON_POWER
657#define STAR_LEFT BUTTON_LEFT
658#define STAR_RIGHT BUTTON_RIGHT
659#define STAR_UP BUTTON_UP
660#define STAR_DOWN BUTTON_DOWN
661#define STAR_TOGGLE_CONTROL BUTTON_PLAY
662#define STAR_LEVEL_UP BUTTON_VOL_UP
663#define STAR_LEVEL_DOWN BUTTON_VOL_DOWN
664#define STAR_LEVEL_REPEAT BUTTON_BACK
665#define STAR_TOGGLE_CONTROL_NAME "PLAY"
666#define STAR_QUIT_NAME "POWER"
667#define STAR_LEVEL_UP_NAME "VOL+"
668#define STAR_LEVEL_DOWN_NAME "VOL-"
669#define STAR_LEVEL_REPEAT_NAME "BACK"
670
655#else 671#else
656#error No keymap defined! 672#error No keymap defined!
657#endif 673#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 82e6fba5c6..5259d0d616 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -309,6 +309,14 @@
309#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD 309#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD
310#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK 310#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK
311 311
312#elif CONFIG_KEYPAD == FIIO_M3K_PAD
313#define STOPWATCH_QUIT BUTTON_POWER
314#define STOPWATCH_START_STOP BUTTON_PLAY
315#define STOPWATCH_RESET_TIMER BUTTON_BACK
316#define STOPWATCH_LAP_TIMER BUTTON_SELECT
317#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_BACK
318#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_FWD
319
312#else 320#else
313#error No keymap defined! 321#error No keymap defined!
314#endif 322#endif
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index de3802d9bc..6ee3eb33ee 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -459,6 +459,17 @@
459#define SUDOKU_BUTTON_MENU (BUTTON_MENU | BUTTON_REL) 459#define SUDOKU_BUTTON_MENU (BUTTON_MENU | BUTTON_REL)
460#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK 460#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK
461 461
462#elif CONFIG_KEYPAD == FIIO_M3K_PAD
463#define SUDOKU_BUTTON_QUIT BUTTON_POWER
464#define SUDOKU_BUTTON_UP BUTTON_UP
465#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
466#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
467#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
468#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_VOL_DOWN
469#define SUDOKU_BUTTON_TOGGLE BUTTON_VOL_UP
470#define SUDOKU_BUTTON_MENU BUTTON_MENU
471#define SUDOKU_BUTTON_POSSIBLE BUTTON_BACK
472
462#else 473#else
463#error No keymap defined! 474#error No keymap defined!
464#endif 475#endif
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index ba71201cda..bea8f829ef 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -583,6 +583,18 @@
583#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN) 583#define TV_LINE_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
584#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY) 584#define TV_BOOKMARK (BUTTON_POWER | BUTTON_PLAY)
585 585
586#elif CONFIG_KEYPAD == FIIO_M3K_PAD
587#define TV_QUIT BUTTON_POWER
588#define TV_SCROLL_UP BUTTON_VOL_UP
589#define TV_SCROLL_DOWN BUTTON_VOL_DOWN
590#define TV_SCREEN_LEFT BUTTON_LEFT
591#define TV_SCREEN_RIGHT BUTTON_RIGHT
592#define TV_MENU BUTTON_MENU
593#define TV_AUTOSCROLL BUTTON_SELECT
594#define TV_LINE_UP BUTTON_SCROLL_BACK
595#define TV_LINE_DOWN BUTTON_SCROLL_FWD
596#define TV_BOOKMARK BUTTON_PLAY
597
586#else 598#else
587#error No keymap defined! 599#error No keymap defined!
588#endif 600#endif
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 629294ce7f..e24ad8dcdc 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -441,6 +441,17 @@
441#define LABEL_MENU "MENU" 441#define LABEL_MENU "MENU"
442#define LABEL_VOLUME "VOL UP/DN" 442#define LABEL_VOLUME "VOL UP/DN"
443 443
444#elif CONFIG_KEYPAD == FIIO_M3K_PAD
445#define VUMETER_QUIT BUTTON_POWER
446#define VUMETER_HELP BUTTON_BACK
447#define VUMETER_MENU BUTTON_MENU
448#define VUMETER_UP BUTTON_VOL_UP
449#define VUMETER_DOWN BUTTON_VOL_DOWN
450#define LABEL_HELP "BACK"
451#define LABEL_QUIT "POWER"
452#define LABEL_MENU "MENU"
453#define LABEL_VOLUME "VOL+/VOL-"
454
444#else 455#else
445#error No keymap defined! 456#error No keymap defined!
446#endif 457#endif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index d3db768535..d76f6a7d5a 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -398,6 +398,15 @@ CONFIG_KEYPAD == MROBE500_PAD
398#define BTN_QUIT BUTTON_POWER 398#define BTN_QUIT BUTTON_POWER
399#define BTN_STOPRESET BUTTON_BACK 399#define BTN_STOPRESET BUTTON_BACK
400 400
401#elif CONFIG_KEYPAD == FIIO_M3K_PAD
402#define BTN_DIR_UP BUTTON_UP
403#define BTN_DIR_DOWN BUTTON_DOWN
404#define BTN_DIR_LEFT BUTTON_LEFT
405#define BTN_DIR_RIGHT BUTTON_RIGHT
406#define BTN_STARTPAUSE BUTTON_PLAY
407#define BTN_QUIT BUTTON_POWER
408#define BTN_STOPRESET BUTTON_BACK
409
401#else 410#else
402#error No keymap defined! 411#error No keymap defined!
403#endif 412#endif
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index e04ecc225d..36aae071cb 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -351,6 +351,15 @@ CONFIG_KEYPAD == MROBE500_PAD
351#define DOWN BUTTON_NEXT 351#define DOWN BUTTON_NEXT
352#define PAUSE BUTTON_PLAY 352#define PAUSE BUTTON_PLAY
353 353
354#elif CONFIG_KEYPAD == FIIO_M3K_PAD
355
356#define QUIT BUTTON_POWER
357#define LEFT BUTTON_LEFT
358#define RIGHT BUTTON_RIGHT
359#define UP BUTTON_UP
360#define DOWN BUTTON_DOWN
361#define PAUSE BUTTON_PLAY
362
354#else 363#else
355#error "No keymap defined!" 364#error "No keymap defined!"
356#endif 365#endif
diff --git a/apps/plugins/zxbox/keymaps.h b/apps/plugins/zxbox/keymaps.h
index e62c33c157..dbebc3b1d9 100644
--- a/apps/plugins/zxbox/keymaps.h
+++ b/apps/plugins/zxbox/keymaps.h
@@ -298,6 +298,14 @@
298#define ZX_UP BUTTON_PREV 298#define ZX_UP BUTTON_PREV
299#define ZX_DOWN BUTTON_NEXT 299#define ZX_DOWN BUTTON_NEXT
300 300
301#elif CONFIG_KEYPAD == FIIO_M3K_PAD
302#define ZX_SELECT BUTTON_SELECT
303#define ZX_MENU BUTTON_MENU
304#define ZX_LEFT BUTTON_LEFT
305#define ZX_RIGHT BUTTON_RIGHT
306#define ZX_UP BUTTON_UP
307#define ZX_DOWN BUTTON_DOWN
308
301#else 309#else
302#error Keymap not defined! 310#error Keymap not defined!
303 311
diff --git a/apps/plugins/zxbox/zxbox_keyb.c b/apps/plugins/zxbox/zxbox_keyb.c
index 6237ded8c1..dd517e01e7 100644
--- a/apps/plugins/zxbox/zxbox_keyb.c
+++ b/apps/plugins/zxbox/zxbox_keyb.c
@@ -293,6 +293,15 @@
293#define KBD_UP BUTTON_PREV 293#define KBD_UP BUTTON_PREV
294#define KBD_DOWN BUTTON_NEXT 294#define KBD_DOWN BUTTON_NEXT
295 295
296#elif CONFIG_KEYPAD == FIIO_M3K_PAD
297
298#define KBD_SELECT BUTTON_SELECT
299#define KBD_ABORT BUTTON_BACK
300#define KBD_LEFT BUTTON_LEFT
301#define KBD_RIGHT BUTTON_RIGHT
302#define KBD_UP BUTTON_UP
303#define KBD_DOWN BUTTON_DOWN
304
296#endif 305#endif
297 306
298#ifdef HAVE_TOUCHSCREEN 307#ifdef HAVE_TOUCHSCREEN