summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-06-29 12:47:24 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-06-29 12:47:24 +0000
commit01377e2e5791ae72f112c722405efb6e12e00db5 (patch)
treed3c6cd2055e262d20cbcc767783275a6d29ef532
parent9e8918b0866b249a55c06a16a243cdd3dcdad305 (diff)
downloadrockbox-01377e2e5791ae72f112c722405efb6e12e00db5.tar.gz
rockbox-01377e2e5791ae72f112c722405efb6e12e00db5.tar.bz2
rockbox-01377e2e5791ae72f112c722405efb6e12e00db5.zip
Hristo Kovachev's keypad fixes for the H300 build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6912 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/debug_menu.c3
-rw-r--r--apps/menu.h3
-rw-r--r--apps/plugins/battery_test.c3
-rw-r--r--apps/plugins/bounce.c3
-rw-r--r--apps/plugins/calculator.c3
-rw-r--r--apps/plugins/chessclock.c3
-rw-r--r--apps/plugins/chip8.c3
-rw-r--r--apps/plugins/cube.c3
-rw-r--r--apps/plugins/databox/databox.c3
-rw-r--r--apps/plugins/flipit.c3
-rw-r--r--apps/plugins/logo.c3
-rw-r--r--apps/plugins/minesweeper.c3
-rw-r--r--apps/plugins/mosaique.c3
-rw-r--r--apps/plugins/pong.c3
-rw-r--r--apps/plugins/rockboy/sys_rockbox.c3
-rw-r--r--apps/plugins/sliding_puzzle.c3
-rw-r--r--apps/plugins/snake.c3
-rw-r--r--apps/plugins/snake2.c3
-rw-r--r--apps/plugins/sokoban.c3
-rw-r--r--apps/plugins/solitaire.c6
-rw-r--r--apps/plugins/star.c3
-rw-r--r--apps/plugins/stopwatch.c3
-rw-r--r--apps/plugins/viewer.c5
-rw-r--r--apps/recorder/keyboard.c3
-rw-r--r--apps/tree.h3
-rw-r--r--apps/wps.h3
-rw-r--r--docs/CREDITS1
-rw-r--r--firmware/export/button.h2
28 files changed, 57 insertions, 29 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index 805c8db2ba..000c557906 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -927,7 +927,8 @@ bool dbg_cpufreq(void)
cpu_boost(false);
break;
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
case BUTTON_SELECT:
#else
case BUTTON_PLAY:
diff --git a/apps/menu.h b/apps/menu.h
index 9d682dad77..a378bd8402 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -23,7 +23,8 @@
#include <stdbool.h>
/* button definitions */
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define MENU_NEXT BUTTON_DOWN
#define MENU_PREV BUTTON_UP
#define MENU_EXIT BUTTON_LEFT
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c
index 47042e6cf0..adb1a2d86e 100644
--- a/apps/plugins/battery_test.c
+++ b/apps/plugins/battery_test.c
@@ -36,7 +36,8 @@
#define BATTERY_TEST_QUIT BUTTON_OFF
#elif CONFIG_KEYPAD == PLAYER_PAD
#define BATTERY_TEST_QUIT BUTTON_STOP
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BATTERY_TEST_QUIT BUTTON_OFF
#endif
diff --git a/apps/plugins/bounce.c b/apps/plugins/bounce.c
index fa0e22f196..98dcd5ff66 100644
--- a/apps/plugins/bounce.c
+++ b/apps/plugins/bounce.c
@@ -39,7 +39,8 @@
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_MENU | BUTTON_REL)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BOUNCE_QUIT (BUTTON_OFF | BUTTON_REL)
#define BOUNCE_MODE (BUTTON_SELECT | BUTTON_REL)
#endif
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 9d5ae205b9..e9de760b22 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -118,7 +118,8 @@ F3: equal to "="
#define CALCULATOR_INPUT (BUTTON_MENU | BUTTON_REL)
#define CALCULATOR_CALC (BUTTON_MENU | BUTTON_REPEAT)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CALCULATOR_QUIT BUTTON_OFF
#define CALCULATOR_INPUT BUTTON_SELECT
#define CALCULATOR_CALC BUTTON_ON
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index b66ed2a385..1c394df9de 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -52,7 +52,8 @@
#define CHC_SETTINGS_CANCEL BUTTON_STOP
#define CHC_SETTINGS_CANCEL2 BUTTON_MENU
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CHC_QUIT BUTTON_SELECT
#define CHC_STARTSTOP BUTTON_ON
#define CHC_RESET BUTTON_OFF
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 0830279671..544ee9f959 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -42,7 +42,8 @@
#define CHIP8_KEY6 BUTTON_RIGHT
#define CHIP8_KEY8 BUTTON_DOWN
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CHIP8_KEY2 BUTTON_UP
#define CHIP8_KEY4 BUTTON_LEFT
#define CHIP8_KEY5 BUTTON_SELECT
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 97bca2dbc4..46fc633ab6 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -55,7 +55,8 @@
#define CUBE_HIGHSPEED_PRE BUTTON_MENU
#define CUBE_HIGHSPEED (BUTTON_MENU | BUTTON_REL)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define CUBE_QUIT (BUTTON_OFF | BUTTON_REL)
#define CUBE_X_INC BUTTON_RIGHT
#define CUBE_X_DEC BUTTON_LEFT
diff --git a/apps/plugins/databox/databox.c b/apps/plugins/databox/databox.c
index 4e3722b671..7663a1ec82 100644
--- a/apps/plugins/databox/databox.c
+++ b/apps/plugins/databox/databox.c
@@ -19,7 +19,8 @@
#include "databox.h"
/* variable button definitions */
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define DBX_SELECT BUTTON_SELECT
#define DBX_STOP BUTTON_OFF
#elif CONFIG_KEYPAD == RECORDER_PAD
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index d6774fc968..d8d8eeb2ec 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -35,7 +35,8 @@
#define FLIPIT_TOGGLE_PRE BUTTON_MENU
#define FLIPIT_TOGGLE (BUTTON_MENU | BUTTON_REL)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define FLIPIT_QUIT BUTTON_OFF
#define FLIPIT_SHUFFLE BUTTON_MODE
#define FLIPIT_SOLVE BUTTON_ON
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index abe4e0bc3b..ba3c86c9f2 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -190,7 +190,8 @@ const unsigned char rockbox16x7[] = {
#endif
#ifdef CONFIG_REMOTE_KEYPAD
-#if CONFIG_REMOTE_KEYPAD == H100_REMOTE
+#if (CONFIG_REMOTE_KEYPAD == H100_REMOTE) || \
+ (CONFIG_REMOTE_KEYPAD == H300_REMOTE)
#define LP_R_QUIT BUTTON_RC_STOP
#define LP_R_DEC_X BUTTON_RC_REW
#define LP_R_INC_X BUTTON_RC_FF
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 18b57c42f2..907aaf71b3 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -57,7 +57,8 @@ use F3 to see how many mines are left (supposing all your flags are correct)
#define MINESWP_DISCOVER (BUTTON_MENU | BUTTON_REPEAT)
#define MINESWP_INFO (BUTTON_MENU | BUTTON_OFF)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define MINESWP_QUIT BUTTON_OFF
#define MINESWP_START BUTTON_SELECT
#define MINESWP_TOGGLE BUTTON_SELECT
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 3d0bfb816a..87ff3a4fdc 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -43,7 +43,8 @@
#define MOSAIQUE_SPEED BUTTON_MENU
#define MOSAIQUE_RESTART BUTTON_RIGHT
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define MOSAIQUE_QUIT BUTTON_OFF
#define MOSAIQUE_SPEED BUTTON_MODE
#define MOSAIQUE_RESTART BUTTON_ON
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index 438bfbbc4e..34aea07441 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -48,7 +48,8 @@
#define PONG_RIGHT_UP BUTTON_UP
#define PONG_RIGHT_DOWN BUTTON_DOWN
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define PONG_QUIT BUTTON_OFF
#define PONG_LEFT_UP BUTTON_UP
#define PONG_LEFT_DOWN BUTTON_DOWN
diff --git a/apps/plugins/rockboy/sys_rockbox.c b/apps/plugins/rockboy/sys_rockbox.c
index 1b0bed8b81..0d4426987a 100644
--- a/apps/plugins/rockboy/sys_rockbox.c
+++ b/apps/plugins/rockboy/sys_rockbox.c
@@ -55,7 +55,8 @@ void joy_close(void)
{
}
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define ROCKBOY_PAD_A BUTTON_ON
#define ROCKBOY_PAD_B BUTTON_OFF
#define ROCKBOY_PAD_START BUTTON_REC
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index e222995e01..3b9fe01bc8 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -31,7 +31,8 @@
#define PUZZLE_SHUFFLE (BUTTON_MENU | BUTTON_REPEAT)
#define PUZZLE_PICTURE (BUTTON_MENU | BUTTON_REL)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define PUZZLE_QUIT BUTTON_OFF
#define PUZZLE_SHUFFLE BUTTON_SELECT
#define PUZZLE_PICTURE BUTTON_ON
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index e13fdf560b..693aabb44d 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -42,7 +42,8 @@ dir is the current direction of the snake - 0=up, 1=right, 2=down, 3=left;
#define SNAKE_QUIT BUTTON_OFF
#define SNAKE_PLAYPAUSE BUTTON_MENU
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE_QUIT BUTTON_OFF
#define SNAKE_PLAYPAUSE BUTTON_ON
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index fdc317b7ef..eb02d22cfc 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -74,7 +74,8 @@ Head and Tail are stored
#define SNAKE2_SELECT_TYPE BUTTON_RIGHT
#define SNAKE2_PLAYPAUSE BUTTON_MENU
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE2_QUIT BUTTON_OFF
#define SNAKE2_LEVEL_UP BUTTON_UP
#define SNAKE2_LEVEL_UP2 BUTTON_RIGHT
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index f7dc165a13..fcadc93897 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -49,7 +49,8 @@
#define SOKOBAN_LEVEL_DOWN (BUTTON_MENU | BUTTON_LEFT)
#define SOKOBAN_LEVEL_REPEAT (BUTTON_MENU | BUTTON_UP)
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SOKOBAN_QUIT BUTTON_OFF
#define SOKOBAN_UNDO BUTTON_ON
#define SOKOBAN_LEVEL_UP BUTTON_MODE
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index fca36aad82..880b5a0ad9 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -85,7 +85,8 @@ static struct plugin_api* rb;
#define SOL_MENU_RUN BUTTON_RIGHT
#define SOL_MENU_INFO BUTTON_MENU
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SOL_QUIT BUTTON_OFF
#define SOL_UP BUTTON_UP
#define SOL_DOWN BUTTON_DOWN
@@ -124,7 +125,8 @@ static struct plugin_api* rb;
#define HELP_SOL_CUR2STACK "RIGHT..: Put the card under the cursor on one of the 4 final color stacks."
#define HELP_SOL_REM2STACK "UP..: Put the card on top of the remains' stack on one of the 4 final color stacks."
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define HELP_SOL_MOVE "SELECT: Select cards, Move cards, reveal hidden cards ..."
#define HELP_SOL_DRAW "REC: Un-select a card if it was selected. Else, draw 3 new cards out of the remains' stack."
#define HELP_SOL_REM2CUR "PLAY+LEFT: Put the card on top of the remains' stack on top of the cursor."
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index acf34275be..9b2e0bb010 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -80,7 +80,8 @@
#define STAR_LEVEL_REPEAT (BUTTON_MENU | BUTTON_UP)
#define STAR_MENU_RUN BUTTON_RIGHT
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define STAR_QUIT BUTTON_OFF
#define STAR_TOGGLE_CONTROL_PRE BUTTON_MODE
#define STAR_TOGGLE_CONTROL (BUTTON_MODE | BUTTON_REL)
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 7f0bcd699c..05e57905ac 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -53,7 +53,8 @@
#define STOPWATCH_LAP_TIMER BUTTON_ON
#define STOPWATCH_SCROLL_UP BUTTON_RIGHT
#define STOPWATCH_SCROLL_DOWN BUTTON_LEFT
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define STOPWATCH_QUIT BUTTON_OFF
#define STOPWATCH_START_STOP BUTTON_SELECT
#define STOPWATCH_RESET_TIMER BUTTON_DOWN
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index b36d025b56..8539cac1eb 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -101,8 +101,9 @@
#define VIEWER_MODE_LINE (BUTTON_ON | BUTTON_MENU | BUTTON_RIGHT)
#define VIEWER_MODE_WIDTH (BUTTON_ON | BUTTON_RIGHT)
-/* iRiver H1x0 keys */
-#elif CONFIG_KEYPAD == IRIVER_H100_PAD
+/* iRiver H1x0 && H3x0 keys */
+#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define VIEWER_QUIT BUTTON_OFF
#define VIEWER_PAGE_UP BUTTON_UP
#define VIEWER_PAGE_DOWN BUTTON_DOWN
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c
index bbca117bdb..8c4d628ba2 100644
--- a/apps/recorder/keyboard.c
+++ b/apps/recorder/keyboard.c
@@ -35,7 +35,8 @@
#define KEYBOARD_PAGES 3
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define KBD_CURSOR_RIGHT (BUTTON_ON | BUTTON_RIGHT)
#define KBD_CURSOR_LEFT (BUTTON_ON | BUTTON_LEFT)
#define KBD_SELECT BUTTON_SELECT
diff --git a/apps/tree.h b/apps/tree.h
index a105004d73..41ef0e527f 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -23,7 +23,8 @@
#include <applimits.h>
#include <file.h>
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define TREE_NEXT BUTTON_DOWN
#define TREE_PREV BUTTON_UP
#define TREE_EXIT BUTTON_LEFT
diff --git a/apps/wps.h b/apps/wps.h
index c9c872d35e..1779ce425d 100644
--- a/apps/wps.h
+++ b/apps/wps.h
@@ -22,7 +22,8 @@
#include "playlist.h"
/* button definitions */
-#if CONFIG_KEYPAD == IRIVER_H100_PAD
+#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
+ (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
#define WPS_NEXT_PRE BUTTON_RIGHT
#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
diff --git a/docs/CREDITS b/docs/CREDITS
index 6e04addf01..f785066414 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -122,3 +122,4 @@ Dave Wiard
Pieter Bos
Konstantin Isakov
Bryan Vandyke
+Hristo Kovachev
diff --git a/firmware/export/button.h b/firmware/export/button.h
index ddacb5a49d..e1caa52b54 100644
--- a/firmware/export/button.h
+++ b/firmware/export/button.h
@@ -93,7 +93,7 @@ bool remote_button_hold(void);
#define BUTTON_RC_ON (BUTTON_REMOTE | 0x00010000)
#define BUTTON_RC_STOP (BUTTON_REMOTE | 0x00020000)
-#define BUTTON_RC_VOL (BUTTON_REMOTE | 0x00040000)
+#define BUTTON_RC_MODE (BUTTON_REMOTE | 0x00040000)
#define BUTTON_RC_BITRATE (BUTTON_REMOTE | 0x00200000)
#define BUTTON_RC_REC (BUTTON_REMOTE | 0x00400000)
#define BUTTON_RC_SOURCE (BUTTON_REMOTE | 0x00800000)