YH8xx,YH9xx: Keymap improvement

The main "innovation" in this patch are two "virtual buttons"
for the record switch on YH92x targets. When the switch state
changes, a single BUTTON_REC_SW_ON or .._OFF button event will
be generated. Thus keymap code can react on switching, but
not on the actual state of the switch.

Wherever sensible, the following user scheme is applied:
- use PLAY as confirm button
- use REW button or Long REW to exit
- use REC (YH820) or FFWD (YH92X) as modifier key for button combos

Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
diff --git a/apps/keymaps/keymap-yh8xx_yh9xx.c b/apps/keymaps/keymap-yh8xx_yh9xx.c
index 16b29e5..c8bf9d7 100644
--- a/apps/keymaps/keymap-yh8xx_yh9xx.c
+++ b/apps/keymaps/keymap-yh8xx_yh9xx.c
@@ -40,15 +40,15 @@
 
 CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions)
 CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker screens
-                                  i.e where up/down is inc/dec
-               CONTEXT_SETTINGS = up/down is prev/next, l/r is inc/dec
+                                  i.e where l/r is inc/dec
+               CONTEXT_SETTINGS = l/r is prev/next, up/down is inc/dec
 
 */
 
 
 static const struct button_mapping button_context_standard[]  = {
     { ACTION_STD_OK,            BUTTON_RIGHT|BUTTON_REL,       BUTTON_RIGHT },
-    { ACTION_STD_CANCEL,        BUTTON_LEFT,                    BUTTON_NONE },
+    { ACTION_STD_CANCEL,        BUTTON_LEFT|BUTTON_REL,         BUTTON_LEFT },
     { ACTION_STD_CANCEL,        BUTTON_LEFT|BUTTON_REPEAT,      BUTTON_NONE },
     { ACTION_STD_PREV,          BUTTON_UP,                      BUTTON_NONE },
     { ACTION_STD_PREVREPEAT,    BUTTON_UP|BUTTON_REPEAT,        BUTTON_NONE },
@@ -59,8 +59,12 @@
     { ACTION_STD_QUICKSCREEN,   BUTTON_LEFT|BUTTON_DOWN|BUTTON_REPEAT,
                                 BUTTON_LEFT|BUTTON_DOWN|BUTTON_REPEAT },
     { ACTION_STD_MENU,          BUTTON_LEFT|BUTTON_UP|BUTTON_REPEAT,
-                                BUTTON_LEFT|BUTTON_UP|BUTTON_REPEAT },
+                                                      BUTTON_LEFT|BUTTON_UP },
+#ifdef SAMSUNG_YH820
     { ACTION_STD_REC,           BUTTON_REC|BUTTON_REPEAT,        BUTTON_REC },
+#else
+    { ACTION_STD_REC,           BUTTON_REC_SW_ON,               BUTTON_NONE },
+#endif
 
     LAST_ITEM_IN_LIST
 }; /* button_context_standard */
@@ -74,34 +78,50 @@
     { ACTION_WPS_SKIPPREV,      BUTTON_REW|BUTTON_REL,           BUTTON_REW },
     { ACTION_WPS_SEEKBACK,      BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
     { ACTION_WPS_STOPSEEK,      BUTTON_REW|BUTTON_REL,          BUTTON_REW|BUTTON_REPEAT },
+#ifdef SAMSUNG_YH820
+    { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_REC|BUTTON_FFWD,         BUTTON_NONE },
+    { ACTION_WPS_ABSETA_PREVDIR,BUTTON_REC|BUTTON_REW,          BUTTON_NONE },
+    { ACTION_WPS_ABRESET,       BUTTON_REC|BUTTON_PLAY,         BUTTON_NONE },
+#else
     { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_PLAY|BUTTON_RIGHT,       BUTTON_PLAY },
     { ACTION_WPS_ABSETA_PREVDIR,BUTTON_PLAY|BUTTON_LEFT,        BUTTON_PLAY },
     { ACTION_WPS_ABRESET,       BUTTON_PLAY|BUTTON_UP,          BUTTON_PLAY },
+    { ACTION_WPS_ABRESET,       BUTTON_PLAY|BUTTON_DOWN,        BUTTON_PLAY },
+#endif
     { ACTION_WPS_VOLDOWN,       BUTTON_DOWN|BUTTON_REPEAT,      BUTTON_NONE },
     { ACTION_WPS_VOLDOWN,       BUTTON_DOWN,                    BUTTON_NONE },
     { ACTION_WPS_VOLUP,         BUTTON_UP|BUTTON_REPEAT,        BUTTON_NONE },
     { ACTION_WPS_VOLUP,         BUTTON_UP,                      BUTTON_NONE },
-    { ACTION_WPS_BROWSE,        BUTTON_RIGHT|BUTTON_REL,        BUTTON_NONE },
+    { ACTION_WPS_BROWSE,        BUTTON_RIGHT|BUTTON_REL,       BUTTON_RIGHT },
     /* these match context_standard */
     { ACTION_WPS_MENU,          BUTTON_LEFT|BUTTON_REL,         BUTTON_LEFT },
     { ACTION_WPS_CONTEXT,       BUTTON_RIGHT|BUTTON_REPEAT,    BUTTON_RIGHT },
     /* kludge: pressing 2 directional buttons is easy on this target  */
     { ACTION_WPS_QUICKSCREEN,   BUTTON_LEFT|BUTTON_DOWN|BUTTON_REPEAT,
                                 BUTTON_LEFT|BUTTON_DOWN|BUTTON_REPEAT },
+#ifdef SAMSUNG_YH820
     { ACTION_WPS_HOTKEY,        BUTTON_REC|BUTTON_REL,           BUTTON_REC },
+#else
+    { ACTION_WPS_HOTKEY,        BUTTON_RIGHT|BUTTON_DOWN|BUTTON_REPEAT,
+                                BUTTON_RIGHT|BUTTON_DOWN|BUTTON_REPEAT },
+    { ACTION_WPS_REC,           BUTTON_REC_SW_ON,               BUTTON_NONE },
+#endif
     { ACTION_WPS_VIEW_PLAYLIST, BUTTON_LEFT|BUTTON_REPEAT,      BUTTON_LEFT },
-    { ACTION_WPS_REC,           BUTTON_REC|BUTTON_REPEAT,       BUTTON_NONE },
 
     LAST_ITEM_IN_LIST
 }; /* button_context_wps */
 
 static const struct button_mapping button_context_list[]  = {
 #ifdef SAMSUNG_YH820
-    { ACTION_LISTTREE_PGUP,     BUTTON_REC|BUTTON_UP,           BUTTON_NONE },
-    { ACTION_LISTTREE_PGDOWN,   BUTTON_REC|BUTTON_DOWN,         BUTTON_NONE },
+    { ACTION_LISTTREE_PGUP,     BUTTON_REW,                     BUTTON_NONE },
+    { ACTION_LISTTREE_PGUP,     BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD,                    BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD|BUTTON_REPEAT,      BUTTON_NONE },
 #else
     { ACTION_LISTTREE_PGUP,     BUTTON_FFWD,                    BUTTON_NONE },
+    { ACTION_LISTTREE_PGUP,     BUTTON_FFWD|BUTTON_REPEAT,      BUTTON_NONE },
     { ACTION_LISTTREE_PGDOWN,   BUTTON_REW,                     BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
 #endif
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
@@ -110,94 +130,115 @@
 static const struct button_mapping button_context_tree[]  = {
     { ACTION_TREE_WPS,          BUTTON_PLAY|BUTTON_REL,         BUTTON_PLAY },
     { ACTION_TREE_STOP,         BUTTON_PLAY|BUTTON_REPEAT,      BUTTON_PLAY },
+#ifdef SAMSUNG_YH820
     { ACTION_TREE_HOTKEY,       BUTTON_REC|BUTTON_REL,           BUTTON_REC },
+#else
+    { ACTION_TREE_HOTKEY,       BUTTON_RIGHT|BUTTON_DOWN|BUTTON_REPEAT,
+                                BUTTON_RIGHT|BUTTON_DOWN|BUTTON_REPEAT },
+#endif
 
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST)
+    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
 }; /* button_context_tree */
 
 static const struct button_mapping button_context_listtree_scroll_with_combo[]  = {
-    { ACTION_TREE_PGLEFT,       BUTTON_REC|BUTTON_LEFT,         BUTTON_NONE },
-    { ACTION_TREE_ROOT_INIT,    BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT,BUTTON_REC|BUTTON_LEFT },
-    { ACTION_TREE_PGLEFT,       BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT,BUTTON_NONE },
-    { ACTION_TREE_PGRIGHT,      BUTTON_REC|BUTTON_RIGHT,        BUTTON_NONE },
-    { ACTION_TREE_PGRIGHT,      BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
+    { ACTION_TREE_PGLEFT,       BUTTON_FFWD|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
+    /* Note: we omit ACTION_TREE_ROOT_INIT to keep "left" the sole cancel button */
+    { ACTION_TREE_PGRIGHT,      BUTTON_FFWD|BUTTON_RIGHT,              BUTTON_NONE },
+    { ACTION_TREE_PGRIGHT,      BUTTON_FFWD|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
+#ifdef SAMSUNG_YH820
+    { ACTION_LISTTREE_PGUP,     BUTTON_REW,                     BUTTON_NONE },
+    { ACTION_LISTTREE_PGUP,     BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD|BUTTON_REL,         BUTTON_FFWD },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD|BUTTON_REPEAT,      BUTTON_FFWD|BUTTON_REPEAT },
+#else
+    { ACTION_LISTTREE_PGUP,     BUTTON_FFWD|BUTTON_REL,         BUTTON_FFWD },
+    { ACTION_LISTTREE_PGUP,     BUTTON_FFWD|BUTTON_REPEAT,      BUTTON_FFWD|BUTTON_REPEAT },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_REW,                     BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
+#endif
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE)
-};
+}; /* button_context_listtree_scroll_with_combo */
 
 static const struct button_mapping button_context_listtree_scroll_without_combo[]  = {
-    { ACTION_TREE_ROOT_INIT,    BUTTON_REW|BUTTON_REPEAT,        BUTTON_REW },
     { ACTION_TREE_PGLEFT,       BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
     { ACTION_TREE_PGRIGHT,      BUTTON_FFWD|BUTTON_REPEAT,      BUTTON_NONE },
+    /* Note: we omit ACTION_TREE_ROOT_INIT to keep "left" the sole cancel button */
+#ifdef SAMSUNG_YH820
+    { ACTION_LISTTREE_PGUP,     BUTTON_REW|BUTTON_REL,           BUTTON_REW },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD|BUTTON_REL,         BUTTON_FFWD },
+#else
+    { ACTION_LISTTREE_PGUP,     BUTTON_FFWD|BUTTON_REL,         BUTTON_FFWD },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_REW|BUTTON_REL,           BUTTON_REW },
+#endif
+    /* keep button combos for use with CONTEXT_TREE keymaps */
+    /* this is to permit pgup/down repeats */
+    { ACTION_LISTTREE_PGUP,     BUTTON_FFWD|BUTTON_UP,                 BUTTON_NONE },
+    { ACTION_LISTTREE_PGUP,     BUTTON_FFWD|BUTTON_UP|BUTTON_REPEAT,   BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD|BUTTON_DOWN,               BUTTON_NONE },
+    { ACTION_LISTTREE_PGDOWN,   BUTTON_FFWD|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE)
-};
+}; /* button_context_listtree_scroll_without_combo */
 
 static const struct button_mapping button_context_settings[]  = {
     { ACTION_SETTINGS_INC,      BUTTON_UP,                      BUTTON_NONE },
     { ACTION_SETTINGS_INCREPEAT,BUTTON_UP|BUTTON_REPEAT,        BUTTON_NONE },
     { ACTION_SETTINGS_DEC,      BUTTON_DOWN,                    BUTTON_NONE },
     { ACTION_SETTINGS_DECREPEAT,BUTTON_DOWN|BUTTON_REPEAT,      BUTTON_NONE },
-    { ACTION_NONE,              BUTTON_LEFT,                    BUTTON_NONE },
-    { ACTION_STD_PREV,          BUTTON_LEFT|BUTTON_REL,         BUTTON_NONE },
+    { ACTION_STD_PREV,          BUTTON_LEFT,                    BUTTON_NONE },
     { ACTION_STD_PREVREPEAT,    BUTTON_LEFT|BUTTON_REPEAT,      BUTTON_NONE },
-    { ACTION_STD_NEXT,          BUTTON_RIGHT|BUTTON_REL,        BUTTON_NONE },
+    { ACTION_STD_NEXT,          BUTTON_RIGHT,                   BUTTON_NONE },
     { ACTION_STD_NEXTREPEAT,    BUTTON_RIGHT|BUTTON_REPEAT,     BUTTON_NONE },
-    { ACTION_SETTINGS_RESET,    BUTTON_PLAY,                    BUTTON_NONE },
+    { ACTION_STD_OK,            BUTTON_PLAY,                    BUTTON_NONE },
+    { ACTION_STD_CANCEL,        BUTTON_REW,                     BUTTON_NONE },
 
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
+    LAST_ITEM_IN_LIST
 }; /* button_context_settings */
 
 static const struct button_mapping button_context_settings_right_is_inc[]  = {
-    { ACTION_NONE,              BUTTON_RIGHT|BUTTON_REL,       BUTTON_RIGHT },
     { ACTION_SETTINGS_INC,      BUTTON_RIGHT,                   BUTTON_NONE },
     { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT,     BUTTON_NONE },
     { ACTION_SETTINGS_DEC,      BUTTON_LEFT,                    BUTTON_NONE },
     { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT,      BUTTON_NONE },
-    { ACTION_SETTINGS_RESET,    BUTTON_PLAY,                    BUTTON_NONE },
+    { ACTION_SETTINGS_RESET,    BUTTON_REW|BUTTON_REL,          BUTTON_REW  },
+
     { ACTION_STD_PREV,          BUTTON_UP,                      BUTTON_NONE },
     { ACTION_STD_PREVREPEAT,    BUTTON_UP|BUTTON_REPEAT,        BUTTON_NONE },
     { ACTION_STD_NEXT,          BUTTON_DOWN,                    BUTTON_NONE },
     { ACTION_STD_NEXTREPEAT,    BUTTON_DOWN|BUTTON_REPEAT,      BUTTON_NONE },
 
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
-}; /* button_context_settingsgraphical */
+    { ACTION_STD_OK,            BUTTON_PLAY,                    BUTTON_NONE },
+    { ACTION_STD_CANCEL,        BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
+
+    LAST_ITEM_IN_LIST
+}; /* button_context_settings_right_is_inc */
 
 static const struct button_mapping button_context_yesno[]  = {
-    { ACTION_YESNO_ACCEPT,      BUTTON_RIGHT,                   BUTTON_NONE },
+    { ACTION_YESNO_ACCEPT,      BUTTON_PLAY,                    BUTTON_NONE },
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
 }; /* button_context_settings_yesno */
 
-static const struct button_mapping button_context_colorchooser[]  = {
-    { ACTION_STD_OK,            BUTTON_PLAY|BUTTON_REL,         BUTTON_PLAY },
-
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS)
-}; /* button_context_settings_colorchooser */
 
 static const struct button_mapping button_context_eq[]  = {
+    /* Naming scheme for EQ is misleading: "OK" switches between gain/freq/Q */
     { ACTION_STD_OK,            BUTTON_FFWD|BUTTON_REL,         BUTTON_FFWD },
-    { ACTION_STD_CANCEL,        BUTTON_REW|BUTTON_REL,           BUTTON_REW },
+    /* "CANCEL" means "leave menu and keep settings", so it's "OK" from the user's view */
+    { ACTION_STD_CANCEL,        BUTTON_PLAY,                    BUTTON_NONE },
+    /* de facto there is no CANCEL, so deactivate the correspondent keymaps */
+    { ACTION_NONE,              BUTTON_REW|BUTTON_REPEAT,       BUTTON_NONE },
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS)
-}; /* button_context_settings_context_eq */
+}; /* button_context_eq */
 
 static const struct button_mapping button_context_bmark[]  = {
     { ACTION_BMS_DELETE,        BUTTON_PLAY|BUTTON_REPEAT,      BUTTON_PLAY },
 
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST)
-}; /* button_context_settings_bmark */
-
-static const struct button_mapping button_context_time[]  = {
-    { ACTION_STD_OK,            BUTTON_PLAY|BUTTON_REL,         BUTTON_PLAY },
-    { ACTION_STD_CANCEL,        BUTTON_PLAY|BUTTON_REPEAT,      BUTTON_PLAY },
-
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS)
-}; /* button_context_settings_bmark */
+    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_TREE)
+}; /* button_context_bmark */
 
 static const struct button_mapping button_context_quickscreen[]  = {
-    { ACTION_NONE,              BUTTON_LEFT,                       BUTTON_NONE },
-    { ACTION_NONE,              BUTTON_LEFT|BUTTON_DOWN|BUTTON_REL,BUTTON_NONE },
     { ACTION_QS_TOP,            BUTTON_UP|BUTTON_REL,                BUTTON_UP },
     { ACTION_QS_TOP,            BUTTON_UP|BUTTON_REPEAT,           BUTTON_NONE },
     { ACTION_QS_DOWN,           BUTTON_DOWN|BUTTON_REL,            BUTTON_DOWN },
@@ -207,9 +248,9 @@
     { ACTION_QS_RIGHT,          BUTTON_RIGHT|BUTTON_REL,          BUTTON_RIGHT },
     { ACTION_QS_RIGHT,          BUTTON_RIGHT|BUTTON_REPEAT,        BUTTON_NONE },
     { ACTION_STD_CANCEL,        BUTTON_PLAY,                       BUTTON_NONE },
-    { ACTION_STD_CANCEL,        BUTTON_FFWD,                       BUTTON_NONE },
+    { ACTION_STD_CANCEL,        BUTTON_REW,                        BUTTON_NONE },
 
-    LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
+    LAST_ITEM_IN_LIST
 }; /* button_context_quickscreen */
 
 static const struct button_mapping button_context_pitchscreen[]  = {
@@ -228,18 +269,23 @@
     { ACTION_PS_EXIT,           BUTTON_PLAY,                    BUTTON_NONE },
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
-}; /* button_context_pitchcreen */
+}; /* button_context_pitchscreen */
 
 static const struct button_mapping button_context_recscreen[]  = {
     { ACTION_REC_PAUSE,             BUTTON_PLAY|BUTTON_REL,     BUTTON_NONE },
     { ACTION_REC_NEWFILE,           BUTTON_FFWD|BUTTON_REL,     BUTTON_NONE },
-    { ACTION_STD_MENU,              BUTTON_REW|BUTTON_REL,      BUTTON_NONE },
-    { ACTION_STD_CANCEL,            BUTTON_REW|BUTTON_REPEAT,    BUTTON_REW },
+    { ACTION_STD_CANCEL,            BUTTON_REW|BUTTON_REL,      BUTTON_NONE },
+    { ACTION_STD_MENU,              BUTTON_REW|BUTTON_REPEAT,    BUTTON_REW },
+#ifdef SAMSUNG_YH820
     { ACTION_STD_CANCEL,            BUTTON_REC,                 BUTTON_NONE },
+#else
+    { ACTION_STD_CANCEL,            BUTTON_REC_SW_OFF,          BUTTON_NONE },
+#endif
     { ACTION_SETTINGS_INC,          BUTTON_RIGHT,               BUTTON_NONE },
     { ACTION_SETTINGS_INCREPEAT,    BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
     { ACTION_SETTINGS_DEC,          BUTTON_LEFT,                BUTTON_NONE },
     { ACTION_SETTINGS_DECREPEAT,    BUTTON_LEFT|BUTTON_REPEAT,  BUTTON_NONE },
+    { ACTION_NONE,                  BUTTON_LEFT|BUTTON_REL,     BUTTON_LEFT },
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
 }; /* button_context_recscreen */
@@ -253,22 +299,30 @@
     { ACTION_KBD_LEFT,         BUTTON_LEFT|BUTTON_REPEAT,       BUTTON_NONE },
     { ACTION_KBD_RIGHT,        BUTTON_RIGHT,                    BUTTON_NONE },
     { ACTION_KBD_RIGHT,        BUTTON_RIGHT|BUTTON_REPEAT,      BUTTON_NONE },
-    { ACTION_KBD_CURSOR_LEFT,  BUTTON_FFWD|BUTTON_LEFT,         BUTTON_NONE },
-    { ACTION_KBD_CURSOR_LEFT,  BUTTON_FFWD|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
-    { ACTION_KBD_CURSOR_RIGHT, BUTTON_FFWD|BUTTON_RIGHT,        BUTTON_NONE },
-    { ACTION_KBD_CURSOR_RIGHT, BUTTON_FFWD|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
+#ifdef SAMSUNG_YH820
+    { ACTION_KBD_CURSOR_LEFT,  BUTTON_REC|BUTTON_LEFT,               BUTTON_NONE },
+    { ACTION_KBD_CURSOR_LEFT,  BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
+    { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT,              BUTTON_NONE },
+    { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE },
+#endif
     { ACTION_KBD_SELECT,       BUTTON_PLAY,                     BUTTON_NONE },
-    { ACTION_KBD_DONE,         BUTTON_FFWD|BUTTON_REL,          BUTTON_FFWD },
-    { ACTION_KBD_ABORT,        BUTTON_FFWD|BUTTON_REW,          BUTTON_NONE },
-    { ACTION_KBD_ABORT,        BUTTON_REC,                      BUTTON_NONE },
-    { ACTION_KBD_BACKSPACE,    BUTTON_REW|BUTTON_REL,            BUTTON_REW },
-    { ACTION_KBD_BACKSPACE,    BUTTON_REW|BUTTON_REPEAT,        BUTTON_NONE },
-    { ACTION_KBD_MORSE_INPUT,  BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD|BUTTON_REPEAT },
+    { ACTION_KBD_PAGE_FLIP,    BUTTON_FFWD|BUTTON_REL,          BUTTON_FFWD },
+    { ACTION_KBD_DONE,         BUTTON_FFWD|BUTTON_REPEAT,       BUTTON_NONE },
+    { ACTION_KBD_BACKSPACE,    BUTTON_REW|BUTTON_REL,           BUTTON_REW  },
+    { ACTION_KBD_ABORT,        BUTTON_REW|BUTTON_REPEAT,        BUTTON_NONE },
+#ifdef SAMSUNG_YH820
+    { ACTION_KBD_MORSE_INPUT,  BUTTON_FFWD|BUTTON_REC,          BUTTON_NONE },
+    { ACTION_KBD_BACKSPACE,    BUTTON_REC|BUTTON_REW|BUTTON_REPEAT,  BUTTON_NONE },
+#else
+    { ACTION_KBD_MORSE_INPUT,  BUTTON_REC_SW_ON,                BUTTON_NONE },
+    { ACTION_KBD_MORSE_INPUT,  BUTTON_REC_SW_OFF,               BUTTON_NONE },
+#endif
     { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL,          BUTTON_NONE },
 
     LAST_ITEM_IN_LIST
 }; /* button_context_keyboard */
 
+
 #if CONFIG_TUNER
 static const struct button_mapping button_context_radio[]  = {
     { ACTION_FM_MENU,           BUTTON_LEFT|BUTTON_REL,         BUTTON_LEFT },
@@ -292,10 +346,17 @@
 
 #ifdef USB_ENABLE_HID
 static const struct button_mapping button_context_usb_hid[] = {
+#ifdef SAMSUNG_YH820
     { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_REC|BUTTON_FFWD|BUTTON_REL,   BUTTON_REC|BUTTON_FFWD },
     { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_REC|BUTTON_FFWD|BUTTON_REPEAT,BUTTON_REC|BUTTON_FFWD },
     { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_REC|BUTTON_REW|BUTTON_REL,     BUTTON_REC|BUTTON_REW },
     { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_REC|BUTTON_REW|BUTTON_REPEAT,  BUTTON_REC|BUTTON_REW },
+#else
+    { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_FFWD|BUTTON_RIGHT,                       BUTTON_NONE },
+    { ACTION_USB_HID_MODE_SWITCH_NEXT, BUTTON_FFWD|BUTTON_RIGHT|BUTTON_REPEAT,         BUTTON_NONE },
+    { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_FFWD|BUTTON_LEFT,                        BUTTON_NONE },
+    { ACTION_USB_HID_MODE_SWITCH_PREV, BUTTON_FFWD|BUTTON_LEFT|BUTTON_REPEAT,          BUTTON_NONE },
+#endif
 
     LAST_ITEM_IN_LIST
 }; /* button_context_usb_hid */
@@ -315,8 +376,8 @@
 }; /* button_context_usb_hid_mode_multimedia */
 
 static const struct button_mapping button_context_usb_hid_mode_presentation[] = {
-    { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START,   BUTTON_PLAY|BUTTON_REL,     BUTTON_RIGHT },
-    { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE,   BUTTON_REC|BUTTON_REL,        BUTTON_REC },
+    { ACTION_USB_HID_PRESENTATION_SLIDESHOW_START,   BUTTON_PLAY|BUTTON_REL,      BUTTON_PLAY },
+    { ACTION_USB_HID_PRESENTATION_SLIDESHOW_LEAVE,   BUTTON_PLAY|BUTTON_REPEAT,   BUTTON_PLAY },
     { ACTION_USB_HID_PRESENTATION_SLIDE_PREV,        BUTTON_REW|BUTTON_REL,        BUTTON_REW },
     { ACTION_USB_HID_PRESENTATION_SLIDE_NEXT,        BUTTON_FFWD|BUTTON_REL,      BUTTON_FFWD },
     { ACTION_USB_HID_PRESENTATION_SLIDE_FIRST,       BUTTON_REW|BUTTON_REPEAT,     BUTTON_REW },
@@ -348,7 +409,12 @@
     { ACTION_USB_HID_BROWSER_TAB_CLOSE,        BUTTON_PLAY|BUTTON_REL,        BUTTON_PLAY },
     { ACTION_USB_HID_BROWSER_HISTORY_BACK,     BUTTON_REW|BUTTON_REPEAT,       BUTTON_REW },
     { ACTION_USB_HID_BROWSER_HISTORY_FORWARD,  BUTTON_FFWD|BUTTON_REPEAT,     BUTTON_FFWD },
+#ifdef SAMSUNG_YH820
     { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_REC|BUTTON_REL,          BUTTON_REC },
+#else
+    { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_REC_SW_ON,              BUTTON_NONE },
+    { ACTION_USB_HID_BROWSER_VIEW_FULL_SCREEN, BUTTON_REC_SW_OFF,             BUTTON_NONE },
+#endif
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
 }; /* button_context_usb_hid_mode_browser */
@@ -363,6 +429,7 @@
     { ACTION_USB_HID_MOUSE_LEFT_REP,          BUTTON_LEFT|BUTTON_REPEAT,   BUTTON_NONE },
     { ACTION_USB_HID_MOUSE_RIGHT,             BUTTON_RIGHT,                BUTTON_NONE },
     { ACTION_USB_HID_MOUSE_RIGHT_REP,         BUTTON_RIGHT|BUTTON_REPEAT,  BUTTON_NONE },
+#ifdef SAMSUNG_YH820
     { ACTION_USB_HID_MOUSE_BUTTON_LEFT,       BUTTON_REW,                  BUTTON_NONE },
     { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL,   BUTTON_REW|BUTTON_REL,       BUTTON_NONE },
     { ACTION_USB_HID_MOUSE_BUTTON_RIGHT,      BUTTON_FFWD,                 BUTTON_NONE },
@@ -371,6 +438,16 @@
     { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP,   BUTTON_REC|BUTTON_UP|BUTTON_REPEAT,   BUTTON_NONE },
     { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_REC|BUTTON_DOWN,      BUTTON_NONE },
     { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_REC|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
+#else
+    { ACTION_USB_HID_MOUSE_BUTTON_LEFT,       BUTTON_FFWD,                 BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL,   BUTTON_FFWD|BUTTON_REL,      BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_BUTTON_RIGHT,      BUTTON_REW,                  BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_BUTTON_RIGHT_REL,  BUTTON_REW|BUTTON_REL,       BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP,   BUTTON_PLAY|BUTTON_UP,       BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP,   BUTTON_PLAY|BUTTON_UP|BUTTON_REPEAT,   BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_PLAY|BUTTON_DOWN,     BUTTON_NONE },
+    { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_PLAY|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
+#endif
 
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
 }; /* button_context_usb_hid_mode_mouse */
@@ -397,20 +474,16 @@
         case CONTEXT_CUSTOM|CONTEXT_TREE:
             return button_context_tree;
 
+        case CONTEXT_SETTINGS_TIME:
         case CONTEXT_SETTINGS:
             return button_context_settings;
         case CONTEXT_CUSTOM|CONTEXT_SETTINGS:
         case CONTEXT_SETTINGS_RECTRIGGER:
-            return button_context_settings_right_is_inc;
-
         case CONTEXT_SETTINGS_COLOURCHOOSER:
-            return button_context_colorchooser;
+            return button_context_settings_right_is_inc;
         case CONTEXT_SETTINGS_EQ:
             return button_context_eq;
 
-        case CONTEXT_SETTINGS_TIME:
-            return button_context_time;
-
         case CONTEXT_YESNOSCREEN:
             return button_context_yesno;
         case CONTEXT_BOOKMARKSCREEN:
diff --git a/apps/lang/arabic.lang b/apps/lang/arabic.lang
index 8798b85..2654e0d 100644
--- a/apps/lang/arabic.lang
+++ b/apps/lang/arabic.lang
@@ -3664,7 +3664,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -3672,7 +3672,7 @@
     *: "جاري بناء قاعدة البيانات...  عثر على d% (إيقاف للعودة)"
     iriverh100,iriverh120,iriverh300: "جاري بناء قاعدة البيانات...  عثر على d% (إيقاف للعودة)"
     ipod*: "جاري بناء قاعدة البيانات...  عثر على d% (السابق للعودة)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "جاري بناء قاعدة البيانات...  عثر على d% (يسار للعودة)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "جاري بناء قاعدة البيانات...  عثر على d% (يسار للعودة)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "جاري بناء قاعدة البيانات...  عثر على d% (يسار للعودة)"
     gogearsa9200: "جاري بناء قاعدة البيانات...  عثر على d% (يسار للعودة)"
   </dest>
@@ -6568,6 +6568,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -6581,6 +6582,7 @@
     gigabeats: "خلف = إاغاء الأمر"
     gogearsa9200: "يسار = إاغاء الأمر"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/basque.lang b/apps/lang/basque.lang
index 0f99a5a..978c8da 100644
--- a/apps/lang/basque.lang
+++ b/apps/lang/basque.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "PLAY = Bai"
     cowond2*: "MENU, edo goi-eskuin = Bai"
     iriverh100,iriverh120,iriverh300: "NAVI = Bai"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Bai"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Bai"
     mrobe500: "PLAY, POWER, or top-right = Bai"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Bai"
@@ -2231,7 +2231,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2240,7 +2240,7 @@
     *: "Datubasea eraikitzen... %d aurkituak (OFF itzultzeko)"
     iriverh100,iriverh120,iriverh300: "Datubasea eraikitzen... %d aurkituak (STOP itzultzeko)"
     ipod*: "Datubasea eraikitzen... %d aurkituak ( |<< itzultzeko)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Datubasea eraikitzen... %d aurkituak (EZKER itzultzeko)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Datubasea eraikitzen... %d aurkituak (EZKER itzultzeko)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Datubasea eraikitzen... %d aurkituak (AURR itzultzeko)"
     gogearsa9200: "Datubasea Eraikitzen... %d aurkituak (REW itzultzeko)"
     archosplayer: "Datubasea Eraikitzen %d aurkituak"
@@ -3947,7 +3947,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3957,13 +3957,13 @@
     mrobe500: "HEART = Ezarri"
     iriverh100,iriverh120,iriverh300: "NAVI = Ezarri"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ezarri"
-    gogearsa9200: "PLAY = Ezarri"
+    gogearsa9200,samsungyh*: "PLAY = Ezarri"
     vibe500: "OK = Ezarri"
     mpiohd300: "ENTER = Ezarri"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3984,6 +3984,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3999,6 +4000,7 @@
     gigabeats: "BACK = Itzuli"
     gogearsa9200: "LEFT = Itzuli"
     vibe500: "CANCEL = Itzuli"
+    samsungyh*: "REW = Itzuli"
   </dest>
   <voice>
     *: none
@@ -7980,6 +7982,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7987,6 +7990,7 @@
     iriverh100,iriverh120,iriverh300: "Diskoa beterik. Sakatu STOP jarraitzeko."
     iaudiom5,iaudiox5: "Diskoa beterik. Sakatu POWER jarraitzeko."
     sansae200*,sansac200*,vibe500: "Diskoa beterik. Sakatu AUR jarraitzeko."
+    samsungyh*: "Diskoa beterik. Sakatu LEFT jarraitzeko."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/bulgarian.lang b/apps/lang/bulgarian.lang
index 8d14fb1..5f59310 100644
--- a/apps/lang/bulgarian.lang
+++ b/apps/lang/bulgarian.lang
@@ -252,7 +252,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -262,7 +262,7 @@
     *: "PLAY = Да"
     cowond2*: "MENU или горе ляво = Да"
     iriverh100,iriverh120,iriverh300: "NAVI = Да"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Да"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Да"
     mrobe500: "PLAY, POWER или горе дясно = Да"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Да"
@@ -2237,7 +2237,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2246,7 +2246,7 @@
     *: "Изграждане на базата данни...  намерени %d (OFF за връщане)"
     iriverh100,iriverh120,iriverh300: "Изграждане на базата данни...  намерени %d (STOP за връщане)"
     ipod*: "Изграждане на базата данни...  намерени %d (PREV за връщане)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Изграждане на базата данни...  намерени %d (LEFT за връщане)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Изграждане на базата данни...  намерени %d (LEFT за връщане)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Изграждане на базата данни...  намерени %d (PREV за връщане)"
     gogearsa9200: "Изграждане на базата данни...  намерени %d (REW за връщане)"
     archosplayer: "Изгр. на БД %d файла"
@@ -3953,7 +3953,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3963,13 +3963,13 @@
     mrobe500: "HEART = Запази"
     iriverh100,iriverh120,iriverh300: "NAVI = Запази"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Запази"
-    gogearsa9200: "PLAY = Запази"
+    gogearsa9200,samsungyh*: "PLAY = Запази"
     vibe500: "OK = Запази"
     mpiohd300: "ENTER = Запази"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3990,6 +3990,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4005,6 +4006,7 @@
     gigabeats: "BACK = отказ"
     gogearsa9200: "LEFT = отказ"
     vibe500: "CANCEL = отказ"
+    samsungyh*: "REW = отказ"
   </dest>
   <voice>
     *: none
@@ -7986,6 +7988,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7993,6 +7996,7 @@
     iriverh100,iriverh120,iriverh300: "Дискът е пълен. Натиснете stop за да продължите."
     iaudiom5,iaudiox5: "Дискът е пълен. Натиснете Power за да продължите."
     sansae200*,sansac200*,vibe500: "Дискът е пълен. Натиснете PREV за да продължите."
+    samsungyh*: "Дискът е пълен. Натиснете LEFT за да продължите."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/catala.lang b/apps/lang/catala.lang
index 12cc13d..527ffeb 100644
--- a/apps/lang/catala.lang
+++ b/apps/lang/catala.lang
@@ -250,7 +250,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -259,7 +259,7 @@
     *: "PLAY = Sí"
     cowond2*: "MENU, o  a dalt a la dreta = Sí"
     iriverh100,iriverh120,iriverh300: "NAVI = Sí"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sí"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sí"
     mrobe500: "PLAY, POWER, o a dalt a la dreta = Sí"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Sí"
@@ -2230,7 +2230,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2239,7 +2239,7 @@
     *: "Construint la base de dades... %d trobats (OFF per tornar)"
     iriverh100,iriverh120,iriverh300: "Construint la base de dades.... %d trobats (STOP per tornar)"
     ipod*: "Construint la base de dades...Construint base de dades... %d trobats (PREV per tornar)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Construint la base de dades... %d trobats (LEFT per tornar)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Construint la base de dades... %d trobats (LEFT per tornar)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Construint la base de dades... %d trobats (PREV per tornar)"
     gogearsa9200: "Construint la base de dades... %d trobats (REW per tornar)"
     archosplayer: "Construint la base de dades... %d trobats"
@@ -3944,7 +3944,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3954,7 +3954,7 @@
     mrobe500: "HEART = Desa"
     iriverh100,iriverh120,iriverh300: "NAVI = Desa"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*: " SELECT = Desa"
-    gogearsa9200: "PLAY = Desa"
+    gogearsa9200,samsungyh*: "PLAY = Desa"
     vibe500: "OK = Desa"
     mpiohd300: "ENTER = Desa"
   </dest>
@@ -3980,6 +3980,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3995,6 +3996,7 @@
     gigabeats: "BACK = Cancel·la"
     gogearsa9200: "LEFT = Cancel·la"
     vibe500: "CANCEL = Cancel·la"
+    samsungyh*: "REW = Cancel·la"
   </dest>
   <voice>
     *: none
@@ -7973,6 +7975,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7980,6 +7983,7 @@
     iriverh100,iriverh120,iriverh300: "Disc ple. Prem STOP per continuar"
     iaudiom5,iaudiox5: "Disc ple. Prem POWER per continuar"
     sansae200*,sansac200*,vibe500: "Disc ple. Prem PREV per continuar"
+    samsungyh*: "Disc ple. Prem LEFT per continuar"
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/chinese-simp.lang b/apps/lang/chinese-simp.lang
index 3ad0cfc..a9e30bc 100644
--- a/apps/lang/chinese-simp.lang
+++ b/apps/lang/chinese-simp.lang
@@ -4459,6 +4459,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4474,6 +4475,7 @@
     gigabeats: "BACK:取消"
     gogearsa9200: "LEFT:取消"
     vibe500: "CANCEL:取消"
+    samsungyh*: "REW:取消"
   </dest>
   <voice>
     *: none
@@ -4523,6 +4525,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4530,6 +4533,7 @@
     iriverh100,iriverh120,iriverh300: "磁盘已满,按下STOP继续."
     iaudiom5,iaudiox5: "磁盘已满,按下POWER继续."
     sansae200*,sansac200*,vibe500: "磁盘,按下PREV继续."
+    samsungyh*: "磁盘,按下LEFT继续."
   </dest>
   <voice>
     *: none
@@ -7952,7 +7956,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -7961,7 +7965,7 @@
     *: "数据库更新中...已找到%d个(按OFF键返回)"
     iriverh100,iriverh120,iriverh300: "数据库更新中...已找到%d个(按STOP键返回)"
     ipod*: "数据库更新中...已找到%d个(按PREV键返回)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "数据库更新中...已找到%d个(按LEFT键返回)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "数据库更新中...已找到%d个(按LEFT键返回)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "数据库更新中...已找到%d个(按PREV键返回)"
     gogearsa9200: "数据库更新中...已找到%d个(按REW键返回)"
     archosplayer: "数据库更新中...已找到%d个"
@@ -8448,7 +8452,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -8457,7 +8461,7 @@
     *: "PLAY:是"
     cowond2*: "MENU或TOP-RIGHT:是"
     iriverh100,iriverh120,iriverh300: "NAVI=是"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT:是"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT:是"
     mrobe500: "PLAY,POWER或TOP-RIGHT:是"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK:是"
@@ -8476,7 +8480,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -8486,7 +8490,7 @@
     mrobe500: "HEART:设置"
     iriverh100,iriverh120,iriverh300: "NAVI=设置"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT:设置"
-    gogearsa9200: "PLAY:设置"
+    gogearsa9200,samsungyh*: "PLAY:设置"
     vibe500: "OK:设置"
     mpiohd300: "ENTER:设置"
   </dest>
diff --git a/apps/lang/chinese-trad.lang b/apps/lang/chinese-trad.lang
index 48d46bc..53605bc 100644
--- a/apps/lang/chinese-trad.lang
+++ b/apps/lang/chinese-trad.lang
@@ -4458,6 +4458,7 @@
     mrobe100: "DISPLAY = Revert"
     gigabeats: "BACK = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4471,6 +4472,7 @@
     mrobe100: "DISPLAY = 返回"
     gigabeats: "BACK = 返回"
     vibe500: "CANCEL = 返回"
+    samsungyh*: "REW = 返回"
   </dest>
   <voice>
     *: none
@@ -4482,6 +4484,7 @@
     gigabeatfx: ""
     mrobe100: ""
     gigabeats: ""
+    samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -4528,6 +4531,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4535,6 +4539,7 @@
     iriverh100,iriverh120,iriverh300: "硬碟已滿, 按下 STOP 繼續."
     iaudiom5,iaudiox5: "硬碟已滿, 按下 POWER 繼續."
     sansae200*,sansac200*,vibe500: "硬碟已滿, 按下 PREV 繼續."
+    samsungyh*: "硬碟已滿, 按下 LEFT 繼續."
   </dest>
   <voice>
     *: none
@@ -7996,14 +8001,14 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "Building database... %d found (PREV to return)"
   </source>
   <dest>
     *: "建立資料庫... 找到 %d 項 (OFF: 回上一畫面)"
     iriverh100,iriverh120,iriverh300: "建立資料庫... 找到 %d 項 (STOP: 回上一畫面)"
     ipod*: "建立資料庫... 找到 %d 項 (PREV: 回上一畫面)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "建立資料庫... 找到 %d 項 (LEFT: 回上一畫面)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "建立資料庫... 找到 %d 項 (LEFT: 回上一畫面)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "建立資料庫... 找到 %d 項 (PREV: 回上一畫面)"
   </dest>
   <voice>
@@ -8492,21 +8497,21 @@
   <source>
     *: "PLAY = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
   </source>
   <dest>
     *: "PLAY = 是"
     iriverh100,iriverh120,iriverh300: "NAVI = 是"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = 是"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = 是"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = 是"
   </dest>
   <voice>
     *: ""
     iriverh100,iriverh120,iriverh300: ""
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: ""
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: ""
     archosplayer: ""
   </voice>
 </phrase>
@@ -8518,7 +8523,8 @@
     *: none
     rtc: "ON = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = Set"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -8526,7 +8532,8 @@
     *: none
     rtc: "ON = 設定"
     iriverh100,iriverh120,iriverh300: "NAVI = 設定"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = 設定"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = 設定"
+    gogearsa9200,samsungyh*: "PLAY = 設定"
     vibe500: "OK = 設定"
     mpiohd300: "ENTER = 設定"
   </dest>
diff --git a/apps/lang/czech.lang b/apps/lang/czech.lang
index a9f47bb..971b176 100644
--- a/apps/lang/czech.lang
+++ b/apps/lang/czech.lang
@@ -252,7 +252,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -261,7 +261,7 @@
   *: "PLAY = Ano"
     cowond2*: "MENU, nebo vpravo nahoře = Ano"
     iriverh100,iriverh120,iriverh300: "NAVI = Ano"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ano"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ano"
     mrobe500: "PLAY, POWER, nebo vpravo nahoře = Ano"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Ano"
@@ -2235,7 +2235,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2244,7 +2244,7 @@
     *: "Vytvářím databázi... %d nalezeno (OFF pro návrat)"
     iriverh100,iriverh120,iriverh300: "Vytvářím databázi... %d nalezeno (STOP pro návrat)"
     ipod*: "Vytvářím databázi... %d nalezeno (PREV pro návrat)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Vytvářím databázi... %d nalezeno (LEFT pro návrat)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Vytvářím databázi... %d nalezeno (LEFT pro návrat)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Vytvářím databázi... %d nalezeno (PREV pro návrat)"
     gogearsa9200: "Vytvářím databázi.. %d nalezeno (REW pro návrat)"
     archosplayer: "Vytvář. DB %d nalez."
@@ -3951,7 +3951,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3961,13 +3961,13 @@
     mrobe500: "HEART = Nastavit"
     iriverh100,iriverh120,iriverh300: "NAVI = Nastavit"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Nastavit"
-    gogearsa9200: "PLAY = Nastavit"
+    gogearsa9200,samsungyh*: "PLAY = Nastavit"
     vibe500: "OK = Nastavit"
     mpiohd300: "ENTER = Nastavit"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3988,6 +3988,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4003,6 +4004,7 @@
     gigabeats: "BACK = Vrátit zpět"
     gogearsa9200: "LEFT = Vrátit zpět"
     vibe500: "CANCEL = Vrátit zpět"
+    samsungyh*: "REW = Vrátit zpět"
   </dest>
   <voice>
     *: none
@@ -7984,6 +7986,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7991,6 +7994,7 @@
     iriverh100,iriverh120,iriverh300: "Disk je plný. Pro pokračování stiskněte STOP."
     iaudiom5,iaudiox5: "Disk je plný. Pro pokračování stiskněte POWER."
     sansae200*,sansac200*,vibe500: "Disk je plný. Pro pokračování stiskněte PREV."
+    samsungyh*: "Disk je plný. Pro pokračování stiskněte LEFT."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/dansk.lang b/apps/lang/dansk.lang
index e03bce5..5f7301e 100644
--- a/apps/lang/dansk.lang
+++ b/apps/lang/dansk.lang
@@ -3753,6 +3753,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3767,6 +3768,7 @@
     gigabeats: "TILBAGE = Fortryd"
     gogearsa9200: "VENSTRE = Fortryd"
     vibe500: "C = Fortryd"
+    samsungyh*: "REW = Fortryd"
   </dest>
   <voice>
     *: none
@@ -3816,6 +3818,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -3823,6 +3826,7 @@
     iriverh100,iriverh120,iriverh300: "Disken er fuld. Tryk STOP for at fortsætte."
     iaudiom5,iaudiox5: "Disken er fuld. Tryk TÆND/SLUK for at fortsætte."
     sansae200*,sansac200*,vibe500: "Disken er fuld. Tryk FORRIGE for at fortsætte."
+    samsungyh*: "Disken er fuld. Tryk LEFT for at fortsætte."
   </dest>
   <voice>
     *: none
@@ -8401,7 +8405,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -8410,7 +8414,7 @@
     *: "Bygger database... %d fundet (SLUK for at stoppe)"
     iriverh100,iriverh120,iriverh300: "Bygger database... %d fundet (STOP for at stoppe)"
     ipod*: "Bygger database... %d fundet (FORRIGE for at stoppe)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Bygger database... %d fundet (VENSTRE for at stoppe)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Bygger database... %d fundet (VENSTRE for at stoppe)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Bygger database... %d fundet (FORRIGE for at stoppe)"
     gogearsa9200: "Bygger database... %d fundet (SPOL TILBAGE for at stoppe)"
     archosplayer: "Bygger DB %d fundet"
@@ -9578,7 +9582,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -9587,7 +9591,7 @@
     *: "SPIL = Ja"
     cowond2*: "MENU eller top-højre = Ja"
     iriverh100,iriverh120,iriverh300: "NAVI = Ja"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*: "VÆLG = Ja"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*: "VÆLG = Ja"
     mrobe500: "SPIL, TÆND/SLUK eller top-højre = Ja"
     archosplayer: "(SPIL/STOP)"
     vibe500: "OK = Ja"
@@ -9606,7 +9610,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9616,7 +9620,7 @@
     mrobe500: "HJERTE = Indstil"
     iriverh100,iriverh120,iriverh300: "NAVI = Indstil"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*: "VÆLG = Indstil"
-    gogearsa9200: "SPIL = Indstil"
+    gogearsa9200,samsungyh*: "SPIL = Indstil"
     vibe500: "OK = Indstil"
     mpiohd300: "ENTER = Indstil"
   </dest>
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang
index acbdf99..24feaab 100644
--- a/apps/lang/deutsch.lang
+++ b/apps/lang/deutsch.lang
@@ -268,7 +268,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -277,7 +277,7 @@
     *: "PLAY = Ja"
     cowond2*: "MENU oder rechts oben= Ja"
     iriverh100,iriverh120,iriverh300: "NAVI = Ja"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ja"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ja"
     mrobe500: "PLAY, POWER oder rechts oben = Ja"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Ja"
@@ -2234,7 +2234,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2243,7 +2243,7 @@
     *: "Erstelle Datenbank... %d gefunden (OFF zum Abbrechen)"
     iriverh100,iriverh120,iriverh300: "Erstelle Datenbank... %d gefunden (STOP zum Abbrechen)"
     ipod*: "Erstelle Datenbank... %d gefunden (PLAY/PAUSE zum Abbrechen)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Erstelle Datenbank... %d gefunden (LEFT zum Abbrechen)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Erstelle Datenbank... %d gefunden (LEFT zum Abbrechen)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Erstelle Datenbank... %d gefunden (PREV zum Abbrechen)"
     gogearsa9200: "Erstelle Datenbank... %d gefunden (REW zum Abbrechen)"
     archosplayer: "Erstelle DB %d gefu."
@@ -3952,7 +3952,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3962,13 +3962,13 @@
     mrobe500: "HEART = Speichern"
     iriverh100,iriverh120,iriverh300: "NAVI = Speichern"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Speichern"
-    gogearsa9200: "PLAY = Speichern"
+    gogearsa9200,samsungyh*: "PLAY = Speichern"
     vibe500: "OK = Speichern"
     mpiohd300: "ENTER = Speichern"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3989,6 +3989,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4004,6 +4005,7 @@
     gigabeats: "BACK = Abbrechen"
     gogearsa9200: "LEFT = Abbrechen"
     vibe500: "CANCEL = Abbrechen"
+    samsungyh*: "REW = Abbrechen"
   </dest>
   <voice>
     *: none
@@ -7985,6 +7987,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7992,6 +7995,7 @@
     iriverh100,iriverh120,iriverh300: "Kein Speicherplatz mehr vorhanden. Drücke STOP zum fortfahren."
     iaudiom5,iaudiox5: "Kein Speicherplatz mehr vorhanden. Drücke POWER zum fortfahren."
     sansae200*,sansac200*,vibe500: "Kein Speicherplatz mehr vorhanden. Drücke PREV zum fortfahren."
+    samsungyh*: "Kein Speicherplatz mehr vorhanden. Drücke LEFT zum fortfahren."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/eesti.lang b/apps/lang/eesti.lang
index 77185a8..b1863b1 100644
--- a/apps/lang/eesti.lang
+++ b/apps/lang/eesti.lang
@@ -4099,6 +4099,7 @@
     gigabeatfx: "POWER = Revert"
     sansafuzeplus: "BACK = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: "OFF tagasi pöördumiseks"
@@ -4109,6 +4110,7 @@
     gigabeatfx: "POWER tagasi pöördumiseks"
     sansafuzeplus: "BACK tagasi pöördumiseks"
     vibe500: "C tagasi pöördumiseks"
+    samsungyh*: "REW tagasi pöördumiseks"
   </dest>
   <voice>
     *: ""
@@ -4192,11 +4194,13 @@
     *: "The disk is full. Press OFF to continue."
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: "The disk is full. Press OFF to continue."
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </dest>
   <voice>
     *: ""
diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang
index 4a316ce..8110cb4 100644
--- a/apps/lang/english-us.lang
+++ b/apps/lang/english-us.lang
@@ -247,7 +247,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -256,7 +256,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -2230,7 +2230,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2239,7 +2239,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -3946,7 +3946,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3956,13 +3956,13 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3983,6 +3983,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3998,6 +3999,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </dest>
   <voice>
     *: none
@@ -7979,6 +7981,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7986,6 +7989,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index e8fc5fc..8d2b579 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -332,7 +332,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -342,7 +342,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -2317,7 +2317,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2326,7 +2326,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -4033,7 +4033,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -4043,13 +4043,13 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -4070,6 +4070,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4085,10 +4086,11 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,ipod*,sansae200*,sansac200*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,ipod*,sansae200*,sansac200*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -8068,6 +8070,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -8075,10 +8078,11 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </dest>
   <voice>
     *: none
-    recording,iriverh100,iriverh120,iriverh300,iaudiom5,iaudiox5,sansae200*,sansac200*: ""
+    recording,iriverh100,iriverh120,iriverh300,iaudiom5,iaudiox5,sansae200*,sansac200*,vibe500,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/espanol.lang b/apps/lang/espanol.lang
index f455f56..bc7e8c2 100644
--- a/apps/lang/espanol.lang
+++ b/apps/lang/espanol.lang
@@ -2896,6 +2896,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -2911,6 +2912,7 @@
     gigabeats: "ATRÁS = Cancelar"
     gogearsa9200: "IZQUIERDA = Cancelar"
     vibe500: "C = Cancelar"
+    samsungyh*: "REW = Cancelar"
   </dest>
   <voice>
     *: none
@@ -2960,6 +2962,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -2967,6 +2970,7 @@
     iriverh100,iriverh120,iriverh300: "Disco duro lleno. Pulse STOP para continuar"
     iaudiom5,iaudiox5: "Disco duro lleno. Pulse POWER para continuar"
     sansae200*,sansac200*,vibe500: "Disco duro lleno. Pulse PREV para continuar"
+    samsungyh*: "Disco duro lleno. Pulse LEFT para continuar"
   </dest>
   <voice>
     *: none
@@ -8466,7 +8470,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -8475,7 +8479,7 @@
     *: "Construyendo base de datos... %d encontrados (OFF para volver)"
     iriverh100,iriverh120,iriverh300: "Construyendo base de datos... %d encontrados (STOP para volver)"
     ipod*: "Construyendo base de datos... %d encontrados (PREV para volver)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Construyendo base de datos... %d encontrados (LEFT para volver)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Construyendo base de datos... %d encontrados (LEFT para volver)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Construyendo base de datos... %d encontrados (PREV para volver)"
     gogearsa9200: "Construyendo base de datos... %d encontrados (REW para volver)"
     archosplayer: "Construyendo BD %d encontrados"
@@ -9075,7 +9079,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -9084,7 +9088,7 @@
     *: "PLAY = Sí"
     cowond2*: "MENÚ o arriba-derecha = Sí"
     iriverh100,iriverh120,iriverh300: "NAVI = Sí"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sí"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sí"
     mrobe500: "PLAY, POWER o arriba-derecha = Sí"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Sí"
@@ -9103,7 +9107,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9113,7 +9117,7 @@
     mrobe500: "HEART = Fijar"
     iriverh100,iriverh120,iriverh300: "NAVI = Fijar"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Fijar"
-    gogearsa9200: "PLAY = Fijar"
+    gogearsa9200,samsungyh*: "PLAY = Fijar"
     vibe500: "OK = Fijar"
     mpiohd300: "ENTER = Fijar"
   </dest>
diff --git a/apps/lang/esperanto.lang b/apps/lang/esperanto.lang
index d651f2a..c318b2a 100644
--- a/apps/lang/esperanto.lang
+++ b/apps/lang/esperanto.lang
@@ -4318,11 +4318,13 @@
     *: "OFF To Revert"
     vibe500: "CANCEL To Revert"
     mpiohd300: "MENU To Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: "OFF Por Malvalidigi"
     vibe500: "C Por Malvalidigi"
     mpiohd300: "MENU Por Malvalidigi"
+    samsungyh*: "REW Por Malvalidigi"
   </dest>
   <voice>
     *: ""
@@ -4404,9 +4406,11 @@
   user: core
   <source>
     *: "The disk is full. Press OFF to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: "Durdisko plena. Pesu OFF por kontinui."
+    samsungyh*: "Durdisko plena. Pesu LEFT por kontinui."
   </dest>
   <voice>
     *: ""
diff --git a/apps/lang/finnish.lang b/apps/lang/finnish.lang
index bf05819..9154f3a 100644
--- a/apps/lang/finnish.lang
+++ b/apps/lang/finnish.lang
@@ -4458,6 +4458,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4471,8 +4472,9 @@
     sansafuzeplus: "BACK = Peruuta"
     mrobe100: "DISPLAY = Peruuta"
     gigabeats: "BACK = Peruuta"
-    gogearsa9200: "VASEN = Revert"
+    gogearsa9200: "VASEN = Peruuta"
     vibe500: "CANCEL = Peruuta"
+    samsungyh*: "REW = Peruuta"
   </dest>
   <voice>
     *: none
@@ -4522,6 +4524,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4529,6 +4532,7 @@
     iriverh100,iriverh120,iriverh300: "Levy täynnä. Jatka painamalla STOP."
     iaudiom5,iaudiox5: "Levy täynnä. Jatka painamalla POWER."
     sansae200*,sansac200*,vibe500: "Levy täynnä. Jatka painamalla PREV."
+    samsungyh*: "Levy täynnä. Jatka painamalla LEFT."
   </dest>
   <voice>
     *: none
@@ -9042,7 +9046,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -9051,7 +9055,7 @@
     *: "Luodaan tietokantaa... %d löytyi (OFF = palaa)"
     iriverh100,iriverh120,iriverh300: "Luodaan tietokantaa... %d löytyi (STOP = palaa)"
     ipod*: "Luodaan tietokantaa... %d löytyi (PREV = palaa)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Luodaan tietokantaa... %d löytyi (VASEN = palaa)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Luodaan tietokantaa... %d löytyi (VASEN = palaa)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Luodaan tietokantaa... %d löytyi (PREV = palaa)"
     gogearsa9200: "Luodaan tietokantaa... %d löytyi (REW = palaa)"
     archosplayer: "Luodaan tk %d löytyi"
@@ -9554,7 +9558,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -9563,7 +9567,7 @@
     *: "PLAY = Kyllä"
     cowond2*: "MENU tai yläoikea = Kyllä"
     iriverh100,iriverh120,iriverh300: "NAVI = Kyllä"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Kyllä"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Kyllä"
     mrobe500: "PLAY, POWER tai yläoikea = Kyllä"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Kyllä"
@@ -9582,7 +9586,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9592,7 +9596,7 @@
     mrobe500: "HEART = Aseta"
     iriverh100,iriverh120,iriverh300: "NAVI = Aseta"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Aseta"
-    gogearsa9200: "PLAY = Aseta"
+    gogearsa9200,samsungyh*: "PLAY = Aseta"
     vibe500: "OK = Aseta"
     mpiohd300: "ENTER = Aseta"
   </dest>
diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang
index f96cadc..d550b57 100644
--- a/apps/lang/francais.lang
+++ b/apps/lang/francais.lang
@@ -277,7 +277,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -286,7 +286,7 @@
     *: "PLAY = Oui"
     cowond2*: "MENU = Oui"
     iriverh100,iriverh120,iriverh300: "NAVI = Oui"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Oui"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Oui"
     mrobe500: "PLAY ou POWER = Oui"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Oui"
@@ -2260,7 +2260,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2269,7 +2269,7 @@
     *: "Création base de données... %d trouvés (OFF = retour)"
     iriverh100,iriverh120,iriverh300: "Création base de données... %d trouvés (STOP = retour)"
     ipod*: "Création base de données... %d trouvés (PREV = retour)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Création base de données... %d trouvés (LEFT = retour)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Création base de données... %d trouvés (LEFT = retour)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Création base de données... %d trouvés (PREV = retour)"
     gogearsa9200: "Création base de données... %d trouvés (REW = retour)"
     archosplayer: "Création BD %d trouvés"
@@ -3976,7 +3976,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3986,13 +3986,13 @@
     mrobe500: "HEART = Valider"
     iriverh100,iriverh120,iriverh300: "NAVI = Valider"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Valider"
-    gogearsa9200: "PLAY = Valider"
+    gogearsa9200,samsungyh*: "PLAY = Valider"
     vibe500: "OK = Valider"
     mpiohd300: "ENTER = Valider"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -4013,6 +4013,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4028,6 +4029,7 @@
     gigabeats: "BACK = Annuler"
     gogearsa9200: "LEFT = Annuler"
     vibe500: "C = Annuler"
+    samsungyh*: "REW = Annuler"
   </dest>
   <voice>
     *: none
@@ -8009,6 +8011,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -8016,6 +8019,7 @@
     iriverh100,iriverh120,iriverh300: "Disque plein. Presser STOP pour continuer."
     iaudiom5,iaudiox5: "Disque plein. Presser POWER pour continuer."
     sansae200*,sansac200*,vibe500: "Disque plein. Presser PREV pour continuer."
+    samsungyh*: "Disque plein. Presser LEFT pour continuer."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/galego.lang b/apps/lang/galego.lang
index fbd682a..ad931c0 100644
--- a/apps/lang/galego.lang
+++ b/apps/lang/galego.lang
@@ -2959,6 +2959,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -2974,6 +2975,7 @@
     gigabeats: "BACK = desfacer"
     gogearsa9200: "LEFT = desfacer"
     vibe500: "CANCEL = desfacer"
+    samsungyh*: "REW = desfacer"
   </dest>
   <voice>
     *: none
@@ -2989,6 +2991,7 @@
     gigabeats: "BACK = desfacer"
     gogearsa9200: "LEFT = desfacer"
     vibe500: "CANCEL = desfacer"
+    samsungyh*: "REW = desfacer"
   </voice>
 </phrase>
 <phrase>
@@ -3052,6 +3055,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -3059,6 +3063,7 @@
     iriverh100,iriverh120,iriverh300: "O disco está cheo. Pulsa STOP para continuar."
     iaudiom5,iaudiox5: "O disco está cheo. Pulsa POWER para continuar."
     sansae200*,sansac200*,vibe500: "O disco está cheo. Pulsa PREV para continuar."
+    samsungyh*: "O disco está cheo. Pulsa LEFT para continuar."
   </dest>
   <voice>
     *: none
@@ -3066,6 +3071,7 @@
     iriverh100,iriverh120,iriverh300: "O disco está cheo. Pulsa STOP para continuar."
     iaudiom5,iaudiox5: "O disco está cheo. Pulsa POWER para continuar."
     sansae200*,sansac200*,vibe500: "O disco está cheo. Pulsa PREV para continuar."
+    samsungyh*: "O disco está cheo. Pulsa LEFT para continuar."
   </voice>
 </phrase>
 <phrase>
@@ -6211,7 +6217,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -6220,7 +6226,7 @@
     *: "Construindo a base de datos... %d atopadas (OFF para volver)"
     iriverh100,iriverh120,iriverh300: "Construindo a base de datos... %d atopadas (STOP para volver)"
     ipod*: "Construindo a base de datos... %d atopadas (PREV para volver)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Construindo a base de datos... %d atopadas (LEFT para volver)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Construindo a base de datos... %d atopadas (LEFT para volver)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Construindo a base de datos... %d atopadas (PREV para volver)"
     gogearsa9200: "Construindo a base de datos... %d atopadas (REW para volver)"
     archosplayer: "Construindo BD %d atop."
@@ -7805,7 +7811,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -7814,8 +7820,7 @@
     *: "PLAY = Si"
     cowond2*: "MENU, ou arriba-dereita = Si"
     iriverh100,iriverh120,iriverh300: "NAVI = Si"
-samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100
-,sansaclip*,sansafuze*,sansaconnect: "SELECT = Si"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Si"
     mrobe500: "PLAY, POWER, ou arriba-dereita = Si"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Si"
@@ -7851,7 +7856,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -7860,15 +7865,14 @@
     rtc: "ON = Aceptar"
     mrobe500: "HEART = Aceptar"
     iriverh100,iriverh120,iriverh300: "NAVI = Aceptar"
-ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*
-,sansafuze*,sansaconnect: "SELECT = Aceptar"
-    gogearsa9200: "PLAY = Aceptar"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Aceptar"
+    gogearsa9200,samsungyh*: "PLAY = Aceptar"
     vibe500: "OK = Aceptar"
     mpiohd300: "ENTER = Aceptar"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/greek.lang b/apps/lang/greek.lang
index 81a35e5..a175755 100644
--- a/apps/lang/greek.lang
+++ b/apps/lang/greek.lang
@@ -251,14 +251,14 @@
   <source>
     *: "PLAY = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
   </source>
   <dest>
     *: "PLAY = Επικύρωση"
     iriverh100,iriverh120,iriverh300: "NAVI = Επικύρωση"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Επικύρωση"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Επικύρωση"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Επικύρωση"
   </dest>
@@ -2217,14 +2217,14 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "Building database... %d found (PREV to return)"
   </source>
   <dest>
     *: "Δημιουργία βάσεως δεδομένων... βρέθηκαν %d (OFF για επιστροφή)"
     iriverh100,iriverh120,iriverh300: "Δημιουργία βάσεως δεδομένων... βρέθηκαν %d (STOP για επιστροφή)"
     ipod*: "Δημιουργία βάσεως δεδομένων... βρέθηκαν %d (PREV για επιστροφή)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Δημιουργία βάσεως δεδομένων... βρέθηκαν %d (LEFT για επιστροφή)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Δημιουργία βάσεως δεδομένων... βρέθηκαν %d (LEFT για επιστροφή)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "Δημιουργία βάσεως δεδομένων... βρέθηκαν %d (PREV για επιστροφή)"
   </dest>
   <voice>
@@ -3927,7 +3927,8 @@
     *: none
     rtc: "ON = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = Set"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3935,7 +3936,8 @@
     *: none
     rtc: "ON = Ρύθμιση"
     iriverh100,iriverh120,iriverh300: "NAVI = Ρύθμιση"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = Ρύθμιση"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = Ρύθμιση"
+    gogearsa9200,samsungyh*: "PLAY = Ρύθμιση"
     vibe500: "OK = Ρύθμιση"
     mpiohd300: "ENTER = Ρύθμιση"
   </dest>
@@ -3959,6 +3961,7 @@
     mrobe100: "DISPLAY = Revert"
     gigabeats: "BACK = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3972,6 +3975,7 @@
     mrobe100: "DISPLAY = Ακύρωση"
     gigabeats: "BACK = Ακύρωση"
     vibe500: "C = Ακύρωση"
+    samsungyh*: "REW = Ακύρωση"
   </dest>
   <voice>
     *: none
@@ -7951,6 +7955,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7958,6 +7963,7 @@
     iriverh100,iriverh120,iriverh300: "Ο δίσκος είναι γεμάτος. Πατήστε STOP για συνέχεια."
     iaudiom5,iaudiox5: "Ο δίσκος είναι γεμάτος. Πατήστε POWER για συνέχεια.."
     sansae200*,sansac200*,vibe500: "Ο δίσκος είναι γεμάτος. Πατήστε PREV για συνέχεια."
+    samsungyh*: "Ο δίσκος είναι γεμάτος. Πατήστε LEFT για συνέχεια."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang
index 1988874..3376a52 100644
--- a/apps/lang/hebrew.lang
+++ b/apps/lang/hebrew.lang
@@ -255,7 +255,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -264,7 +264,7 @@
     *: "כן = PLAY"
     cowond2*: "או פינה ימנית-עליונה = כן MENU"
     iriverh100,iriverh120,iriverh300: "כן = NAVI"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*: "כן = SELECT"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*: "כן = SELECT"
     mrobe500: "או פינה ימנית-עליונה = כן Power, Play"
     archosplayer: "(PLAY/STOP)"
     vibe500: "כן = OK"
@@ -2241,7 +2241,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -2249,7 +2249,7 @@
     *: "בונה מסד נתונים... %d נמצאו (OFF כדי לחזור)"
     iriverh100,iriverh120,iriverh300: "בונה מסד נתונים... %d נמצאו (STOP כדי לחזור)"
     ipod*: "בונה מסד נתונים... %d נמצאו (PREV כדי לחזור)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "בונה מסד נתונים... %d נמצאו (LEFT כדי לחזור)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "בונה מסד נתונים... %d נמצאו (LEFT כדי לחזור)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "בונה מסד נתונים... %d נמצאו (PREV כדי לחזור)"
     gogearsa9200: "בונה מסד נתונים... %d נמצאו (REW כדי לחזור)"
   </dest>
@@ -3955,7 +3955,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3965,13 +3965,13 @@
     mrobe500: "קבע = HEART"
     iriverh100,iriverh120,iriverh300: "קבע = NAVI"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*: "קבע = SELECT"
-    gogearsa9200: "קבע = PLAY"
+    gogearsa9200,samsungyh*: "קבע = PLAY"
     vibe500: "קבע = OK"
     mpiohd300: "קבע = ENTER"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3992,6 +3992,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4006,6 +4007,7 @@
     gigabeats: "החזר = BACK"
     gogearsa9200: "החזר = LEFT"
     vibe500: "החזר = C"
+    samsungyh*: "החזר = Revert"
   </dest>
   <voice>
     *: none
@@ -7986,6 +7988,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7993,6 +7996,7 @@
     iriverh100,iriverh120,iriverh300: "הכונן מלא. לחץ על STOP כדי להמשיך"
     iaudiom5,iaudiox5: "הכונן מלא. לחץ על POWER כדי להמשיך"
     sansae200*,sansac200*,vibe500: "הכונן מלא. לחץ על PREV כדי להמשיך"
+    samsungyh*: "הכונן מלא. לחץ על LEFT כדי להמשיך"
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/hindi.lang b/apps/lang/hindi.lang
index c5d46f7..6258477 100644
--- a/apps/lang/hindi.lang
+++ b/apps/lang/hindi.lang
@@ -1116,14 +1116,14 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
   </source>
   <dest>
     *: "डाटाबेस बन रहा है... %d मिले (OFF to बढ़)"
     iriverh100,iriverh120,iriverh300: "डाटाबेस बन रहा है... %d मिले (STOP to बढ़)"
     ipod*: "डाटाबेस बन रहा है... %d मिले (PREV to बढ़)"
-    iaudiox5,iaudiom5: "डाटाबेस बन रहा है... %d मिले (LEFT to बढ़)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "डाटाबेस बन रहा है... %d मिले (LEFT to बढ़)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "डाटाबेस बन रहा है... %d मिले (PREV to बढ़)"
   </dest>
   <voice>
@@ -3811,6 +3811,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -3818,6 +3819,7 @@
     iriverh100,iriverh120,iriverh300: "दिसक भरी ह. Press STOP to continue."
     iaudiom5,iaudiox5: "दिसक भरी ह. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "दिसक भरी ह. Press PREV to continue."
+    samsungyh*: "दिसक भरी ह. Press LEFT to continue."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/hrvatski.lang b/apps/lang/hrvatski.lang
index f8c7628..c6e86b2 100644
--- a/apps/lang/hrvatski.lang
+++ b/apps/lang/hrvatski.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "PLAY = Da"
     cowond2*: "MENU, ili gore desno = Da"
     iriverh100,iriverh120,iriverh300: "NAVI = Da"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Da"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Da"
     mrobe500: "PLAY, POWER, ili gore desno = Da"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = DA"
@@ -2230,7 +2230,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2239,7 +2239,7 @@
     *: "Izgrađivanje baze podataka... %d pronađeno (OFF za povratak)"
     iriverh100,iriverh120,iriverh300: "Izgrađivanje baze podataka... %d pronađeno (STOP za povratak)"
     ipod*: "Izgrađivanje baze podataka... %d pronađeno (PREV za povratak)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Izgrađivanje baze podataka... %d pronađeno (LEFT za povratak)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Izgrađivanje baze podataka... %d pronađeno (LEFT za povratak)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Izgrađivanje baze podataka... %d pronađeno (PREV za povratak)"
     gogearsa9200: "Izgrađivanje baze podataka... %d pronađeno (REW za povratak)"
     archosplayer: "Izgrađivanje DB %d pronađeno"
@@ -3946,7 +3946,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3956,13 +3956,13 @@
     mrobe500: "HEART = Postavi"
     iriverh100,iriverh120,iriverh300: "NAVI = Postavi"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Postavi"
-    gogearsa9200: "PLAY = Postavi"
+    gogearsa9200,samsungyh*: "PLAY = Postavi"
     vibe500: "OK = Postavi"
     mpiohd300: "ENTER = Postavi"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3983,6 +3983,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3998,6 +3999,7 @@
     gigabeats: "BACK = Povrati"
     gogearsa9200: "LEFT = Povrati"
     vibe500: "CANCEL = Povrati"
+    samsungyh*: "REW = Povrati"
   </dest>
   <voice>
     *: none
@@ -7978,6 +7980,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7985,6 +7988,7 @@
     iriverh100,iriverh120,iriverh300: "Disk je pun. Pritisnite STOP za nastavak."
     iaudiom5,iaudiox5: "Disk je pun. Pritisnite POWER za nastavak."
     sansae200*,sansac200*,vibe500: "Disk je pun. Pritisnite PREV za nastavak."
+    samsungyh*: "Disk je pun. Pritisnite LEFT za nastavak."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/islenska.lang b/apps/lang/islenska.lang
index 1571561..a14d896 100644
--- a/apps/lang/islenska.lang
+++ b/apps/lang/islenska.lang
@@ -3289,6 +3289,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3304,6 +3305,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </dest>
   <voice>
     *: none
@@ -3371,6 +3373,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -3378,6 +3381,7 @@
     iriverh100,iriverh120,iriverh300: "Harði diskurinn er fullur. Ýtið á STOP til að halda áfram."
     iaudiom5,iaudiox5: "Harði diskurinn er fullur. Ýtið á POWER til að halda áfram."
     sansae200*,sansac200*,vibe500: "Harði diskurinn er fullur. Ýtið á PREV til að halda áfram."
+    samsungyh*: "Harði diskurinn er fullur. Ýtið á LEFT til að halda áfram."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang
index d32efb2..f2282c0 100644
--- a/apps/lang/italiano.lang
+++ b/apps/lang/italiano.lang
@@ -250,7 +250,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -259,7 +259,7 @@
     *: "PLAY = Sì"
     cowond2*: "MENU, o alto-destra = Sì"
     iriverh100,iriverh120,iriverh300: "NAVI = Sì"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sì"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sì"
     mrobe500: "PLAY, POWER o alto-destra = Sì"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Sì"
@@ -2233,7 +2233,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2242,7 +2242,7 @@
     *: "Costruzione database... %d trovato (OFF per uscire)"
     iriverh100,iriverh120,iriverh300: "Costruzione database... %d trovato (STOP per uscire)"
     ipod*: "Costruzione database... %d trovato (PREV per uscire)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Costruzione database... %d trovato (LEFT per uscire)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Costruzione database... %d trovato (LEFT per uscire)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Costruzione database... %d trovato (PREV per uscire)"
     gogearsa9200: "Costruzione database... %d trovato (REW per uscire)"
     archosplayer: "Costruzione database... %d trovato"
@@ -3949,7 +3949,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3959,13 +3959,13 @@
     mrobe500: "HEART = Imposta"
     iriverh100,iriverh120,iriverh300: "NAVI = Imposta"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Imposta"
-    gogearsa9200: "PLAY = Imposta"
+    gogearsa9200,samsungyh*: "PLAY = Imposta"
     vibe500: "OK = Imposta"
     mpiohd300: "ENTER = Imposta"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3986,6 +3986,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4001,6 +4002,7 @@
     gigabeats: "BACK = Annulla"
     gogearsa9200: "LEFT = Annulla"
     vibe500: "CANCEL = Annulla"
+    samsungyh*: "REW = Annulla"
   </dest>
   <voice>
     *: none
@@ -7984,6 +7986,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7991,6 +7994,7 @@
     iriverh100,iriverh120,iriverh300: "Disco pieno. Premi stop per continuare."
     iaudiom5,iaudiox5: "Disco pieno. Premi POWER per continuare."
     sansae200*,sansac200*,vibe500: "Disco pieno. Premi PREV per continuare."
+    samsungyh*: "Disco pieno. Premi LEFT per continuare."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang
index 22d5f2b..a217c4b 100644
--- a/apps/lang/japanese.lang
+++ b/apps/lang/japanese.lang
@@ -254,7 +254,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -263,7 +263,7 @@
     *: "PLAY = はい"
     cowond2*: "MENU または top-right = はい"
     iriverh100,iriverh120,iriverh300: "NAVI = はい"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = はい"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = はい"
     mrobe500: "PLAY または POWER, top-right = はい"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = はい"
@@ -2237,7 +2237,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -2245,7 +2245,7 @@
     *: "データベース構築中... %d 件 (OFFで戻る)"
     iriverh100,iriverh120,iriverh300: "データベース構築中... %d 件 (STOPで戻る)"
     ipod*: "データベース構築中... %d 件 (PLAY/PAUSEで戻る)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "データベース構築中... %d 件 (左で戻る)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "データベース構築中... %d 件 (左で戻る)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "データベース構築中... %d 件 (PREVで戻る)"
     gogearsa9200: "データベース構築中... %d 件 (REWで戻る)"
   </dest>
@@ -3951,7 +3951,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3961,13 +3961,13 @@
     mrobe500: "HEART = 設定"
     iriverh100,iriverh120,iriverh300: "NAVI = 設定"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = 設定"
-    gogearsa9200: "PLAY = 設定"
+    gogearsa9200,samsungyh*: "PLAY = 設定"
     vibe500: "OK = 設定"
     mpiohd300: "ENTER = 設定"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3988,6 +3988,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4003,6 +4004,7 @@
     gigabeats: "BACK = 元に戻す"
     gogearsa9200: "LEFT = 元に戻す"
     vibe500: "CANCEL = 元に戻す"
+    samsungyh*: "REW = 元に戻す"
   </dest>
   <voice>
     *: none
@@ -7984,6 +7986,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7991,6 +7994,7 @@
     iriverh100,iriverh120,iriverh300: "ディスクが一杯です. STOPボタンを押してください"
     iaudiom5,iaudiox5: "ディスクが一杯です. POWERボタンを押してください"
     sansae200*,sansac200*,vibe500: "ディスクが一杯です. PREVボタンを押してください"
+    samsungyh*: "ディスクが一杯です. LEFTボタンを押してください"
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/korean.lang b/apps/lang/korean.lang
index 2feaadc..029cecc 100644
--- a/apps/lang/korean.lang
+++ b/apps/lang/korean.lang
@@ -4466,6 +4466,7 @@
     mrobe100: "DISPLAY = Revert"
     gigabeats: "BACK = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4478,6 +4479,7 @@
     mrobe100: "[화면]: 원상태 복구"
     gigabeats: "[뒤]: 원상태 복구"
     vibe500: "C: 원상태 복구"
+    samsungyh*: "REW: 원상태 복구"
   </dest>
   <voice>
     *: none
@@ -4544,6 +4546,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press UP to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4551,6 +4554,7 @@
     iriverh100,iriverh120,iriverh300: "디스크 공간이 부족합니다. [정지] 버튼을 누르세요."
     iaudiom5,iaudiox5: "디스크 공간이 부족합니다. [전원] 버튼을 누르세요."
     sansae200*,sansac200*,vibe500: "디스크 공간이 부족합니다. [위] 버튼을 누르세요."
+    samsungyh*: "디스크 공간이 부족합니다. LEFT 버튼을 누르세요."
   </dest>
   <voice>
     *: none
@@ -9054,14 +9058,14 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "Building database... %d found (PREV to return)"
   </source>
   <dest>
     *: "음악 DB 생성 중... %d개 완료 ([꺼짐]: 돌아가기)"
     iriverh100,iriverh120,iriverh300: "음악 DB 생성 중... %d개 완료 ([정지]: 돌아가기)"
     ipod*: "음악 DB 생성 중... %d개 완료 ([이전]: 돌아가기)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "음악 DB 생성 중... %d개 완료 ([왼쪽]: 돌아가기)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "음악 DB 생성 중... %d개 완료 ([왼쪽]: 돌아가기)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "음악 DB 생성 중... %d개 완료 ([이전]: 돌아가기)"
   </dest>
   <voice>
@@ -9677,14 +9681,14 @@
   <source>
     *: "PLAY = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
   </source>
   <dest>
     *: "[재생] = 예"
     iriverh100,iriverh120,iriverh300: "[네비] = 예"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "[선택] = 예"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "[선택] = 예"
     archosplayer: "(재생/정지)"
     vibe500: "OK = 예"
   </dest>
@@ -9700,7 +9704,8 @@
     *: none
     rtc: "ON = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = Set"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9708,7 +9713,8 @@
     *: none
     rtc: "[켬] = 설정"
     iriverh100,iriverh120,iriverh300: "[네비] = 설정"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "[선택] = 설정"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "[선택] = 설정"
+    gogearsa9200,samsungyh*: "PLAY = 설정"
     vibe500: "OK = 설정"
     mpiohd300: "ENTER = 설정"
   </dest>
diff --git a/apps/lang/latviesu.lang b/apps/lang/latviesu.lang
index c3c5534..3c008c7 100644
--- a/apps/lang/latviesu.lang
+++ b/apps/lang/latviesu.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "PLAY = Jā"
     cowond2*: "MENU, vai labā augšējā = Jā"
     iriverh100,iriverh120,iriverh300: "NAVI = Jā"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Jā"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Jā"
     mrobe500: "PLAY, POWER, vai labā augšējā = Jā"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Jā"
@@ -2233,7 +2233,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2242,7 +2242,7 @@
     *: "Veidoju datubāzi... %d atrastas (OFF lai turpinātu)"
     iriverh100,iriverh120,iriverh300: "Veidoju datubāzi... %d atrastas (STOP lai turpinātu)"
     ipod*: "Veidoju datubāzi... %d atrastas (PREV lai turpinātu)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Veidoju datubāzi... %d atrastas (LEFT lai turpinātu)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Veidoju datubāzi... %d atrastas (LEFT lai turpinātu)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Veidoju datubāzi... %d atrastas (PREV lai turpinātu)"
     gogearsa9200: "Veidoju datubāzi... %d atrastas (REW lai turpinātu)"
     archosplayer: "Veidoju DB atrasts %d"
@@ -3949,7 +3949,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3959,13 +3959,13 @@
     mrobe500: "HEART = Uzstādīt"
     iriverh100,iriverh120,iriverh300: "NAVI = Uzstādīt"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Uzstādīt"
-    gogearsa9200: "PLAY = Uzstādīt"
+    gogearsa9200,samsungyh*: "PLAY = Uzstādīt"
     vibe500: "OK = Uzstādīt"
     mpiohd300: "ENTER = Uzstādīt"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3986,6 +3986,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4001,6 +4002,7 @@
     gigabeats: "BACK = Atcelt"
     gogearsa9200: "LEFT = Atcelt"
     vibe500: "CANCEL = Atcelt"
+    samsungyh*: "REW = Atcelt"
   </dest>
   <voice>
     *: none
@@ -7984,6 +7986,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7991,6 +7994,7 @@
     iriverh100,iriverh120,iriverh300: "Atmiņa pilna. Spied STOP lai turpinātu."
     iaudiom5,iaudiox5: "Atmiņa pilna. Spied POWER lai turpinātu."
     sansae200*,sansac200*,vibe500: "Atmiņa pilna. Spied PREV lai turpinātu."
+    samsungyh*: "Atmiņa pilna. Spied LEFT lai turpinātu."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/lietuviu.lang b/apps/lang/lietuviu.lang
index ff48072..362566c 100644
--- a/apps/lang/lietuviu.lang
+++ b/apps/lang/lietuviu.lang
@@ -319,14 +319,14 @@
   <source>
     *: "PLAY = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
   </source>
   <dest>
     *: "PLAY = Taip"
     iriverh100,iriverh120,iriverh300: "NAVI = Taip"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Taip"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,gogearsa9200: "SELECT = Taip"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Taip"
   </dest>
@@ -2302,14 +2302,14 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "Building database... %d found (PREV to return)"
   </source>
   <dest>
     *: "Kuriama duomenų bazė... %d rasta (OFF grįžimui)"
     iriverh100,iriverh120,iriverh300: "Kuriama duomenų bazė... %d rasta (STOP grįžimui)"
     ipod*: "Kuriama duomenų bazė... %d rasta (PREV grįžimui)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Kuriama duomenų bazė... %d rasta (LEFT grįžimui)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Kuriama duomenų bazė... %d rasta (LEFT grįžimui)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,gogearsa9200,vibe500: "Kuriama duomenų bazė... %d rasta (PREV to grįžimui)"
   </dest>
   <voice>
@@ -4012,7 +4012,8 @@
     *: none
     rtc: "ON = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = Set"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -4020,7 +4021,8 @@
     *: none
     rtc: "ON = Nustatyti"
     iriverh100,iriverh120,iriverh300: "NAVI = Nustatyti"
-    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: "SELECT = Nustatyti"
+    ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100: "SELECT = Nustatyti"
+    gogearsa9200,samsungyh*: "PLAY = Nustatyti"
     vibe500: "OK = Nustatyti"
     mpiohd300: "ENTER = Nustatyti"
   </dest>
@@ -4045,6 +4047,7 @@
     mrobe100: "DISPLAY = Revert"
     gigabeats: "BACK = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4058,6 +4061,7 @@
     mrobe100: "DISPLAY = Atstatyti"
     gigabeats: "BACK = Atstatyti"
     vibe500: "CANCEL = Atstatyti"
+    samsungyh*: "REW = Atstatyti"
   </dest>
   <voice>
     *: none
@@ -8038,6 +8042,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -8045,6 +8050,7 @@
     iriverh100,iriverh120,iriverh300: "Diskas pilnas. Spauskite STOP."
     iaudiom5,iaudiox5: "Diskas pilnas. Spauskite POWER."
     sansae200*,sansac200*,vibe500: "Diskas pilnas. Spauskite PREV."
+    samsungyh*: "Diskas pilnas. Spauskite LEFT."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/magyar.lang b/apps/lang/magyar.lang
index 1e84a3a..5fb4d6f 100644
--- a/apps/lang/magyar.lang
+++ b/apps/lang/magyar.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
   </source>
@@ -256,7 +256,7 @@
     *: "PLAY = Igen"
     cowond2*: "MENU = Igen"
     iriverh100,iriverh120,iriverh300: "NAVI = Igen"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Igen"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Igen"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Igen"
   </dest>
@@ -2214,7 +2214,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -2222,7 +2222,7 @@
     *: "Készítem az adatbázist... %d-t találtam (OFF - vissza)"
     iriverh100,iriverh120,iriverh300: "Készítem az adatbázist... %d-t találtam (STOP - vissza)"
     ipod*: "Készítem az adatbázist... %d-t találtam (PREV - vissza)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Készítem az adatbázist... %d-t találtam (BAL - vissza)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Készítem az adatbázist... %d-t találtam (BAL - vissza)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Készítem az adatbázist... %d-t találtam (PREV - vissza)"
     gogearsa9200: "Készítem az adatbázist... %d-t találtam (REW - vissza)"
   </dest>
@@ -3927,7 +3927,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3937,7 +3937,7 @@
     mrobe500: "SZÍV = Beállít"
     iriverh100,iriverh120,iriverh300: "NAVI = Beállít"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Beállít"
-    gogearsa9200: "PLAY = Beállít"
+    gogearsa9200,samsungyh*: "PLAY = Beállít"
     vibe500: "OK = Beállít"
     mpiohd300: "ENTER = Beállít"
   </dest>
@@ -3963,6 +3963,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3978,6 +3979,7 @@
     gigabeats: "VISSZA = mégsem"
     gogearsa9200: "BAL = mégsem"
     vibe500: "C = mégsem"
+    samsungyh*: "REW = mégsem"
   </dest>
   <voice>
     *: none
@@ -7957,6 +7959,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7964,6 +7967,7 @@
     iriverh100,iriverh120,iriverh300: "A merevlemez tele van. Folytatáshoz nyomj STOP-ot."
     iaudiom5,iaudiox5: "A merevlemez tele van. Folytatáshoz nyomd meg a POWER gombot."
     sansae200*,sansac200*,vibe500: "A merevlemez tele van. Folytatáshoz nyomd meg a PREV gombot."
+    samsungyh*: "A merevlemez tele van. Folytatáshoz nyomd meg a LEFT gombot."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang
index 6c1e8ef..8114218 100644
--- a/apps/lang/nederlands.lang
+++ b/apps/lang/nederlands.lang
@@ -4462,6 +4462,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4477,6 +4478,7 @@
     gigabeats: "BACK = terugzetten"
     gogearsa9200: "LINKS = terugzetten"
     vibe500: "C = terugzetten"
+    samsungyh*: "REW = terugzetten"
   </dest>
   <voice>
     *: ""
@@ -4526,6 +4528,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4533,6 +4536,7 @@
     iriverh100,iriverh120,iriverh300: "De schijf is vol. Druk STOP om door te gaan."
     iaudiom5,iaudiox5: "De schijf is vol. Druk POWER om door te gaan."
     sansae200*,sansac200*,vibe500: "De schijf is vol. Druk PREV om door te gaan."
+    samsungyh*: "De schijf is vol. Druk LEFT om door te gaan."
   </dest>
   <voice>
     *: ""
@@ -9039,7 +9043,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -9048,7 +9052,7 @@
     *: "Aanmaken van database... %d gevonden (OFF = terug)"
     iriverh100,iriverh120,iriverh300: "Aanmaken van database... %d gevonden (STOP = terug)"
     ipod*: "Aanmaken van database... %d gevonden (PREV = terug)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Aanmaken van database... %d gevonden (LINKS = terug)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Aanmaken van database... %d gevonden (LINKS = terug)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Aanmaken van database... %d gevonden (PREV = terug)"
     gogearsa9200: "Aanmaken van database... %d gevonden (REW =  terug)"
     archosplayer: "Aanmaken DB %d gev."
@@ -9565,7 +9569,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -9574,7 +9578,7 @@
     *: "PLAY = Ja"
     cowond2*: "MENU of bovenaan rechts = Ja"
     iriverh100,iriverh120,iriverh300: "NAVI = Ja"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ja"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ja"
     mrobe500: "PLAY, POWER, of bovenaan rechts = Ja"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Ja"
@@ -9593,7 +9597,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9603,13 +9607,13 @@
     mrobe500: "HEART = Instellen"
     iriverh100,iriverh120,iriverh300: "NAVI = Instellen"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Instellen"
-    gogearsa9200: "PLAY = Instellen"
+    gogearsa9200,samsungyh*: "PLAY = Instellen"
     vibe500: "OK = Instellen"
     mpiohd300: "ENTER = Instellen"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,gigabeatfx: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,gigabeatfx,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/norsk-nynorsk.lang b/apps/lang/norsk-nynorsk.lang
index dfde782..85b798f 100644
--- a/apps/lang/norsk-nynorsk.lang
+++ b/apps/lang/norsk-nynorsk.lang
@@ -4397,6 +4397,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4412,6 +4413,7 @@
     gigabeats: "BACK = Tilbakestill"
     gogearsa9200: "LEFT = Tilbakestill"
     vibe500: "CANCEL = Tilbakestill"
+    samsungyh*: "REW = Tilbakestill"
   </dest>
   <voice>
     *: none
@@ -4459,6 +4461,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4466,6 +4469,7 @@
     iriverh100,iriverh120,iriverh300: "Disken er full. Trykk STOP for å halde fram."
     iaudiom5,iaudiox5: "Disken er full. Trykk POWER for å halde fram."
     sansae200*,sansac200*,vibe500: "Disken er full. Trykk PREV for å halde fram."
+    samsungyh*: "Disken er full. Trykk LEFT for å halde fram."
   </dest>
   <voice>
     *: none
@@ -8782,7 +8786,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -8790,7 +8794,7 @@
     *: "Byggjer database … Fann %d. (OFF for å gå tilbake.)"
     iriverh100,iriverh120,iriverh300: "Byggjer database … Fann %d. (STOP for å gå tilbake.)"
     ipod*: "Byggjer database … Fann %d. (PLAY/PAUSE for å gå tilbake.)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Byggjer database … Fann %d. (LEFT for å gå tilbake.)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Byggjer database … Fann %d. (LEFT for å gå tilbake.)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Byggjer database ... fann %d. (PREV for å gå tilbake.)"
     gogearsa9200: "Byggjer database ... Fann %d. (REW for å gå tilbake.)"
   </dest>
@@ -9250,7 +9254,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -9259,7 +9263,7 @@
     *: "PLAY = ja"
     cowond2*: "MENU eller topp høgre = ja"
     iriverh100,iriverh120,iriverh300: "NAVI = ja"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = ja"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = ja"
     mrobe500: "PLAY, POWER eller topp høgre = ja"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = ja"
@@ -9278,7 +9282,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9288,7 +9292,7 @@
     mrobe500: "HEART = velg"
     iriverh100,iriverh120,iriverh300: "NAVI = velg"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = velg"
-    gogearsa9200: "PLAY = velg"
+    gogearsa9200,samsungyh*: "PLAY = velg"
     vibe500: "OK = velg"
     mpiohd300: "ENTER = velg"
   </dest>
diff --git a/apps/lang/norsk.lang b/apps/lang/norsk.lang
index 7237c0e..20523f7 100644
--- a/apps/lang/norsk.lang
+++ b/apps/lang/norsk.lang
@@ -3758,6 +3758,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3773,6 +3774,7 @@
     gigabeats: "BACK = Tilbakestill"
     gogearsa9200: "LEFT = Tilbakestill"
     vibe500: "CANCEL = Tilbakestill"
+    samsungyh*: "REW = Tilbakestill"
   </dest>
   <voice>
     *: none
@@ -3822,6 +3824,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -3829,6 +3832,7 @@
     iriverh100,iriverh120,iriverh300: "Disken er full. Trykk STOP for å fortsette."
     iaudiom5,iaudiox5: "Disken er full. Trykk POWER for å fortsette."
     sansae200*,sansac200*,vibe500: "Disken er full. Trykk PREV for å fortsette."
+    samsungyh*: "Disken er full. Trykk LEFT for å fortsette."
   </dest>
   <voice>
     *: none
@@ -8834,7 +8838,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -8843,7 +8847,7 @@
     *: "Bygger database... %d funnet (OFF for å gå tilbake)"
     iriverh100,iriverh120,iriverh300: "Bygger database... %d funnet (STOP for å gå tilbake)"
     ipod*: "Bygger database... %d funnet (PREV for å gå tilbake)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Bygger database... %d funnet (LEFT for å gå tilbake)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Bygger database... %d funnet (LEFT for å gå tilbake)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Bygger database... %d funnet (PREV for å gå tilbake)"
     gogearsa9200: "Bygger database... %d funnet (REW for å gå tilbake)"
     archosplayer: "Bygger database (%d funnet)"
@@ -9519,7 +9523,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -9529,7 +9533,7 @@
     *: "PLAY = Ja"
     cowond2*: "MENU eller øvre høyre = Ja"
     iriverh100,iriverh120,iriverh300: "NAVI = Ja"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ja"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ja"
     mrobe500: "Play, POWER eller øvre høyre = Ja"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Ja"
@@ -9549,7 +9553,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -9559,7 +9563,7 @@
     mrobe500: "HEART = Sett"
     iriverh100,iriverh120,iriverh300: "NAVI = Sett"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sett"
-    gogearsa9200: "PLAY = Sett"
+    gogearsa9200,samsungyh*: "PLAY = Sett"
     vibe500: "OK = Sett"
     mpiohd300: "ENTER = Sett"
   </dest>
diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang
index e9e0669..5cc5714 100644
--- a/apps/lang/polski.lang
+++ b/apps/lang/polski.lang
@@ -256,7 +256,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -265,7 +265,7 @@
     *: "PLAY = Tak"
     cowond2*: "MENU lub lewo-góra = Tak"
     iriverh100,iriverh120,iriverh300: "NAVI = Tak"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Tak"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Tak"
     mrobe500: "PLAY lub POWER = Tak"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Tak"
@@ -2239,7 +2239,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2248,7 +2248,7 @@
     *: "Budowanie biblioteki... %d znalezionych (OFF by wrócić)"
     iriverh100,iriverh120,iriverh300: "Budowanie biblioteki... %d znalezionych (STOP by wrócić)"
     ipod*: "Budowanie biblioteki... %d znalezionych (PREV by wrócić)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Budowanie biblioteki... %d znalezionych (LEFT by wrócić)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Budowanie biblioteki... %d znalezionych (LEFT by wrócić)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Budowanie biblioteki... %d znalezionych (PREV by wrócić)"
     gogearsa9200: "Budowanie biblioteki... %d znalezionych (REW by wrócić)"
     archosplayer: "Budowanie biblioteki %d znalezionych"
@@ -3955,7 +3955,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3965,13 +3965,13 @@
     mrobe500: "HEART = Ustaw"
     iriverh100,iriverh120,iriverh300: "NAVI = Ustaw"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ustaw"
-    gogearsa9200:"PLAY = Ustaw"
+    gogearsa9200,samsungyh*:"PLAY = Ustaw"
     vibe500: "OK = Ustaw"
     mpiohd300: "ENTER = Ustaw"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3992,6 +3992,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4007,6 +4008,7 @@
     gigabeats: "BACK = Przywróć"
     gogearsa9200: "LEFT = Przywróć"
     vibe500: "C = Przywróć"
+    samsungyh*: "REW = Przywróć"
   </dest>
   <voice>
     *: none
@@ -7991,6 +7993,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7998,6 +8001,7 @@
     iriverh100,iriverh120,iriverh300: "Pamięć jest pełna. Wciśnij STOP żeby kontynuować."
     iaudiom5,iaudiox5: "Pamięć jest pełna. Wciśnij POWER żeby kontynuować."
     sansae200*,sansac200*,vibe500: "Pamięć jest pełna. Wciśnij PREV żeby kontynuować."
+    samsungyh*: "Pamięć jest pełna. Wciśnij LEFT żeby kontynuować."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/portugues-brasileiro.lang b/apps/lang/portugues-brasileiro.lang
index a036fd8..2a608c0 100644
--- a/apps/lang/portugues-brasileiro.lang
+++ b/apps/lang/portugues-brasileiro.lang
@@ -249,7 +249,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -258,7 +258,7 @@
     *: "PLAY = Sim"
     cowond2*: "MENU, ou topo direito = Sim"
     iriverh100,iriverh120,iriverh300: "NAVI = Sim"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sim"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Sim"
     mrobe500: "PLAY, POWER, ou topo direito = Sim"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Sim"
@@ -2232,7 +2232,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2241,7 +2241,7 @@
     *: "Construindo Base de Dados... %d encontrados (OFF para retornar)"
     iriverh100,iriverh120,iriverh300: "Construindo Base de Dados... %d encontrados (STOP para retornar)"
     ipod*: "Construindo Base de Dados... %d encontrados (PREV para retornar)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Construindo Base de Dados... %d encontrados (LEFT para retornar)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Construindo Base de Dados... %d encontrados (LEFT para retornar)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Construindo Base de Dados... %d encontrados (PREV para retornar)"
     gogearsa9200: "Construindo Base de Dados... %d encontrados (REW para retornar)"
     archosplayer: "Construindo BD %d encontrado"
@@ -3948,7 +3948,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3958,13 +3958,13 @@
     mrobe500: "HEART = Ajustar"
     iriverh100,iriverh120,iriverh300: "NAVI = Ajustar"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ajustar"
-    gogearsa9200: "PLAY = Ajustar"
+    gogearsa9200,samsungyh*: "PLAY = Ajustar"
     vibe500: "OK = Ajustar"
     mpiohd300: "ENTER = Ajustar"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3985,6 +3985,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4000,6 +4001,7 @@
     gigabeats: "BACK = Reverter"
     gogearsa9200: "LEFT = Reverter"
     vibe500: "CANCEL = Reverter"
+    samsungyh*: "REW = Reverter"
   </dest>
   <voice>
     *: none
@@ -7980,6 +7982,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7987,6 +7990,7 @@
     iriverh100,iriverh120,iriverh300: "O disco está cheio. Pressione STOP para continuar."
     iaudiom5,iaudiox5: "O disco está cheio. Pressione POWER para continuar."
     sansae200*,sansac200*,vibe500: "O disco está cheio. Pressione PREV para continuar."
+    samsungyh*: "O disco está cheio. Pressione LEFT para continuar."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/portugues.lang b/apps/lang/portugues.lang
index f441d8d..c8b4f97 100644
--- a/apps/lang/portugues.lang
+++ b/apps/lang/portugues.lang
@@ -4129,6 +4129,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4144,6 +4145,7 @@
     gigabeats: "BACK = Reverter"
     gogearsa9200: "LEFT = Reverter"
     vibe500: "C = Reverter"
+    samsungyh*: "REW = Reverter"
   </dest>
   <voice>
     *: none
@@ -4210,6 +4212,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4217,6 +4220,7 @@
     iriverh100,iriverh120,iriverh300: "O Disco Está Cheio. Carregue STOP Para Continuar"
     iaudiom5,iaudiox5: "O Disco Está Cheio. Carregue POWER Para Continuar"
     sansae200*,sansac200*,vibe500: "O Disco Está Cheio. Carregue PREV Para Continuar"
+    samsungyh*: "O Disco Está Cheio. Carregue LEFT Para Continuar"
   </dest>
   <voice>
     *: none
@@ -7587,7 +7591,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -7597,7 +7601,7 @@
     *: "PLAY = Sim"
     cowond2*: "MENU, ou canto superior direito = Sim"
     iriverh100,iriverh120,iriverh300: "NAVI = Sim"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECIONAR = Sim"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECIONAR = Sim"
     mrobe500: "PLAY, POWER, ou canto superior direito = Sim"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Sim"
@@ -7617,7 +7621,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -7627,7 +7631,7 @@
     mrobe500: "HEART = Definir"
     iriverh100,iriverh120,iriverh300: "NAVI = Definir"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Definir"
-    gogearsa9200: "PLAY = Definir"
+    gogearsa9200,samsungyh*: "PLAY = Definir"
     vibe500: "OK = Definir"
     mpiohd300: "ENTER = Definir"
   </dest>
@@ -9675,7 +9679,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -9684,7 +9688,7 @@
     *: "Construindo Base de Dados... %d encontrados (OFF para voltar)"
     iriverh100,iriverh120,iriverh300: "Construindo Base de Dados... %d encontrados (STOP para voltar)"
     ipod*: "Construindo Base de Dados... %d encontrado (PREV para voltar)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Construindo Base de Dados... %d encontrados (LEFT para voltar)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Construindo Base de Dados... %d encontrados (LEFT para voltar)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Construindo Base de Dados... %d encontrados (PREV para voltar)"
     gogearsa9200: "Construindo Base de Dados... %d encontrados (REW para voltar)"
     archosplayer: "Const. DB %d encontr."
diff --git a/apps/lang/romaneste.lang b/apps/lang/romaneste.lang
index e1f2fea..fcf0f2b 100644
--- a/apps/lang/romaneste.lang
+++ b/apps/lang/romaneste.lang
@@ -1516,6 +1516,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -1531,6 +1532,7 @@
     gigabeats: "BACK  pentru anulare"
     gogearsa9200: "LEFT pentru anulare"
     vibe500: "C pentru anulare"
+    samsungyh*: "REW pentru anulare"
   </dest>
   <voice>
     *: none
@@ -2813,7 +2815,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2822,7 +2824,7 @@
     *: "Creare bază de date... %d găsite (STINGERE pentru revenire)"
     iriverh100,iriverh120,iriverh300: "Creare bază de date... %d găsite (STOP pentru revenire)"
     ipod*: "Creare bază de date... %d găsite (PREV pentru revenire)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Creare bază de date... %d găsite (LEFT pentru revenire)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Creare bază de date... %d găsite (LEFT pentru revenire)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Creare bază de date... %d găsite (PREV pentru revenire)"
     gogearsa9200: "Creare bază de date... %d găsite (REW pentru revenire)"
     archosplayer: "Creare bază de date... %d găsite"
@@ -4370,6 +4372,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4377,6 +4380,7 @@
     iriverh100,iriverh120,iriverh300: "Discul este plin. Apăsați STOP pentru a continua."
     iaudiom5,iaudiox5: "Discul este plin. Apăsați POWER pentru a continua."
     sansae200*,sansac200*,vibe500: "Discul este plin. Apăsați PREV pentru a continua."
+    samsungyh*: "Discul este plin. Apăsați LEFT pentru a continua."
   </dest>
   <voice>
     *: none
@@ -4676,7 +4680,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -4685,7 +4689,7 @@
     *: "PLAY = Da"
     cowond2*: "MENIU sau dreapta-sus = Da"
     iriverh100,iriverh120,iriverh300: "NAVIGARE = Da"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECTARE = Da"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECTARE = Da"
     mrobe500: "RULARE, PORNIRE sau dreapta-sus = Da"
     archosplayer: "(RULARE/STOP)"
     vibe500: "OK = Da"
@@ -4718,7 +4722,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -4728,13 +4732,13 @@
     mrobe500: "INIMĂ = Setat"
     iriverh100,iriverh120,iriverh300: "NAVI = Setat"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECTARE = Setat"
-    gogearsa9200: "RULARE = Setat"
+    gogearsa9200,samsungyh*: "RULARE = Setat"
     vibe500: "OK = Setat"
     mpiohd300: "ENTER = Setat"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang
index dad24e0..284c0f1 100644
--- a/apps/lang/russian.lang
+++ b/apps/lang/russian.lang
@@ -4180,6 +4180,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4194,6 +4195,7 @@
     gigabeats: "НАЗАД = Отмена"
     gogearsa9200: "ЛЕВО = Отмена"
     vibe500: "C = Отмена"
+    samsungyh*: "REW = Отмена"
   </dest>
   <voice>
     *: none
@@ -4243,6 +4245,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -4250,6 +4253,7 @@
     iriverh100,iriverh120,iriverh300: "Диск заполнен. Нажмите СТОП для продолжения."
     iaudiom5,iaudiox5: "Диск заполнен. Нажмите ВЫКЛ. для продолжения."
     sansae200*,sansac200*,vibe500: "Диск заполнен. Нажмите ПРЕД. для продолжения."
+    samsungyh*: "Диск заполнен. Нажмите LEFT для продолжения."
   </dest>
   <voice>
     *: none
@@ -7472,7 +7476,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -7481,7 +7485,7 @@
     *: "Построение базы... %d найдено (ВЫКЛ. для отмены)"
     iriverh100,iriverh120,iriverh300: "Построение базы... %d найдено (СТОП для отмены)"
     ipod*: "Построение базы... %d найдено (ПРЕД. для отмены)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Построение базы... %d найдено (ВЛЕВО для отмены)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Построение базы... %d найдено (ВЛЕВО для отмены)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Построение базы... %d найдено (ПРЕД. для отмены)"
     gogearsa9200: "Построение базы... %d найдено (РЕВЕРС. для отмены)"
     archosplayer: "Построение БД... %d найдено"
@@ -8182,7 +8186,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -8191,7 +8195,7 @@
     *: "ВОСПР. = Да"
     cowond2*: "МЕНЮ или прав. верх. = Да"
     iriverh100,iriverh120,iriverh300: "НАВИГ. = Да"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*: "ВЫБОР = Да"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*: "ВЫБОР = Да"
     mrobe500: "ВОСПР., ВЫКЛ или прав. верх. = Да"
     archosplayer: "(ВОСПР./СТОП)"
     vibe500: "OK = Да"
@@ -8210,7 +8214,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -8220,7 +8224,7 @@
     mrobe500: "СЕРДЦЕ = Установить"
     iriverh100,iriverh120,iriverh300: "НАВИГ. = Установить"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*: "ВЫБОР = Установить"
-    gogearsa9200: "ВОСПР. = Установить"
+    gogearsa9200,samsungyh*: "ВОСПР. = Установить"
     vibe500: "OK = Установить"
     mpiohd300: "ENTER = Установить"
   </dest>
diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang
index 481733f..64ac18e 100644
--- a/apps/lang/slovak.lang
+++ b/apps/lang/slovak.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "PLAY = Áno"
     cowond2*: "MENU, alebo vpravo-hore = Áno"
     iriverh100,iriverh120,iriverh300: "NAVI = Áno"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Áno"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Áno"
     mrobe500: "PLAY, POWER, alebo Vpravo-hore = Áno"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Áno"
@@ -2231,7 +2231,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2240,7 +2240,7 @@
     *: "Vytváram databázu... %d nájdených (OFF pre návrat)"
     iriverh100,iriverh120,iriverh300: "Vytváram databázu... %d nájdených (STOP pre návrat)"
     ipod*: "Vytváram databázu... %d nájdených (PREV pre návrat)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Vytváram databázu... %d nájdených (LEFT pre návrat)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Vytváram databázu... %d nájdených (LEFT pre návrat)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Vytváram databázu... %d nájdených (PREV pre návrat)"
     gogearsa9200: "Vytváram databázu... %d nájdených (REW pre návrat)"
     archosplayer: "Vytváram DB %d nájd."
@@ -3947,7 +3947,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3957,13 +3957,13 @@
     mrobe500: "HEART = Nastaviť"
     iriverh100,iriverh120,iriverh300: "NAVI = Nastaviť"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Nastaviť"
-    gogearsa9200: "PLAY = Nastaviť"
+    gogearsa9200,samsungyh*: "PLAY = Nastaviť"
     vibe500: "OK = Nastaviť"
     mpiohd300: "ENTER = Nastaviť"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3984,6 +3984,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3999,6 +4000,7 @@
     gigabeats: "BACK = Vrátiť"
     gogearsa9200: "LEFT = Vrátiť"
     vibe500: "C = Vrátiť"
+    samsungyh*: "REW = Vrátiť"
   </dest>
   <voice>
     *: none
@@ -7980,6 +7982,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7987,6 +7990,7 @@
     iriverh100,iriverh120,iriverh300: "Disk je plný. Stlačte STOP pre pokračovanie"
     iaudiom5,iaudiox5: "Disk je plný. Stlačte POWER pre pokračovanie"
     sansae200*,sansac200*,vibe500: "Disk je plný. Stlačte PREV pre pokračovanie"
+    samsungyh*: "Disk je plný. Stlačte LEFT pre pokračovanie"
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/slovenscina.lang b/apps/lang/slovenscina.lang
index ee30992..54d5104 100644
--- a/apps/lang/slovenscina.lang
+++ b/apps/lang/slovenscina.lang
@@ -1632,11 +1632,13 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: "OFF Preklici"
     vibe500: "C Preklici"
     mpiohd300: "MENU Preklici"
+    samsungyh*: "REW Preklici"
   </dest>
   <voice>
     *: ""
@@ -1682,10 +1684,12 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: "Disk je poln. Pritisni OFF"
     vibe500: "Disk je poln. Pritisni PREV"
+    samsungyh*: "Disk je poln. Pritisni LEFT"
   </dest>
   <voice>
     *: ""
@@ -3198,7 +3202,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -3207,7 +3211,7 @@
     *: "Ustvarjanje baze podatkov ... najdenih %d (OFF za nazaj)"
     iriverh100,iriverh120,iriverh300: "Ustvarjanje baze podatkov ... najdenih %d (STOP za nazaj)"
     ipod*: "Ustvarjanje baze podatkov ... najdenih %d (PREV za nazaj)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Ustvarjanje baze podatkov ... najdenih %d (LEVO za nazaj)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Ustvarjanje baze podatkov ... najdenih %d (LEVO za nazaj)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Ustvarjanje baze podatkov ... najdenih %d (PREV za nazaj)"
     gogearsa9200: "Ustvarjanje baze podatkov ... najdenih %d (REW za nazaj)"
     archosplayer: "Ustvarjanje baze podatkov ... najdenih %d"
@@ -5329,7 +5333,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -5338,7 +5342,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -5371,7 +5375,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -5381,13 +5385,13 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang
index 574c6bf..9a1cfd8 100644
--- a/apps/lang/srpski.lang
+++ b/apps/lang/srpski.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "PLAY = Да"
     cowond2*: "MENU, или горе-десно = Да"
     iriverh100,iriverh120,iriverh300: "NAVI = Да"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Да"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Да"
     mrobe500: "PLAY, POWER, или горе-десно = Да"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Да"
@@ -2214,7 +2214,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2223,7 +2223,7 @@
     *: "Креирам базу података... %d пронађено (OFF за повратак)"
     iriverh100,iriverh120,iriverh300: "Креирам базу података... %d пронађено (STOP за повратак)"
     ipod*: "Креирам базу података... %d пронађено (PREV за повратак)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Креирам базу података... %d пронађено (LEFT за повратак)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Креирам базу података... %d пронађено (LEFT за повратак)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Креирам базу података... %d пронађено (PREV за повратак)"
     gogearsa9200: "Креирам базу података... %d пронађено (REW за повратак)"
     archosplayer: "Креирам БП %d пронађено"
@@ -3930,7 +3930,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3940,13 +3940,13 @@
     mrobe500: "HEART = Постави"
     iriverh100,iriverh120,iriverh300: "NAVI = Постави"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Постави"
-    gogearsa9200: "PLAY = Постави"
+    gogearsa9200,samsungyh*: "PLAY = Постави"
     vibe500: "OK = Постави"
     mpiohd300: "ENTER = Постави"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3967,6 +3967,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3982,6 +3983,7 @@
     gigabeats: "BACK = Врати на старо"
     gogearsa9200: "LEFT = Врати на старо"
     vibe500: "CANCEL = Врати на старо"
+    samsungyh*: "REW = Врати на старо"
   </dest>
   <voice>
     *: none
@@ -7963,6 +7965,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7970,6 +7973,7 @@
     iriverh100,iriverh120,iriverh300: "Диск је пун. Притисните STOP за наставак."
     iaudiom5,iaudiox5: "Диск је пун. Притисните POWER за наставак."
     sansae200*,sansac200*,vibe500: "Диск је пун. Притисните PREV за наставак."
+    samsungyh*: "Диск је пун. Притисните LEFT за наставак."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang
index 200d633..617e8a1 100644
--- a/apps/lang/svenska.lang
+++ b/apps/lang/svenska.lang
@@ -254,7 +254,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -263,7 +263,7 @@
     *: "SPELA = Ja"
     cowond2*: "MENY, eller överst-höger = Ja"
     iriverh100,iriverh120,iriverh300: "NAVI = Ja"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "VÄLJ = Ja"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "VÄLJ = Ja"
     mrobe500: "SPELA, PÅ/AV, eller överst-höger = Ja"
     archosplayer: "SPELA/STOPP"
     vibe500: "OK = Ja"
@@ -2237,7 +2237,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2246,7 +2246,7 @@
     *: "Skapar databas... %d hittade (AV = Återgå)"
     iriverh100,iriverh120,iriverh300: "Skapar databas... %d hittade (STOPP = Återgå)"
     ipod*: "Skapar databas... %d hittade (FÖREGÅENDE = Återgå)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Skapar databas... %d hittade (VÄNSTER = Återgå)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Skapar databas... %d hittade (VÄNSTER = Återgå)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Skapar databas... %d hittade (FÖREGÅENDE = Återgå)"
     gogearsa9200: "Skapar databas... %d hittade (REW = Återgå)"
     archosplayer: "Skapar DB %d hittade"
@@ -3953,7 +3953,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3963,13 +3963,13 @@
     mrobe500: "HJÄRTA = Ställ"
     iriverh100,iriverh120,iriverh300: "NAVI = Ställ"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "VÄLJ = Ställ"
-    gogearsa9200: "SPELA = Ställ"
+    gogearsa9200,samsungyh*: "SPELA = Ställ"
     vibe500: "OK = Ställ"
     mpiohd300: "ENTER = Ställ"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3990,6 +3990,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4004,6 +4005,7 @@
     gigabeats: "BAKÅT = Avbryt"
     gogearsa9200: "VÄNSTER = Avbryt"
     vibe500: "C = Avbryt"
+    samsungyh*: "REW = Avbryt"
   </dest>
   <voice>
     *: none
@@ -7985,6 +7987,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7992,6 +7995,7 @@
     iriverh100,iriverh120,iriverh300: "Disken är full. Tryck STOPP för att fortsätta."
     iaudiom5,iaudiox5: "Disken är full. Tryck PÅ/AV för att fortsätta."
     sansae200*,sansac200*,vibe500: "Disken är full. Tryck FÖREGÅENDE för att fortsätta."
+    samsungyh*: "Disken är full. Tryck LEFT för att fortsätta."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/tagalog.lang b/apps/lang/tagalog.lang
index 687c6ff..efe9cac 100644
--- a/apps/lang/tagalog.lang
+++ b/apps/lang/tagalog.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "PLAY = Oo"
     cowond2*: "MENU = Oo"
     iriverh100,iriverh120,iriverh300: "NAVI = Oo"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Oo"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Oo"
     mrobe500: "PLAY, POWER, or top-right = Oo"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Oo"
@@ -2217,7 +2217,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
  </source>
@@ -2225,7 +2225,7 @@
     *: "Gumawa database... %d found (OFF sa pagbalik)"
     iriverh100,iriverh120,iriverh300: "Gumawa database... %d found (STOP sa pagbalik)"
     ipod*: "Gumawa database... %d found (PLAY/PAUSE sa pagbalik)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Gumawa database... %d found (LEFT sa pagbalik)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Gumawa database... %d found (LEFT sa pagbalik)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Gumawa database... %d found (PREV sa pagbalik)"
     gogearsa9200: "Gumawa database... %d found (REW sa pagbalik)"
  </dest>
@@ -3931,7 +3931,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
  </source>
@@ -3941,7 +3941,7 @@
     mrobe500: "HEART =Ilagay"
     iriverh100,iriverh120,iriverh300: "NAVI = Ilagay"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ilagay"
-    gogearsa9200: "PLAY = Ilagay"
+    gogearsa9200,samsungyh*: "PLAY = Ilagay"
     vibe500: "OK = Ilagay"
     mpiohd300: "ENTER = Ilagay"
  </dest>
@@ -3967,6 +3967,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
  </source>
  <dest>
     *: none
@@ -3982,6 +3983,7 @@
     gigabeats: "BACK = Mabalik"
     gogearsa9200: "LEFT = Mabalik"
     vibe500: "C = Mabalik"
+    samsungyh*: "REW = Mabalik"
  </dest>
  <voice>
     *: none
@@ -7162,6 +7164,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7169,6 +7172,7 @@
     iriverh100,iriverh120,iriverh300: "Puno disk. Magpatuloy Pindutin STOP."
     iaudiom5,iaudiox5: "Puno disk. Magpatuloy Pindutin POWER."
     sansae200*,sansac200*,vibe500: "Puno disk. Magpatuloy Pindutin PREV."
+    samsungyh*: "Puno disk. Magpatuloy Pindutin LEFT."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/thai.lang b/apps/lang/thai.lang
index fd617a4..b3b17bf 100644
--- a/apps/lang/thai.lang
+++ b/apps/lang/thai.lang
@@ -249,7 +249,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -258,7 +258,7 @@
     *: "PLAY = ใช่"
     cowond2*: "MENU = ใช่"
     iriverh100,iriverh120,iriverh300: "NAVI = ใช่"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = ใช่"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = ใช่"
     mrobe500: "PLAY, POWER, หรือ มุมบนขวา = ใช่"
     archosplayer: "(เล่น/หยุด)"
     vibe500: "OK = ใช่"
@@ -2218,7 +2218,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -2226,7 +2226,7 @@
     *: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (OFF เพื่อย้อนกลับ)"
     iriverh100,iriverh120,iriverh300: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (STOP เพื่อย้อนกลับ)"
     ipod*: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (PREV เพื่อย้อนกลับ)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (LEFT เพื่อย้อนกลับ)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (LEFT เพื่อย้อนกลับ)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (PREV เพื่อย้อนกลับ)"
     gogearsa9200: "กำลังสร้างฐานข้อมูล...พบแล้ว %d (REW เพื่อย้อนกลับ)"
   </dest>
@@ -3915,7 +3915,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3925,7 +3925,7 @@
     mrobe500: "HEART = ตั้งค่า"
     iriverh100,iriverh120,iriverh300: "NAVI = ตั้งค่า"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = ตั้งค่า"
-    gogearsa9200: "PLAY = ตั้งค่า"
+    gogearsa9200,samsungyh*: "PLAY = ตั้งค่า"
     vibe500: "OK = ตั้งค่า"
     mpiohd300: "ENTER = ตั้งค่า"
   </dest>
@@ -3951,6 +3951,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3966,6 +3967,7 @@
     gigabeats: "BACK = ยกเลิก"
     gogearsa9200: "LEFT = ยกเลิก"
     vibe500: "C = ยกเลิก"
+    samsungyh*: "REW = ยกเลิก"
   </dest>
   <voice>
     *: none
@@ -7946,6 +7948,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7953,6 +7956,7 @@
     iriverh100,iriverh120,iriverh300: "ดีสก์เต็ม กดปุ่ม STOP เพื่อทำงานต่อ"
     iaudiom5,iaudiox5: "ดีสก์เต็ม กดปุ่ม POWER เพื่อทำงานต่อ"
     sansae200*,sansac200*,vibe500: "ดีสก์เต็ม กดปุ่ม PREV เพื่อทำงานต่อ"
+    samsungyh*: "ดีสก์เต็ม กดปุ่ม LEFT เพื่อทำงานต่อ"
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/turkce.lang b/apps/lang/turkce.lang
index ae52c1d..0eb368c 100644
--- a/apps/lang/turkce.lang
+++ b/apps/lang/turkce.lang
@@ -236,7 +236,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -245,7 +245,7 @@
     *: "PLAY = Devam et"
     cowond2*: "MENU, veya üst-sağ = Evet"
     iriverh100,iriverh120,iriverh300: "NAVI = Devam et"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Evet"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Evet"
     mrobe500: "PLAY, POWER, veya üst-sağ = Evet"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Devam et"
@@ -1406,7 +1406,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -1414,7 +1414,7 @@
     *: "Veritabanı oluşturuluyor... %d bulundu (giriş için OFF)"
     iriverh100,iriverh120,iriverh300: "Veritabanı oluşturuluyor... %d bulundu (giriş için STOP)"
     ipod*: "Veritabanı oluşturuluyor... %d bulundu (giriş için PREV)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Veritabanı oluşturuluyor... %d bulundu (giriş için LEFT)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Veritabanı oluşturuluyor... %d bulundu (giriş için LEFT)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Veritabanı oluşturuluyor... %d bulundu (giriş için PREV)"
     gogearsa9200: "Veritabanı oluşturuluyor... %d bulundu (giriş için REW)"
   </dest>
@@ -1964,7 +1964,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -1974,7 +1974,7 @@
     mrobe500: "HEART = Ayarlandı"
     iriverh100,iriverh120,iriverh300: "NAVI = Ayarlandı"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Ayarlandı"
-    gogearsa9200: "PLAY = Ayarlandı"
+    gogearsa9200,samsungyh*: "PLAY = Ayarlandı"
     vibe500: "OK = Ayarlandı"
     mpiohd300: "ENTER = Ayarlandı"
   </dest>
@@ -2000,6 +2000,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -2015,6 +2016,7 @@
     gigabeats: "LEFT =  Revert"
     gogearsa9200: "LEFT = Geri Döndür"
     vibe500: "C = Geri Döndür"
+    samsungyh*: "REW = Geri Döndür"
   </dest>
   <voice>
     *: none
@@ -2648,6 +2650,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -2655,10 +2658,10 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200,sansac200*,vibe500: "The disk is full. Press UP to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </dest>
   <voice>
     *: none
-    recording,iriverh100,iriverh120,iriverh300,iaudiom5,iaudiox5,sansae200,sansac200*: ""
     recording,iriverh100,iriverh120,iriverh300,iaudiom5,iaudiox5,sansae200*,sansac200*: ""
   </voice>
 </phrase>
diff --git a/apps/lang/ukrainian.lang b/apps/lang/ukrainian.lang
index 5327172..306abec 100644
--- a/apps/lang/ukrainian.lang
+++ b/apps/lang/ukrainian.lang
@@ -248,7 +248,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU, or top-right = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     mrobe500: "PLAY, POWER, or top-right = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
@@ -257,7 +257,7 @@
     *: "ВIДТВОР. = Так"
     cowond2*: "Меню або прав. верх. = Так"
     iriverh100,iriverh120,iriverh300: "НАВIГ. = Так"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "ВИБРАТИ = так"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "ВИБРАТИ = так"
     mrobe500: "ВІДТВ, ВИМКН., або правю верх. = Так"
     archosplayer: "(ВIДТВОР./СТОП)"
     vibe500: "OK = Так"
@@ -2231,7 +2231,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
     archosplayer: "Building DB %d found"
@@ -2240,7 +2240,7 @@
     *: "Створення Бази Даних ... %d знайдено (ВИМК. для скасування)"
     iriverh100,iriverh120,iriverh300: "Створення Бази Даних... %d знайдено (СТОП для скасування)"
     ipod*: "Створення Бази Даних... %d знайдено (ПОПЕРЕД. для скасування)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Створення Бази Даних... %d знайдено (ЛIВО для скасування)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Створення Бази Даних... %d знайдено (ЛIВО для скасування)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Створення Бази Даних... %d знайдено (ПОПЕРЕД. для скасування)"
     gogearsa9200: "Створення Бази Даних... %d знайдено (ПЕРЕМ. для скасування)"
     archosplayer: "Створення БД %d знайдено"
@@ -3947,7 +3947,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3957,7 +3957,7 @@
     mrobe500: "СЕРЦЕ = Встановити"
     iriverh100,iriverh120,iriverh300: "НАВIГ. = Встановити"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "ВИБРАТИ = Встановити"
-    gogearsa9200: "ПРОГРАВ. = Встановити"
+    gogearsa9200,samsungyh*: "ПРОГРАВ. = Встановити"
     vibe500: "OK = Встановити"
     mpiohd300: "ENTER = Встановити"
   </dest>
@@ -3983,6 +3983,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -3997,6 +3998,7 @@
     gigabeats: "НАЗАД = Скасувати"
     gogearsa9200: "ВЛIВО = Скасувати"
     vibe500: "C = Скасувати"
+    samsungyh*: "REW = Скасувати"
   </dest>
   <voice>
     *: none
@@ -7977,6 +7979,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7984,6 +7987,7 @@
     iriverh100,iriverh120,iriverh300: "Диск повний. Натичнiть STOP для продовження."
     iaudiom5,iaudiox5: "Диск повний. Натичнiть POWER для продовження."
     sansae200*,sansac200*,vibe500: "Диск повний. Натичнiть PREV для продовження."
+    samsungyh*: "Диск повний. Натичнiть LEFT для продовження."
   </dest>
   <voice>
     *: none
diff --git a/apps/lang/wallisertitsch.lang b/apps/lang/wallisertitsch.lang
index 6cdec72..8fe7d46 100644
--- a/apps/lang/wallisertitsch.lang
+++ b/apps/lang/wallisertitsch.lang
@@ -2557,10 +2557,12 @@
   <source>
     *: "OFF To Revert"
     vibe500: "CANCEL To Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: "OFF = abbrächu"
     vibe500: "C = abbrächu"
+    samsungyh*: "REW = abbrächu"
   </dest>
   <voice>
     *: ""
@@ -2615,10 +2617,12 @@
   <source>
     *: "The disk is full. Press OFF to continue."
     vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: "Feschtplatta isch voll. Drick OFF."
     vibe500: "Feschtplatta isch voll. Drick PREV."
+    samsungyh*: "Feschtplatta isch voll. Drick LEFT."
   </dest>
   <voice>
     *: ""
diff --git a/apps/lang/walon.lang b/apps/lang/walon.lang
index af2e906..94b7e7c 100644
--- a/apps/lang/walon.lang
+++ b/apps/lang/walon.lang
@@ -253,7 +253,7 @@
     *: "PLAY = Yes"
     cowond2*: "MENU = Yes"
     iriverh100,iriverh120,iriverh300: "NAVI = Yes"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Yes"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Yes"
   </source>
@@ -261,7 +261,7 @@
     *: "PLAY = Oyi"
     cowond2*: "MENU = Oyi"
     iriverh100,iriverh120,iriverh300: "NAVI = Oyi"
-    samsungyh*,ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Oyi"
+    ipod*,iaudiox5,iaudiom5,gigabeat*,sansae200*,sansac200*,iriverh10,iriverh10_5gb,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Oyi"
     mrobe500: "PLAY or POWER = Oyi"
     archosplayer: "(PLAY/STOP)"
     vibe500: "OK = Oyi"
@@ -2238,7 +2238,7 @@
     *: "Building database... %d found (OFF to return)"
     iriverh100,iriverh120,iriverh300: "Building database... %d found (STOP to return)"
     ipod*: "Building database... %d found (PREV to return)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Building database... %d found (LEFT to return)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Building database... %d found (LEFT to return)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Building database... %d found (PREV to return)"
     gogearsa9200: "Building database... %d found (REW to return)"
   </source>
@@ -2246,7 +2246,7 @@
     *: "Bastixhaedje del båze di dnêyes... %d di trovés (OFF po-z eraler en erî)"
     iriverh100,iriverh120,iriverh300: "Bastixhaedje del båze di dnêyes... %d di trovés (STOP po-z eraler en erî)"
     ipod*: "Bastixhaedje del båze di dnêyes... %d di trovés (PREV po-z eraler en erî)"
-    iaudiox5,iaudiom5,gigabeat*,mrobe100: "Bastixhaedje del båze di dnêyes... %d di trovés (LEFT po-z eraler en erî)"
+    iaudiox5,iaudiom5,gigabeat*,mrobe100,samsungyh*: "Bastixhaedje del båze di dnêyes... %d di trovés (LEFT po-z eraler en erî)"
     iriverh10,iriverh10_5gb,sansae200*,sansac200*,sansafuze*,vibe500: "Bastixhaedje del båze di dnêyes... %d di trovés (PREV po-z eraler en erî)"
     gogearsa9200: "Bastixhaedje del båze di dnêyes... %d di trovés (REW po-z eraler en erî)"
   </dest>
@@ -3952,7 +3952,7 @@
     mrobe500: "HEART = Set"
     iriverh100,iriverh120,iriverh300: "NAVI = Set"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Set"
-    gogearsa9200: "PLAY = Set"
+    gogearsa9200,samsungyh*: "PLAY = Set"
     vibe500: "OK = Set"
     mpiohd300: "ENTER = Set"
   </source>
@@ -3962,13 +3962,13 @@
     mrobe500: "HEART = Eployî"
     iriverh100,iriverh120,iriverh300: "NAVI = Eployî"
     ipod*,iaudiox5,iaudiom5,iriverh10,iriverh10_5gb,sansae200*,sansac200*,gigabeat*,mrobe100,sansaclip*,sansafuze*,sansaconnect: "SELECT = Eployî"
-    gogearsa9200: "PLAY = Eployî"
+    gogearsa9200,samsungyh*: "PLAY = Eployî"
     vibe500: "OK = Eployî"
     mpiohd300: "ENTER = Eployî"
   </dest>
   <voice>
     *: none
-    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200: ""
+    rtc,iriverh100,iriverh120,iriverh300,iriverh10,iriverh10_5gb,iaudiox5,iaudiom5,ipod*,sansae200*,sansac200*,gigabeat*,mrobe100,gogearsa9200,samsungyh*: ""
   </voice>
 </phrase>
 <phrase>
@@ -3989,6 +3989,7 @@
     gigabeats: "BACK = Revert"
     gogearsa9200: "LEFT = Revert"
     vibe500: "CANCEL = Revert"
+    samsungyh*: "REW = Revert"
   </source>
   <dest>
     *: none
@@ -4004,6 +4005,7 @@
     gigabeats: "BACK = Rinoncî"
     gogearsa9200: "LEFT = Rinoncî"
     vibe500: "C = Rinoncî"
+    samsungyh*: "REW = Rinoncî"
   </dest>
   <voice>
     *: none
@@ -7985,6 +7987,7 @@
     iriverh100,iriverh120,iriverh300: "The disk is full. Press STOP to continue."
     iaudiom5,iaudiox5: "The disk is full. Press POWER to continue."
     sansae200*,sansac200*,vibe500: "The disk is full. Press PREV to continue."
+    samsungyh*: "Disk full. Press LEFT to continue."
   </source>
   <dest>
     *: none
@@ -7992,6 +7995,7 @@
     iriverh100,iriverh120,iriverh300: "Li plake est plinne. Tchôkîz STOP et tcheryî pus lon."
     iaudiom5,iaudiox5: "Li plake est plinne. Tchôkîz POWER et tcheryî pus lon."
     sansae200*,sansac200*,vibe500: "Li plake est plinne. Tchôkîz PREV et tcheryî pus lon."
+    samsungyh*: "Li plake est plinne. Tchôkîz LEFT et tcheryî pus lon."
   </dest>
   <voice>
     *: none
diff --git a/apps/plugins/blackjack.c b/apps/plugins/blackjack.c
index 4022696..2c8fecd 100644
--- a/apps/plugins/blackjack.c
+++ b/apps/plugins/blackjack.c
@@ -396,13 +396,13 @@
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
 #define BJACK_SELECT_NAME  "PLAY"
-#define BJACK_STAY_NAME    "RECORD"
-#define BJACK_QUIT_NAME    "REW"
-#define BJACK_DOUBLE_NAME  "FFWD"
+#define BJACK_STAY_NAME    "FFWD"
+#define BJACK_QUIT_NAME    "LONG REW"
+#define BJACK_DOUBLE_NAME  "REW"
 #define BJACK_SELECT       BUTTON_PLAY
-#define BJACK_QUIT         BUTTON_REW
-#define BJACK_STAY         BUTTON_REC
-#define BJACK_DOUBLEDOWN   BUTTON_FFWD
+#define BJACK_QUIT         (BUTTON_REW|BUTTON_REPEAT)
+#define BJACK_STAY         BUTTON_FFWD
+#define BJACK_DOUBLEDOWN   (BUTTON_REW|BUTTON_REL)
 #define BJACK_UP           BUTTON_UP
 #define BJACK_DOWN         BUTTON_DOWN
 #define BJACK_RIGHT        BUTTON_RIGHT
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c
index 0c9223d..05c8c9c 100644
--- a/apps/plugins/brickmania.c
+++ b/apps/plugins/brickmania.c
@@ -245,7 +245,7 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define QUIT   BUTTON_FFWD
+#define QUIT   BUTTON_REW
 #define SELECT BUTTON_PLAY
 #define LEFT   BUTTON_LEFT
 #define RIGHT  BUTTON_RIGHT
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index c378ecb..f516cef 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -380,17 +380,28 @@
 #elif CONFIG_KEYPAD == MROBE500_PAD
 #define CALCULATOR_QUIT           BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
 
 #define CALCULATOR_LEFT  BUTTON_LEFT
 #define CALCULATOR_RIGHT BUTTON_RIGHT
 #define CALCULATOR_UP    BUTTON_UP
 #define CALCULATOR_DOWN  BUTTON_DOWN
-#define CALCULATOR_QUIT  BUTTON_REC
+#define CALCULATOR_QUIT  (BUTTON_REW|BUTTON_REPEAT)
 #define CALCULATOR_INPUT BUTTON_PLAY
 #define CALCULATOR_CALC  BUTTON_FFWD
-#define CALCULATOR_CLEAR BUTTON_REW
+#define CALCULATOR_CLEAR (BUTTON_REW|BUTTON_REL)
+#define CALCULATOR_OPERATORS BUTTON_REC
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+
+#define CALCULATOR_LEFT  BUTTON_LEFT
+#define CALCULATOR_RIGHT BUTTON_RIGHT
+#define CALCULATOR_UP    BUTTON_UP
+#define CALCULATOR_DOWN  BUTTON_DOWN
+#define CALCULATOR_QUIT  (BUTTON_REW|BUTTON_REPEAT)
+#define CALCULATOR_INPUT BUTTON_PLAY
+#define CALCULATOR_CALC  BUTTON_FFWD
+#define CALCULATOR_CLEAR (BUTTON_REW|BUTTON_REL)
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 
diff --git a/apps/plugins/calendar.c b/apps/plugins/calendar.c
index 91613fc..d2744ea 100644
--- a/apps/plugins/calendar.c
+++ b/apps/plugins/calendar.c
@@ -258,16 +258,25 @@
 #elif CONFIG_KEYPAD == MROBE500_PAD
 #define CALENDAR_QUIT       BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define CALENDAR_QUIT       BUTTON_REC
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define CALENDAR_QUIT       BUTTON_REW
 #define CALENDAR_SELECT     BUTTON_PLAY
 #define CALENDAR_NEXT_WEEK  BUTTON_DOWN
 #define CALENDAR_PREV_WEEK  BUTTON_UP
 #define CALENDAR_NEXT_DAY   BUTTON_RIGHT
 #define CALENDAR_PREV_DAY   BUTTON_LEFT
-#define CALENDAR_NEXT_MONTH BUTTON_FFWD
-#define CALENDAR_PREV_MONTH BUTTON_REW
+#define CALENDAR_NEXT_MONTH (BUTTON_FFWD|BUTTON_DOWN)
+#define CALENDAR_PREV_MONTH (BUTTON_FFWD|BUTTON_UP)
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define CALENDAR_QUIT       BUTTON_REW
+#define CALENDAR_SELECT     BUTTON_PLAY
+#define CALENDAR_NEXT_WEEK  BUTTON_DOWN
+#define CALENDAR_PREV_WEEK  BUTTON_UP
+#define CALENDAR_NEXT_DAY   BUTTON_RIGHT
+#define CALENDAR_PREV_DAY   BUTTON_LEFT
+#define CALENDAR_NEXT_MONTH (BUTTON_REC|BUTTON_DOWN)
+#define CALENDAR_PREV_MONTH (BUTTON_REC|BUTTON_UP)
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define CALENDAR_QUIT       BUTTON_REC
diff --git a/apps/plugins/chessbox/chessbox.c b/apps/plugins/chessbox/chessbox.c
index 906cc5d..be69f67 100644
--- a/apps/plugins/chessbox/chessbox.c
+++ b/apps/plugins/chessbox/chessbox.c
@@ -680,6 +680,10 @@
 #ifdef CB_PLAY_PRE
                 if (lastbutton != CB_PLAY_PRE)
                     break;
+                /* fallthrough */
+#endif
+#ifdef CB_PLAY_ALT
+            case CB_PLAY_ALT:
 #endif
                 result.type = COMMAND_PLAY;
                 return result;
diff --git a/apps/plugins/chessbox/chessbox_pgn.h b/apps/plugins/chessbox/chessbox_pgn.h
index 159bdf1..e38d7f4 100644
--- a/apps/plugins/chessbox/chessbox_pgn.h
+++ b/apps/plugins/chessbox/chessbox_pgn.h
@@ -357,16 +357,30 @@
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
 #define CB_MENU    BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define CB_SELECT  BUTTON_FFWD
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define CB_SELECT  BUTTON_PLAY
 #define CB_UP      BUTTON_UP
 #define CB_DOWN    BUTTON_DOWN
 #define CB_LEFT    BUTTON_LEFT
 #define CB_RIGHT   BUTTON_RIGHT
-#define CB_PLAY    BUTTON_PLAY
-#define CB_LEVEL   (BUTTON_REW|BUTTON_RIGHT)
-#define CB_MENU    (BUTTON_REW|BUTTON_LEFT)
+#define CB_PLAY    BUTTON_REC
+#define CB_LEVEL   BUTTON_FFWD
+#define CB_MENU    BUTTON_REW
+#define CB_SCROLL_UP     (BUTTON_UP|BUTTON_REPEAT)
+#define CB_SCROLL_DOWN   (BUTTON_DOWN|BUTTON_REPEAT)
+#define CB_SCROLL_LEFT   (BUTTON_LEFT|BUTTON_REPEAT)
+#define CB_SCROLL_RIGHT  (BUTTON_RIGHT|BUTTON_REPEAT)
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define CB_SELECT  BUTTON_PLAY
+#define CB_UP      BUTTON_UP
+#define CB_DOWN    BUTTON_DOWN
+#define CB_LEFT    BUTTON_LEFT
+#define CB_RIGHT   BUTTON_RIGHT
+#define CB_PLAY    BUTTON_REC_SW_ON
+#define CB_PLAY_ALT BUTTON_REC_SW_OFF
+#define CB_LEVEL   BUTTON_FFWD
+#define CB_MENU    BUTTON_REW
 #define CB_SCROLL_UP     (BUTTON_UP|BUTTON_REPEAT)
 #define CB_SCROLL_DOWN   (BUTTON_DOWN|BUTTON_REPEAT)
 #define CB_SCROLL_LEFT   (BUTTON_LEFT|BUTTON_REPEAT)
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 01895d2..7c25f9e 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -278,14 +278,16 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define CHC_QUIT             BUTTON_REC
+#define CHC_QUIT             BUTTON_REW
 #define CHC_STARTSTOP        BUTTON_PLAY
 #define CHC_RESET            BUTTON_FFWD
 #define CHC_MENU             BUTTON_LEFT
 #define CHC_SETTINGS_INC     BUTTON_UP
 #define CHC_SETTINGS_DEC     BUTTON_DOWN
 #define CHC_SETTINGS_OK      BUTTON_PLAY
+#define CHC_SETTINGS_OK2     BUTTON_RIGHT
 #define CHC_SETTINGS_CANCEL  BUTTON_REW
+#define CHC_SETTINGS_CANCEL2 BUTTON_LEFT
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define CHC_QUIT             BUTTON_REC
diff --git a/apps/plugins/chip8.c b/apps/plugins/chip8.c
index 09b0062..d9c165f 100644
--- a/apps/plugins/chip8.c
+++ b/apps/plugins/chip8.c
@@ -1145,7 +1145,8 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define CHIP8_OFF  BUTTON_REC
+#define CHIP8_OFF  BUTTON_REW
+#define CHIP8_KEY0 BUTTON_FFWD
 #define CHIP8_KEY2 BUTTON_UP
 #define CHIP8_KEY4 BUTTON_LEFT
 #define CHIP8_KEY5 BUTTON_PLAY
diff --git a/apps/plugins/chopper.c b/apps/plugins/chopper.c
index 94fe750..7189fed 100644
--- a/apps/plugins/chopper.c
+++ b/apps/plugins/chopper.c
@@ -164,7 +164,8 @@
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
 #define QUIT        BUTTON_LEFT
 #define ACTION      BUTTON_RIGHT
-#define ACTIONTEXT "RIGHT"
+#define ACTION2     BUTTON_UP
+#define ACTIONTEXT "RIGHT or UP"
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define QUIT BUTTON_REC
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c
index ffbb01a..d0e3f0c 100644
--- a/apps/plugins/clix.c
+++ b/apps/plugins/clix.c
@@ -183,7 +183,7 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define CLIX_BUTTON_QUIT    BUTTON_REC
+#define CLIX_BUTTON_QUIT    BUTTON_REW
 #define CLIX_BUTTON_LEFT    BUTTON_LEFT
 #define CLIX_BUTTON_RIGHT   BUTTON_RIGHT
 #define CLIX_BUTTON_CLICK   BUTTON_PLAY
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index 0999320..2b0febf 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -281,14 +281,16 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define CUBE_QUIT          BUTTON_REC
+#define CUBE_QUIT          BUTTON_REW
 #define CUBE_NEXT          BUTTON_RIGHT
 #define CUBE_PREV          BUTTON_LEFT
 #define CUBE_INC           BUTTON_UP
 #define CUBE_DEC           BUTTON_DOWN
-#define CUBE_MODE          BUTTON_REW
+#define CUBE_MODE          (BUTTON_FFWD|BUTTON_REL)
+#define CUBE_MODE_PRE      BUTTON_FFWD
 #define CUBE_PAUSE         BUTTON_PLAY
-#define CUBE_HIGHSPEED     BUTTON_FFWD
+#define CUBE_HIGHSPEED     (BUTTON_FFWD|BUTTON_REPEAT)
+#define CUBE_HIGHSPEED_PRE BUTTON_FFWD
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define CUBE_QUIT          BUTTON_REC
diff --git a/apps/plugins/doom/i_video.c b/apps/plugins/doom/i_video.c
index 7ec768f..c97dce9 100644
--- a/apps/plugins/doom/i_video.c
+++ b/apps/plugins/doom/i_video.c
@@ -395,8 +395,19 @@
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
 #define DOOMBUTTON_ESC     BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define DOOMBUTTON_UP      BUTTON_UP
+#define DOOMBUTTON_DOWN    BUTTON_DOWN
+#define DOOMBUTTON_LEFT    BUTTON_LEFT
+#define DOOMBUTTON_RIGHT   BUTTON_RIGHT
+#define DOOMBUTTON_SHOOT   BUTTON_PLAY
+#define DOOMBUTTON_OPEN    BUTTON_REW
+#define DOOMBUTTON_ESC     BUTTON_REC_SW_ON
+#define DOOMBUTTON_ESC2    BUTTON_REC_SW_OFF
+#define DOOMBUTTON_ENTER   BUTTON_PLAY
+#define DOOMBUTTON_WEAPON  BUTTON_FFWD
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
 #define DOOMBUTTON_UP      BUTTON_UP
 #define DOOMBUTTON_DOWN    BUTTON_DOWN
 #define DOOMBUTTON_LEFT    BUTTON_LEFT
@@ -404,7 +415,7 @@
 #define DOOMBUTTON_SHOOT   BUTTON_PLAY
 #define DOOMBUTTON_OPEN    BUTTON_REW
 #define DOOMBUTTON_ESC     BUTTON_REC
-#define DOOMBUTTON_ENTER   BUTTON_FFWD
+#define DOOMBUTTON_ENTER   BUTTON_PLAY
 #define DOOMBUTTON_WEAPON  BUTTON_FFWD
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
@@ -685,7 +696,11 @@
          D_PostEvent(&event);
       }
 #ifdef DOOMBUTTON_ESC
-      if(released & DOOMBUTTON_ESC)
+      if(released & DOOMBUTTON_ESC
+#ifdef DOOMBUTTON_ESC2
+         || released & DOOMBUTTON_ESC2
+#endif
+        )
       {
          event.data1=KEY_ESCAPE;
          D_PostEvent(&event);
@@ -747,7 +762,11 @@
          D_PostEvent(&event);
       }
 #ifdef DOOMBUTTON_ESC
-      if(pressed & DOOMBUTTON_ESC)
+      if(pressed & DOOMBUTTON_ESC
+#ifdef DOOMBUTTON_ESC2
+         || pressed & DOOMBUTTON_ESC2
+#endif
+        )
       {
          event.data1=KEY_ESCAPE;
          D_PostEvent(&event);
diff --git a/apps/plugins/flipit.c b/apps/plugins/flipit.c
index 834dea3..773bc08 100644
--- a/apps/plugins/flipit.c
+++ b/apps/plugins/flipit.c
@@ -351,11 +351,11 @@
 #define FLIPIT_RIGHT        BUTTON_RIGHT
 #define FLIPIT_UP           BUTTON_UP
 #define FLIPIT_DOWN         BUTTON_DOWN
-#define FLIPIT_QUIT         BUTTON_REC
-#define FLIPIT_SHUFFLE      BUTTON_PLAY
-#define FLIPIT_SOLVE        BUTTON_FFWD
-#define FLIPIT_STEP_BY_STEP (BUTTON_FFWD|BUTTON_UP)
-#define FLIPIT_TOGGLE       BUTTON_REW
+#define FLIPIT_QUIT         (BUTTON_REW|BUTTON_REPEAT)
+#define FLIPIT_SHUFFLE      (BUTTON_REW|BUTTON_REL)
+#define FLIPIT_SOLVE        (BUTTON_FFWD|BUTTON_REPEAT)
+#define FLIPIT_STEP_BY_STEP (BUTTON_FFWD|BUTTON_REL)
+#define FLIPIT_TOGGLE       BUTTON_PLAY
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 
@@ -941,6 +941,13 @@
     rb->lcd_putsxy(2, 28, "[VOL+] shuffle");
     rb->lcd_putsxy(2, 38, "[PREV] solution");
     rb->lcd_putsxy(2, 48, "[NEXT] step by step");
+#elif (CONFIG_KEYPAD == SAMSUNG_YH920_PAD) || \
+      (CONFIG_KEYPAD == SAMSUNG_YH820_PAD)
+    rb->lcd_putsxy(2, 8, "Long [REW] to stop");
+    rb->lcd_putsxy(2, 18, "[PLAY] toggle");
+    rb->lcd_putsxy(2, 28, "[REW] shuffle");
+    rb->lcd_putsxy(2, 38, "Long [FFWD] solution");
+    rb->lcd_putsxy(2, 48, "[FFWD] step by step");
 #endif
 
 #ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/fractals/fractal.h b/apps/plugins/fractals/fractal.h
index 7e13657..51296b0 100644
--- a/apps/plugins/fractals/fractal.h
+++ b/apps/plugins/fractals/fractal.h
@@ -318,15 +318,28 @@
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
 #define FRACTAL_QUIT            BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define FRACTAL_QUIT            BUTTON_REC
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define FRACTAL_QUIT            (BUTTON_REW | BUTTON_REPEAT)
 #define FRACTAL_UP              BUTTON_UP
 #define FRACTAL_DOWN            BUTTON_DOWN
 #define FRACTAL_LEFT            BUTTON_LEFT
 #define FRACTAL_RIGHT           BUTTON_RIGHT
 #define FRACTAL_ZOOM_IN         BUTTON_FFWD
-#define FRACTAL_ZOOM_OUT        BUTTON_REW
+#define FRACTAL_ZOOM_OUT_PRE    BUTTON_REW
+#define FRACTAL_ZOOM_OUT        (BUTTON_REW | BUTTON_REL)
+#define FRACTAL_PRECISION_INC   (BUTTON_REC | BUTTON_UP)
+#define FRACTAL_PRECISION_DEC   (BUTTON_REC | BUTTON_DOWN)
+#define FRACTAL_RESET           BUTTON_PLAY
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define FRACTAL_QUIT            (BUTTON_REW | BUTTON_REPEAT)
+#define FRACTAL_UP              BUTTON_UP
+#define FRACTAL_DOWN            BUTTON_DOWN
+#define FRACTAL_LEFT            BUTTON_LEFT
+#define FRACTAL_RIGHT           BUTTON_RIGHT
+#define FRACTAL_ZOOM_IN         BUTTON_FFWD
+#define FRACTAL_ZOOM_OUT_PRE    BUTTON_REW
+#define FRACTAL_ZOOM_OUT        (BUTTON_REW | BUTTON_REL)
 #define FRACTAL_PRECISION_INC   (BUTTON_PLAY | BUTTON_UP)
 #define FRACTAL_PRECISION_DEC   (BUTTON_PLAY | BUTTON_DOWN)
 #define FRACTAL_RESET           (BUTTON_PLAY | BUTTON_RIGHT)
diff --git a/apps/plugins/imageviewer/imageviewer.c b/apps/plugins/imageviewer/imageviewer.c
index 39507a1..05d2770 100644
--- a/apps/plugins/imageviewer/imageviewer.c
+++ b/apps/plugins/imageviewer/imageviewer.c
@@ -553,7 +553,8 @@
     static long ss_timeout = 0;
 
     int button;
-#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE)
+#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) \
+    || defined(IMGVIEW_SLIDE_SHOW_PRE)
     int lastbutton = BUTTON_NONE;
 #endif
 
@@ -642,6 +643,13 @@
 
 #ifdef IMGVIEW_SLIDE_SHOW
         case IMGVIEW_SLIDE_SHOW:
+#ifdef IMGVIEW_SLIDE_SHOW_PRE
+            if (lastbutton != IMGVIEW_SLIDE_SHOW_PRE)
+                break;
+#endif
+#ifdef IMGVIEW_SLIDE_SHOW2
+        case IMGVIEW_SLIDE_SHOW2:
+#endif
             iv_api.slideshow_enabled = !iv_api.slideshow_enabled;
             break;
 #endif
@@ -714,7 +722,7 @@
             break;
 
         } /* switch */
-#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE)
+#if defined(IMGVIEW_ZOOM_PRE) || defined(IMGVIEW_MENU_PRE) || defined(IMGVIEW_SLIDE_SHOW_PRE)
         if (button != BUTTON_NONE)
             lastbutton = button;
 #endif
diff --git a/apps/plugins/imageviewer/imageviewer_button.h b/apps/plugins/imageviewer/imageviewer_button.h
index c5fb973..5c16ad2 100644
--- a/apps/plugins/imageviewer/imageviewer_button.h
+++ b/apps/plugins/imageviewer/imageviewer_button.h
@@ -314,8 +314,7 @@
 #elif CONFIG_KEYPAD == ONDAVX747_PAD
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
 #define IMGVIEW_ZOOM_IN     (BUTTON_PLAY|BUTTON_UP)
 #define IMGVIEW_ZOOM_OUT    (BUTTON_PLAY|BUTTON_DOWN)
 #define IMGVIEW_UP          BUTTON_UP
@@ -324,9 +323,29 @@
 #define IMGVIEW_RIGHT       BUTTON_RIGHT
 #define IMGVIEW_NEXT        BUTTON_FFWD
 #define IMGVIEW_PREVIOUS    BUTTON_REW
+#define IMGVIEW_NEXT_REPEAT (BUTTON_FFWD|BUTTON_REPEAT)
+#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_REW|BUTTON_REPEAT)
 #define IMGVIEW_MENU_PRE    BUTTON_PLAY
 #define IMGVIEW_MENU        (BUTTON_PLAY|BUTTON_REL)
-#define IMGVIEW_QUIT        BUTTON_REC
+#define IMGVIEW_SLIDE_SHOW  BUTTON_REC_SW_ON
+#define IMGVIEW_SLIDE_SHOW2 BUTTON_REC_SW_OFF
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define IMGVIEW_ZOOM_IN     (BUTTON_REC|BUTTON_UP)
+#define IMGVIEW_ZOOM_OUT    (BUTTON_REC|BUTTON_DOWN)
+#define IMGVIEW_UP          BUTTON_UP
+#define IMGVIEW_DOWN        BUTTON_DOWN
+#define IMGVIEW_LEFT        BUTTON_LEFT
+#define IMGVIEW_RIGHT       BUTTON_RIGHT
+#define IMGVIEW_NEXT        BUTTON_FFWD
+#define IMGVIEW_PREVIOUS    BUTTON_REW
+#define IMGVIEW_NEXT_REPEAT (BUTTON_FFWD|BUTTON_REPEAT)
+#define IMGVIEW_PREVIOUS_REPEAT (BUTTON_REW|BUTTON_REPEAT)
+#define IMGVIEW_MENU_PRE    BUTTON_PLAY
+#define IMGVIEW_MENU        (BUTTON_PLAY|BUTTON_REL)
+#define IMGVIEW_SLIDE_SHOW  (BUTTON_PLAY|BUTTON_REPEAT)
+#define IMGVIEW_SLIDE_SHOW_PRE BUTTON_PLAY
+#define IMGVIEW_QUIT        (BUTTON_REC|BUTTON_PLAY)
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define IMGVIEW_ZOOM_IN     (BUTTON_REC | BUTTON_UP)
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index c1da3a6..d03b4ad 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -211,10 +211,11 @@
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
 
-#define QUIT  BUTTON_REC
+#define QUIT  BUTTON_REW
 #define LEFT  BUTTON_LEFT
 #define RIGHT BUTTON_RIGHT
 #define FIRE  BUTTON_PLAY
+#define FIRE2 BUTTON_UP
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 
@@ -304,7 +305,11 @@
 #define ACTION_QUIT  (QUIT | RC_QUIT)
 #define ACTION_LEFT  LEFT
 #define ACTION_RIGHT RIGHT
+#ifndef FIRE2
 #define ACTION_FIRE  FIRE
+#else
+#define ACTION_FIRE  (FIRE | FIRE2)
+#endif
 
 #endif
 
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 3113f64..bd910ac 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -385,10 +385,10 @@
     {PLA_SELECT,            BUTTON_VOL_UP,                      BUTTON_NONE},
     {PLA_SELECT_REL,        BUTTON_VOL_UP|BUTTON_REL,           BUTTON_VOL_UP},
     {PLA_SELECT_REPEAT,     BUTTON_VOL_UP|BUTTON_REPEAT,        BUTTON_NONE},
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) \
+#elif  (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) \
     || (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-    {PLA_CANCEL,            BUTTON_REW,                         BUTTON_NONE},
-    {PLA_EXIT,              BUTTON_FFWD,                        BUTTON_NONE},
+    {PLA_CANCEL,            BUTTON_REW|BUTTON_REL,              BUTTON_REW},
+    {PLA_EXIT,              BUTTON_REW|BUTTON_REPEAT,           BUTTON_NONE},
     {PLA_SELECT,            BUTTON_PLAY,                        BUTTON_NONE},
     {PLA_SELECT_REL,        BUTTON_PLAY|BUTTON_REL,             BUTTON_PLAY},
     {PLA_SELECT_REPEAT,     BUTTON_PLAY|BUTTON_REPEAT,          BUTTON_NONE},
diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c
index e8014b7..0221739 100644
--- a/apps/plugins/metronome.c
+++ b/apps/plugins/metronome.c
@@ -78,8 +78,7 @@
 #define PART_MAX 10 /* maximum count of programmed parts */
 
 #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) \
- || (CONFIG_KEYPAD == SANSA_E200_PAD)  || (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) \
- || (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+ || (CONFIG_KEYPAD == SANSA_E200_PAD)  || (CONFIG_KEYPAD == SAMSUNG_YH820_PAD)
 #define MET_SYNC
 #endif
 
diff --git a/apps/plugins/midi/midiplay.c b/apps/plugins/midi/midiplay.c
index 5d3c5f6..b8516da 100644
--- a/apps/plugins/midi/midiplay.c
+++ b/apps/plugins/midi/midiplay.c
@@ -195,7 +195,7 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define BTN_QUIT         BUTTON_REC
+#define BTN_QUIT         (BUTTON_PLAY|BUTTON_REPEAT)
 #define BTN_RIGHT        BUTTON_RIGHT
 #define BTN_LEFT         BUTTON_LEFT
 #define BTN_UP           BUTTON_UP
diff --git a/apps/plugins/minesweeper.c b/apps/plugins/minesweeper.c
index 982bb8b..6250cb1 100644
--- a/apps/plugins/minesweeper.c
+++ b/apps/plugins/minesweeper.c
@@ -247,16 +247,27 @@
 CONFIG_KEYPAD == MROBE500_PAD
 #   define MINESWP_QUIT     BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD)
 #   define MINESWP_LEFT     BUTTON_LEFT
 #   define MINESWP_RIGHT    BUTTON_RIGHT
 #   define MINESWP_UP       BUTTON_UP
 #   define MINESWP_DOWN     BUTTON_DOWN
-#   define MINESWP_QUIT     BUTTON_REC
+#   define MINESWP_QUIT     (BUTTON_REW|BUTTON_REPEAT)
 #   define MINESWP_TOGGLE   BUTTON_PLAY
-#   define MINESWP_DISCOVER BUTTON_REW
-#   define MINESWP_INFO     BUTTON_FFWD
+#   define MINESWP_DISCOVER BUTTON_FFWD
+#   define MINESWP_INFO     BUTTON_REC
+
+#elif (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#   define MINESWP_LEFT     BUTTON_LEFT
+#   define MINESWP_RIGHT    BUTTON_RIGHT
+#   define MINESWP_UP       BUTTON_UP
+#   define MINESWP_DOWN     BUTTON_DOWN
+#   define MINESWP_QUIT     (BUTTON_REW|BUTTON_REPEAT)
+#   define MINESWP_TOGGLE   (BUTTON_PLAY|BUTTON_REL)
+#   define MINESWP_TOGGLE_PRE BUTTON_PLAY
+#   define MINESWP_DISCOVER BUTTON_FFWD
+#   define MINESWP_INFO     (BUTTON_PLAY|BUTTON_REPEAT)
+#   define MINESWP_INFO_PRE BUTTON_PLAY
 
 #elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
 #   define MINESWP_LEFT     BUTTON_PREV
@@ -788,7 +799,7 @@
 {
     int i, j;
     int button;
-#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE)
+#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE) || defined(MINESWP_INFO_PRE)
     int lastbutton = BUTTON_NONE;
 #endif
 
@@ -977,6 +988,10 @@
             /* show how many mines you think you have found and how many
              * there really are on the game */
             case MINESWP_INFO:
+#ifdef MINESWP_INFO_PRE
+                if( lastbutton != MINESWP_INFO_PRE )
+                    break;
+#endif
                 if( no_mines )
                     break;
                 int flags_used = count_flags();
@@ -996,7 +1011,7 @@
                     return MINESWEEPER_USB;
                 break;
         }
-#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE)
+#if defined(HAVE_TOUCHSCREEN) || defined(MINESWP_TOGGLE_PRE) || defined(MINESWP_INFO_PRE)
         if( button != BUTTON_NONE )
             lastbutton = button;
 #endif
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 1a9636e..1f49d4e 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -211,9 +211,7 @@
 #define MPEG_START_TIME_RIGHT       BUTTON_RIGHT
 #define MPEG_START_TIME_UP          BUTTON_UP
 #define MPEG_START_TIME_DOWN        BUTTON_DOWN
-#define MPEG_START_TIME_LEFT2       BUTTON_REW
-#define MPEG_START_TIME_RIGHT2      BUTTON_FFWD
-#define MPEG_START_TIME_EXIT        BUTTON_REC
+#define MPEG_START_TIME_EXIT        BUTTON_REW
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define MPEG_START_TIME_SELECT      BUTTON_PLAY
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 66da5d5..712e648 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -319,13 +319,14 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define MPEG_MENU       BUTTON_LEFT
-#define MPEG_STOP       BUTTON_RIGHT
-#define MPEG_PAUSE      BUTTON_PLAY
+#define MPEG_MENU       BUTTON_REW
+#define MPEG_STOP       (BUTTON_PLAY | BUTTON_REPEAT)
+#define MPEG_PAUSE      (BUTTON_PLAY | BUTTON_REL)
 #define MPEG_VOLDOWN    BUTTON_DOWN
 #define MPEG_VOLUP      BUTTON_UP
-#define MPEG_RW         BUTTON_REW
-#define MPEG_FF         BUTTON_FFWD
+#define MPEG_RW         BUTTON_LEFT
+#define MPEG_FF         BUTTON_RIGHT
+#define MPEG_SHOW_OSD   BUTTON_FFWD
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define MPEG_MENU       BUTTON_MENU
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index a0b976f..344a40f 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -349,18 +349,31 @@
 #elif CONFIG_KEYPAD == MROBE500_PAD
 #define OSCILLOSCOPE_QUIT            BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define OSCILLOSCOPE_QUIT            BUTTON_REC
-#define OSCILLOSCOPE_DRAWMODE        (BUTTON_PLAY|BUTTON_LEFT)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define OSCILLOSCOPE_QUIT            BUTTON_REW
+#define OSCILLOSCOPE_DRAWMODE        BUTTON_FFWD
 #define OSCILLOSCOPE_ADVMODE         (BUTTON_PLAY|BUTTON_RIGHT)
 #define OSCILLOSCOPE_ORIENTATION     (BUTTON_PLAY|BUTTON_UP)
-#define OSCILLOSCOPE_PAUSE           (BUTTON_PLAY|BUTTON_DOWN)
+#define OSCILLOSCOPE_GRAPHMODE       (BUTTON_PLAY|BUTTON_LEFT)
+#define OSCILLOSCOPE_PAUSE_PRE       BUTTON_PLAY
+#define OSCILLOSCOPE_PAUSE           (BUTTON_PLAY|BUTTON_REL)
 #define OSCILLOSCOPE_SPEED_UP        BUTTON_RIGHT
 #define OSCILLOSCOPE_SPEED_DOWN      BUTTON_LEFT
 #define OSCILLOSCOPE_VOL_UP          BUTTON_UP
 #define OSCILLOSCOPE_VOL_DOWN        BUTTON_DOWN
-/* Need GRAPHMODE */
+#define NEED_LASTBUTTON
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define OSCILLOSCOPE_QUIT            BUTTON_REW
+#define OSCILLOSCOPE_DRAWMODE        BUTTON_FFWD
+#define OSCILLOSCOPE_ADVMODE         (BUTTON_REC|BUTTON_RIGHT)
+#define OSCILLOSCOPE_ORIENTATION     (BUTTON_REC|BUTTON_UP)
+#define OSCILLOSCOPE_GRAPHMODE       (BUTTON_REC|BUTTON_LEFT)
+#define OSCILLOSCOPE_PAUSE           BUTTON_PLAY
+#define OSCILLOSCOPE_SPEED_UP        BUTTON_RIGHT
+#define OSCILLOSCOPE_SPEED_DOWN      BUTTON_LEFT
+#define OSCILLOSCOPE_VOL_UP          BUTTON_UP
+#define OSCILLOSCOPE_VOL_DOWN        BUTTON_DOWN
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define OSCILLOSCOPE_QUIT            BUTTON_REC
diff --git a/apps/plugins/pacbox/pacbox.c b/apps/plugins/pacbox/pacbox.c
index efba47b..cc5b5ef 100644
--- a/apps/plugins/pacbox/pacbox.c
+++ b/apps/plugins/pacbox/pacbox.c
@@ -391,6 +391,9 @@
 #ifdef PACMAN_RC_MENU
             || status == PACMAN_RC_MENU
 #endif
+#ifdef PACMAN_MENU2
+            || status == PACMAN_MENU2
+#endif
         ) {
             bool menu_res;
 
diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h
index 34de08f..5fcb51e 100644
--- a/apps/plugins/pacbox/pacbox.h
+++ b/apps/plugins/pacbox/pacbox.h
@@ -232,8 +232,19 @@
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
 #define PACMAN_MENU     BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+
+#define PACMAN_UP       BUTTON_UP
+#define PACMAN_DOWN     BUTTON_DOWN
+#define PACMAN_LEFT     BUTTON_LEFT
+#define PACMAN_RIGHT    BUTTON_RIGHT
+#define PACMAN_1UP      BUTTON_FFWD
+#define PACMAN_2UP      BUTTON_REW
+#define PACMAN_COIN     BUTTON_PLAY
+#define PACMAN_MENU     BUTTON_REC_SW_ON
+#define PACMAN_MENU2    BUTTON_REC_SW_OFF
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
 
 #define PACMAN_UP       BUTTON_UP
 #define PACMAN_DOWN     BUTTON_DOWN
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c
index 25f374b..5820d54 100644
--- a/apps/plugins/pegbox.c
+++ b/apps/plugins/pegbox.c
@@ -414,23 +414,39 @@
 
 #define QUIT_TEXT "POWER"
 
-#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD || \
-CONFIG_KEYPAD == SAMSUNG_YH920_PAD
-#define PEGBOX_QUIT     BUTTON_REC
-#define PEGBOX_RESTART  BUTTON_REW
-#define PEGBOX_LVL_UP   (BUTTON_PLAY|BUTTON_FFWD)
-#define PEGBOX_LVL_DOWN (BUTTON_PLAY|BUTTON_REW)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define PEGBOX_QUIT     BUTTON_REW
+#define PEGBOX_RESTART  BUTTON_FFWD
+#define PEGBOX_LVL_UP   (BUTTON_PLAY|BUTTON_UP)
+#define PEGBOX_LVL_DOWN (BUTTON_PLAY|BUTTON_DOWN)
 #define PEGBOX_UP       BUTTON_UP
 #define PEGBOX_DOWN     BUTTON_DOWN
 #define PEGBOX_RIGHT    BUTTON_RIGHT
 #define PEGBOX_LEFT     BUTTON_LEFT
 #define PEGBOX_SELECT   BUTTON_PLAY
 
-#define QUIT_TEXT "REC"
-#define RESTART_TEXT "REW"
-#define LVL_UP_TEXT "PLAY+FFWD"
-#define LVL_DOWN_TEXT "PLAY+REW"
-#define SELECT_TEXT "PLAY"
+#define QUIT_TEXT       "REW"
+#define RESTART_TEXT    "FFWD"
+#define LVL_UP_TEXT     "PLAY+UP"
+#define LVL_DOWN_TEXT   "PLAY+DOWN"
+#define SELECT_TEXT     "PLAY"
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define PEGBOX_QUIT     BUTTON_REW
+#define PEGBOX_RESTART  BUTTON_FFWD
+#define PEGBOX_LVL_UP   (BUTTON_REC|BUTTON_UP)
+#define PEGBOX_LVL_DOWN (BUTTON_REC|BUTTON_DOWN)
+#define PEGBOX_UP       BUTTON_UP
+#define PEGBOX_DOWN     BUTTON_DOWN
+#define PEGBOX_RIGHT    BUTTON_RIGHT
+#define PEGBOX_LEFT     BUTTON_LEFT
+#define PEGBOX_SELECT   BUTTON_PLAY
+
+#define QUIT_TEXT       "REW"
+#define RESTART_TEXT    "FFWD"
+#define LVL_UP_TEXT     "REC+UP"
+#define LVL_DOWN_TEXT   "REC+DOWN"
+#define SELECT_TEXT     "PLAY"
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define PEGBOX_QUIT     BUTTON_REC
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c
index 53fede1..414c191 100644
--- a/apps/plugins/pictureflow/pictureflow.c
+++ b/apps/plugins/pictureflow/pictureflow.c
@@ -61,7 +61,6 @@
 #define PF_TRACKLIST (LAST_ACTION_PLACEHOLDER + 2)
 
 #if defined(HAVE_SCROLLWHEEL) || CONFIG_KEYPAD == IRIVER_H10_PAD || \
-    CONFIG_KEYPAD == SAMSUNG_YH820_PAD || CONFIG_KEYPAD == SAMSUNG_YH920_PAD || \
     CONFIG_KEYPAD == MPIO_HD300_PAD
 #define USE_CORE_PREVNEXT
 #endif
@@ -154,9 +153,15 @@
 #elif CONFIG_KEYPAD == IRIVER_H100_PAD || CONFIG_KEYPAD == IRIVER_H300_PAD || \
     CONFIG_KEYPAD == RECORDER_PAD || CONFIG_KEYPAD == ONDIO_PAD
     {PF_QUIT,         BUTTON_OFF,                 BUTTON_NONE},
-#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD || CONFIG_KEYPAD == SAMSUNG_YH820_PAD || \
-    CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
     {PF_QUIT,         BUTTON_REC,                 BUTTON_NONE},
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD || CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+    {PF_QUIT,         BUTTON_REW|BUTTON_REPEAT,   BUTTON_REW},
+    {PF_MENU,         BUTTON_REW|BUTTON_REL,      BUTTON_REW},
+    {PF_SELECT,       BUTTON_PLAY|BUTTON_REL,     BUTTON_PLAY},
+    {PF_CONTEXT,      BUTTON_FFWD|BUTTON_REPEAT,  BUTTON_FFWD},
+    {PF_TRACKLIST,    BUTTON_FFWD|BUTTON_REL,     BUTTON_FFWD},
+    {PF_WPS,          BUTTON_PLAY|BUTTON_REPEAT,  BUTTON_PLAY},
 #endif
 #if CONFIG_KEYPAD == IAUDIO_M3_PAD
     LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD|CONTEXT_REMOTE)
diff --git a/apps/plugins/pong.c b/apps/plugins/pong.c
index e72584f..c344952 100644
--- a/apps/plugins/pong.c
+++ b/apps/plugins/pong.c
@@ -215,15 +215,22 @@
 CONFIG_KEYPAD == MROBE500_PAD
 #define PONG_QUIT BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define PONG_QUIT        BUTTON_REC
-#define PONG_PAUSE       BUTTON_PLAY
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define PONG_QUIT        (BUTTON_PLAY|BUTTON_REPEAT)
+#define PONG_PAUSE       (BUTTON_PLAY|BUTTON_REL)
 #define PONG_LEFT_UP     BUTTON_UP
 #define PONG_LEFT_DOWN   BUTTON_DOWN
 #define PONG_RIGHT_UP    BUTTON_FFWD
 #define PONG_RIGHT_DOWN  BUTTON_REW
 
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define PONG_QUIT        BUTTON_REW
+#define PONG_PAUSE       BUTTON_PLAY
+#define PONG_LEFT_UP     BUTTON_UP
+#define PONG_LEFT_DOWN   BUTTON_DOWN
+#define PONG_RIGHT_UP    BUTTON_REC
+#define PONG_RIGHT_DOWN  BUTTON_FFWD
+
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define PONG_QUIT        BUTTON_REC
 #define PONG_PAUSE       BUTTON_OK
diff --git a/apps/plugins/reversi/reversi-gui.h b/apps/plugins/reversi/reversi-gui.h
index 3932b68..001dc7b 100644
--- a/apps/plugins/reversi/reversi-gui.h
+++ b/apps/plugins/reversi/reversi-gui.h
@@ -232,13 +232,13 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define REVERSI_BUTTON_QUIT      BUTTON_REC
+#define REVERSI_BUTTON_QUIT      BUTTON_REW
 #define REVERSI_BUTTON_UP        BUTTON_UP
 #define REVERSI_BUTTON_DOWN      BUTTON_DOWN
 #define REVERSI_BUTTON_LEFT      BUTTON_LEFT
 #define REVERSI_BUTTON_RIGHT     BUTTON_RIGHT
-#define REVERSI_BUTTON_MAKE_MOVE BUTTON_FFWD
-#define REVERSI_BUTTON_MENU      BUTTON_PLAY
+#define REVERSI_BUTTON_MAKE_MOVE BUTTON_PLAY
+#define REVERSI_BUTTON_MENU      BUTTON_FFWD
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define REVERSI_BUTTON_QUIT      BUTTON_REC
diff --git a/apps/plugins/rockblox.c b/apps/plugins/rockblox.c
index 268a386..d88eabe 100644
--- a/apps/plugins/rockblox.c
+++ b/apps/plugins/rockblox.c
@@ -328,17 +328,26 @@
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
 #define ROCKBLOX_OFF           BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) ||   \
-    (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
 
-#define ROCKBLOX_OFF           BUTTON_REC
+#define ROCKBLOX_OFF           BUTTON_FFWD
 #define ROCKBLOX_ROTATE_CCW    BUTTON_UP
 #define ROCKBLOX_ROTATE_CW     BUTTON_DOWN
 #define ROCKBLOX_DOWN          BUTTON_REW
 #define ROCKBLOX_LEFT          BUTTON_LEFT
 #define ROCKBLOX_RIGHT         BUTTON_RIGHT
 #define ROCKBLOX_DROP          BUTTON_PLAY
-#define ROCKBLOX_RESTART       BUTTON_FFWD
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+
+#define ROCKBLOX_OFF           BUTTON_REW
+#define ROCKBLOX_ROTATE_CCW    BUTTON_UP
+#define ROCKBLOX_ROTATE_CW     BUTTON_DOWN
+#define ROCKBLOX_DOWN          BUTTON_FFWD
+#define ROCKBLOX_LEFT          BUTTON_LEFT
+#define ROCKBLOX_RIGHT         BUTTON_RIGHT
+#define ROCKBLOX_DROP          BUTTON_PLAY
+#define ROCKBLOX_RESTART       BUTTON_REC
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 784b551..f4ca70c 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -285,8 +285,17 @@
 #elif CONFIG_KEYPAD == ONDAVX777_PAD
         options.MENU    = BUTTON_POWER;
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+        options.UP      = BUTTON_UP;
+        options.DOWN    = BUTTON_DOWN;
+
+        options.A       = BUTTON_PLAY;
+        options.B       = BUTTON_FFWD;
+        options.START   = BUTTON_REW;
+        options.SELECT  = BUTTON_NONE;
+        options.MENU    = BUTTON_REC_SW_ON;
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
         options.UP      = BUTTON_UP;
         options.DOWN    = BUTTON_DOWN;
 
diff --git a/apps/plugins/rockpaint.c b/apps/plugins/rockpaint.c
index f3647c6..725382c 100644
--- a/apps/plugins/rockpaint.c
+++ b/apps/plugins/rockpaint.c
@@ -199,13 +199,23 @@
 #elif CONFIG_KEYPAD == MROBE500_PAD
 #define ROCKPAINT_QUIT      BUTTON_POWER
 
-#elif ( CONFIG_KEYPAD == SAMSUNG_YH820_PAD ) || \
-      ( CONFIG_KEYPAD == SAMSUNG_YH920_PAD )
-#define ROCKPAINT_QUIT      BUTTON_REC
+#elif ( CONFIG_KEYPAD == SAMSUNG_YH920_PAD )
+#define ROCKPAINT_QUIT      ( BUTTON_REW | BUTTON_REPEAT )
 #define ROCKPAINT_DRAW      BUTTON_PLAY
-#define ROCKPAINT_MENU      BUTTON_FFWD
-#define ROCKPAINT_TOOLBAR   BUTTON_REW
-#define ROCKPAINT_TOOLBAR2  ( BUTTON_REW | BUTTON_LEFT )
+#define ROCKPAINT_MENU      ( BUTTON_REW | BUTTON_REL )
+#define ROCKPAINT_TOOLBAR   BUTTON_FFWD
+#define ROCKPAINT_TOOLBAR2  ( BUTTON_FFWD | BUTTON_LEFT )
+#define ROCKPAINT_UP        BUTTON_UP
+#define ROCKPAINT_DOWN      BUTTON_DOWN
+#define ROCKPAINT_LEFT      BUTTON_LEFT
+#define ROCKPAINT_RIGHT     BUTTON_RIGHT
+
+#elif ( CONFIG_KEYPAD == SAMSUNG_YH820_PAD )
+#define ROCKPAINT_QUIT      ( BUTTON_REW | BUTTON_REPEAT )
+#define ROCKPAINT_DRAW      BUTTON_PLAY
+#define ROCKPAINT_MENU      ( BUTTON_REW | BUTTON_REL )
+#define ROCKPAINT_TOOLBAR   BUTTON_FFWD
+#define ROCKPAINT_TOOLBAR2  BUTTON_REC
 #define ROCKPAINT_UP        BUTTON_UP
 #define ROCKPAINT_DOWN      BUTTON_DOWN
 #define ROCKPAINT_LEFT      BUTTON_LEFT
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index d4dd01f..82017bc 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -221,12 +221,12 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define PUZZLE_QUIT    BUTTON_REC
+#define PUZZLE_QUIT    BUTTON_REW
 #define PUZZLE_LEFT    BUTTON_LEFT
 #define PUZZLE_RIGHT   BUTTON_RIGHT
 #define PUZZLE_UP      BUTTON_UP
 #define PUZZLE_DOWN    BUTTON_DOWN
-#define PUZZLE_SHUFFLE BUTTON_REW
+#define PUZZLE_SHUFFLE BUTTON_FFWD
 #define PUZZLE_PICTURE BUTTON_PLAY
 
 #elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index a22ecf4..4f02e99 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -192,7 +192,7 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define SNAKE_QUIT      BUTTON_REC
+#define SNAKE_QUIT      BUTTON_REW
 #define SNAKE_LEFT      BUTTON_LEFT
 #define SNAKE_RIGHT     BUTTON_RIGHT
 #define SNAKE_UP        BUTTON_UP
diff --git a/apps/plugins/snake2.c b/apps/plugins/snake2.c
index 3f24b00..4f02602 100644
--- a/apps/plugins/snake2.c
+++ b/apps/plugins/snake2.c
@@ -328,7 +328,7 @@
 #define SNAKE2_RIGHT       BUTTON_RIGHT
 #define SNAKE2_UP          BUTTON_UP
 #define SNAKE2_DOWN        BUTTON_DOWN
-#define SNAKE2_QUIT        BUTTON_REC
+#define SNAKE2_QUIT        BUTTON_REW
 #define SNAKE2_PLAYPAUSE   BUTTON_PLAY
 #define SNAKE2_PLAYPAUSE_TEXT "Play"
 
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 70bc57e..76eb628 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -474,19 +474,34 @@
 #define SOKOBAN_MENU BUTTON_POWER
 #define SOKOBAN_MENU_NAME "[POWER]"
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
 #define SOKOBAN_LEFT         BUTTON_LEFT
 #define SOKOBAN_RIGHT        BUTTON_RIGHT
 #define SOKOBAN_UP           BUTTON_UP
 #define SOKOBAN_DOWN         BUTTON_DOWN
-#define SOKOBAN_MENU         BUTTON_REC
+#define SOKOBAN_MENU         BUTTON_PLAY
 #define SOKOBAN_UNDO         BUTTON_REW
-#define SOKOBAN_UNDO_PRE     (BUTTON_REW | BUTTON_LEFT)
+#define SOKOBAN_REDO         BUTTON_FFWD
+#define SOKOBAN_LEVEL_DOWN   (BUTTON_REC | BUTTON_DOWN)
+#define SOKOBAN_LEVEL_REPEAT (BUTTON_REC | BUTTON_RIGHT)
+#define SOKOBAN_LEVEL_UP     (BUTTON_REC | BUTTON_UP)
+#define SOKOBAN_QUIT_REPLAY  BUTTON_REW
+#define SOKOBAN_PAUSE        BUTTON_PLAY
+#define BUTTON_SAVE          BUTTON_PLAY
+#define BUTTON_SAVE_NAME "PLAY"
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define SOKOBAN_LEFT         BUTTON_LEFT
+#define SOKOBAN_RIGHT        BUTTON_RIGHT
+#define SOKOBAN_UP           BUTTON_UP
+#define SOKOBAN_DOWN         BUTTON_DOWN
+#define SOKOBAN_MENU         BUTTON_PLAY
+#define SOKOBAN_UNDO         BUTTON_REW
 #define SOKOBAN_REDO         BUTTON_FFWD
 #define SOKOBAN_LEVEL_DOWN   (BUTTON_PLAY | BUTTON_DOWN)
 #define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_RIGHT)
 #define SOKOBAN_LEVEL_UP     (BUTTON_PLAY | BUTTON_UP)
+#define SOKOBAN_QUIT_REPLAY  BUTTON_REW
 #define SOKOBAN_PAUSE        BUTTON_PLAY
 #define BUTTON_SAVE          BUTTON_PLAY
 #define BUTTON_SAVE_NAME "PLAY"
@@ -662,6 +677,10 @@
 #endif
 #endif
 
+#ifndef SOKOBAN_QUIT_REPLAY
+#define SOKOBAN_QUIT_REPLAY   SOKOBAN_MENU
+#endif
+
 #define SOKOBAN_FONT FONT_SYSFIXED
 
 
@@ -1413,7 +1432,7 @@
 
                 while ((button = rb->button_get(false)) || paused) {
                     switch (button) {
-                        case SOKOBAN_MENU:
+                        case SOKOBAN_QUIT_REPLAY:
                             /* Pretend the level is complete so we'll quit */
                             current_info.level.boxes_to_go = 0;
                             return true;
@@ -1602,6 +1621,20 @@
                 rb->lcd_putsxy(3, 36, "[VOL-] Previous Level");
                 rb->lcd_putsxy(3, 46, "[NEXT+PREV] Restart Level");
                 rb->lcd_putsxy(3, 56, "[VOL+] Next Level");
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+                rb->lcd_putsxy(3,  6, "[PLAY] Menu");
+                rb->lcd_putsxy(3, 16, "[REW]  Undo");
+                rb->lcd_putsxy(3, 26, "[FFWD] Redo");
+                rb->lcd_putsxy(3, 36, "[PLAY+DOWN] Previous Level");
+                rb->lcd_putsxy(3, 46, "[PLAY+RIGHT] Restart Level");
+                rb->lcd_putsxy(3, 56, "[PLAY+UP] Next Level");
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+                rb->lcd_putsxy(3,  6, "[PLAY] Menu");
+                rb->lcd_putsxy(3, 16, "[REW]  Undo");
+                rb->lcd_putsxy(3, 26, "[FFWD] Redo");
+                rb->lcd_putsxy(3, 36, "[REC+DOWN] Prev. Lvl");
+                rb->lcd_putsxy(3, 46, "[REC+RIGHT] Rest. Lvl");
+                rb->lcd_putsxy(3, 56, "[REC+UP] Next Level");
 #endif
 
 #ifdef HAVE_TOUCHSCREEN
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index d718471..c06e767 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -452,23 +452,40 @@
 CONFIG_KEYPAD == MROBE500_PAD
 #   define SOL_QUIT          BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#   define SOL_QUIT          BUTTON_REC
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#   define SOL_QUIT          BUTTON_REW
 #   define SOL_UP            BUTTON_UP
 #   define SOL_DOWN          BUTTON_DOWN
 #   define SOL_LEFT          BUTTON_LEFT
 #   define SOL_RIGHT         BUTTON_RIGHT
 #   define SOL_MOVE          BUTTON_PLAY
 #   define SOL_DRAW          BUTTON_FFWD
-#   define SOL_REM2CUR       (BUTTON_FFWD | BUTTON_LEFT)
-#   define SOL_CUR2STACK     BUTTON_REW
-#   define SOL_REM2STACK     (BUTTON_REW | BUTTON_LEFT)
+#   define SOL_REM2CUR       (BUTTON_REC | BUTTON_DOWN)
+#   define SOL_CUR2STACK     (BUTTON_REC | BUTTON_UP)
+#   define SOL_REM2STACK     (BUTTON_REC | BUTTON_RIGHT)
 #   define HK_MOVE           "PLAY"
-#   define HK_DRAW           "REW.."
-#   define HK_REM2CUR        "FFWD"
-#   define HK_CUR2STACK      "REW"
-#   define HK_REM2STACK      "FFWD.."
+#   define HK_DRAW           "FFWD"
+#   define HK_REM2CUR        "REC+DOWN"
+#   define HK_CUR2STACK      "REC+UP"
+#   define HK_REM2STACK      "REC+RIGHT"
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#   define SOL_QUIT          BUTTON_REW
+#   define SOL_UP            BUTTON_UP
+#   define SOL_DOWN          BUTTON_DOWN
+#   define SOL_LEFT          BUTTON_LEFT
+#   define SOL_RIGHT         BUTTON_RIGHT
+#   define SOL_MOVE_PRE      BUTTON_PLAY
+#   define SOL_MOVE          (BUTTON_PLAY | BUTTON_REL)
+#   define SOL_DRAW          BUTTON_FFWD
+#   define SOL_REM2CUR       (BUTTON_PLAY | BUTTON_DOWN)
+#   define SOL_CUR2STACK     (BUTTON_PLAY | BUTTON_UP)
+#   define SOL_REM2STACK     (BUTTON_PLAY | BUTTON_RIGHT)
+#   define HK_MOVE           "PLAY"
+#   define HK_DRAW           "FFWD"
+#   define HK_REM2CUR        "PLAY+DOWN"
+#   define HK_CUR2STACK      "PLAY+UP"
+#   define HK_REM2STACK      "PLAY+RIGHT"
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #   define SOL_QUIT          BUTTON_REC
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index a7e9912..001cb19 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -231,8 +231,9 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+
 #define AST_PAUSE      BUTTON_FFWD
-#define AST_QUIT       BUTTON_REC
+#define AST_QUIT       BUTTON_REW
 #define AST_THRUST     BUTTON_UP
 #define AST_HYPERSPACE BUTTON_DOWN
 #define AST_LEFT       BUTTON_LEFT
@@ -240,6 +241,7 @@
 #define AST_FIRE       BUTTON_PLAY
 
 #elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD)
+
 #define AST_PAUSE      BUTTON_PLAY
 #define AST_QUIT       BUTTON_REC
 #define AST_THRUST     BUTTON_UP
diff --git a/apps/plugins/star.c b/apps/plugins/star.c
index 3cb2779..9d27432 100644
--- a/apps/plugins/star.c
+++ b/apps/plugins/star.c
@@ -391,23 +391,41 @@
 #define STAR_QUIT           BUTTON_POWER
 #define STAR_QUIT_NAME      "POWER"
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
 
-#define STAR_QUIT           BUTTON_REC
+#define STAR_QUIT           (BUTTON_REW|BUTTON_REPEAT)
 #define STAR_LEFT           BUTTON_LEFT
 #define STAR_RIGHT          BUTTON_RIGHT
 #define STAR_UP             BUTTON_UP
 #define STAR_DOWN           BUTTON_DOWN
-#define STAR_LEVEL_UP       BUTTON_FFWD
-#define STAR_LEVEL_DOWN     BUTTON_REW
+#define STAR_LEVEL_UP       (BUTTON_REC|BUTTON_UP)
+#define STAR_LEVEL_DOWN     (BUTTON_REC|BUTTON_DOWN)
 #define STAR_TOGGLE_CONTROL BUTTON_PLAY
-#define STAR_LEVEL_REPEAT   (BUTTON_REW|BUTTON_FFWD)
+#define STAR_LEVEL_REPEAT_PRE BUTTON_FFWD
+#define STAR_LEVEL_REPEAT   (BUTTON_FFWD|BUTTON_REPEAT)
 #define STAR_TOGGLE_CONTROL_NAME "PLAY"
-#define STAR_QUIT_NAME      "REC"
-#define STAR_LEVEL_UP_NAME  "FF"
-#define STAR_LEVEL_DOWN_NAME "REW"
-#define STAR_LEVEL_REPEAT_NAME "REW+FF"
+#define STAR_QUIT_NAME          "LONG REW"
+#define STAR_LEVEL_UP_NAME      "REC+UP"
+#define STAR_LEVEL_DOWN_NAME    "REC+DOWN"
+#define STAR_LEVEL_REPEAT_NAME  "LONG FFWD"
+
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+
+#define STAR_QUIT           (BUTTON_REW|BUTTON_REPEAT)
+#define STAR_LEFT           BUTTON_LEFT
+#define STAR_RIGHT          BUTTON_RIGHT
+#define STAR_UP             BUTTON_UP
+#define STAR_DOWN           BUTTON_DOWN
+#define STAR_LEVEL_UP       (BUTTON_FFWD|BUTTON_UP)
+#define STAR_LEVEL_DOWN     (BUTTON_FFWD|BUTTON_DOWN)
+#define STAR_TOGGLE_CONTROL (BUTTON_PLAY|BUTTON_REL)
+#define STAR_LEVEL_REPEAT_PRE (BUTTON_FFWD|BUTTON_REPEAT)
+#define STAR_LEVEL_REPEAT   (BUTTON_FFWD|BUTTON_REL)
+#define STAR_TOGGLE_CONTROL_NAME "PLAY"
+#define STAR_QUIT_NAME          "LONG REW"
+#define STAR_LEVEL_UP_NAME      "FFWD+UP"
+#define STAR_LEVEL_DOWN_NAME    "FFWD+DOWN"
+#define STAR_LEVEL_REPEAT_NAME  "LONG FFWD"
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 83f5893..4ad6dc0 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -225,7 +225,7 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define STOPWATCH_QUIT        BUTTON_REC
+#define STOPWATCH_QUIT        BUTTON_REW
 #define STOPWATCH_START_STOP  BUTTON_PLAY
 #define STOPWATCH_RESET_TIMER BUTTON_LEFT
 #define STOPWATCH_LAP_TIMER   BUTTON_RIGHT
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 2caa75f..634a874 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -282,16 +282,25 @@
 #elif (CONFIG_KEYPAD == ONDAVX777_PAD)
 #define SUDOKU_BUTTON_QUIT BUTTON_POWER
 
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define SUDOKU_BUTTON_QUIT     BUTTON_REC
+#elif (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
 #define SUDOKU_BUTTON_UP       BUTTON_UP
 #define SUDOKU_BUTTON_DOWN     BUTTON_DOWN
 #define SUDOKU_BUTTON_LEFT     BUTTON_LEFT
 #define SUDOKU_BUTTON_RIGHT    BUTTON_RIGHT
 #define SUDOKU_BUTTON_TOGGLE   BUTTON_FFWD
-#define SUDOKU_BUTTON_MENU     BUTTON_PLAY
-#define SUDOKU_BUTTON_POSSIBLE BUTTON_REW
+#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_REW
+#define SUDOKU_BUTTON_MENU     (BUTTON_PLAY|BUTTON_REPEAT)
+#define SUDOKU_BUTTON_POSSIBLE (BUTTON_PLAY|BUTTON_REL)
+
+#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD)
+#define SUDOKU_BUTTON_UP       BUTTON_UP
+#define SUDOKU_BUTTON_DOWN     BUTTON_DOWN
+#define SUDOKU_BUTTON_LEFT     BUTTON_LEFT
+#define SUDOKU_BUTTON_RIGHT    BUTTON_RIGHT
+#define SUDOKU_BUTTON_TOGGLE   BUTTON_FFWD
+#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_REW
+#define SUDOKU_BUTTON_MENU     BUTTON_REC
+#define SUDOKU_BUTTON_POSSIBLE BUTTON_PLAY
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 #define SUDOKU_BUTTON_QUIT     BUTTON_REC
diff --git a/apps/plugins/text_viewer/text_viewer.c b/apps/plugins/text_viewer/text_viewer.c
index 29a2e6d..c8102eb 100644
--- a/apps/plugins/text_viewer/text_viewer.c
+++ b/apps/plugins/text_viewer/text_viewer.c
@@ -98,6 +98,10 @@
                 if (lastbutton != TV_AUTOSCROLL_PRE)
                     break;
 #endif
+#ifdef TV_AUTOSCROLL2
+                /* fallthrough */
+            case TV_AUTOSCROLL2:
+#endif
                 autoscroll = !autoscroll;
                 break;
 
diff --git a/apps/plugins/text_viewer/tv_button.h b/apps/plugins/text_viewer/tv_button.h
index 7c0cfab..f476316 100644
--- a/apps/plugins/text_viewer/tv_button.h
+++ b/apps/plugins/text_viewer/tv_button.h
@@ -380,17 +380,36 @@
 #define TV_QUIT BUTTON_POWER
 #define TV_BOOKMARK (BUTTON_RIGHT|BUTTON_POWER)
 
-/* SAMSUNG YH-820 / YH-920 / YH-925 keys */
-#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
-      (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define TV_QUIT         BUTTON_REC
+/* SAMSUNG YH-920 / YH-925 keys */
+#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
+#define TV_QUIT         (BUTTON_REW|BUTTON_REPEAT)
 #define TV_SCROLL_UP    BUTTON_UP
 #define TV_SCROLL_DOWN  BUTTON_DOWN
 #define TV_SCREEN_LEFT  BUTTON_LEFT
 #define TV_SCREEN_RIGHT BUTTON_RIGHT
-#define TV_MENU         BUTTON_PLAY
-#define TV_AUTOSCROLL   BUTTON_REW
-#define TV_BOOKMARK     BUTTON_FFWD
+#define TV_MENU         BUTTON_REW
+#define TV_AUTOSCROLL   BUTTON_REC_SW_ON
+#define TV_AUTOSCROLL2  BUTTON_REC_SW_OFF
+#define TV_BOOKMARK     BUTTON_PLAY
+#define TV_LINE_UP      (BUTTON_FFWD|BUTTON_UP)
+#define TV_LINE_DOWN    (BUTTON_FFWD|BUTTON_DOWN)
+#define TV_COLUMN_LEFT  (BUTTON_FFWD|BUTTON_LEFT)
+#define TV_COLUMN_RIGHT (BUTTON_FFWD|BUTTON_RIGHT)
+
+/* SAMSUNG YH-820 keys */
+#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
+#define TV_QUIT         (BUTTON_REW|BUTTON_REPEAT)
+#define TV_SCROLL_UP    BUTTON_UP
+#define TV_SCROLL_DOWN  BUTTON_DOWN
+#define TV_SCREEN_LEFT  BUTTON_LEFT
+#define TV_SCREEN_RIGHT BUTTON_RIGHT
+#define TV_MENU         BUTTON_REW
+#define TV_AUTOSCROLL   BUTTON_FFWD
+#define TV_BOOKMARK     BUTTON_PLAY
+#define TV_LINE_UP      (BUTTON_REC|BUTTON_UP)
+#define TV_LINE_DOWN    (BUTTON_REC|BUTTON_DOWN)
+#define TV_COLUMN_LEFT  (BUTTON_REC|BUTTON_LEFT)
+#define TV_COLUMN_RIGHT (BUTTON_REC|BUTTON_RIGHT)
 
 /* Packard Bell Vibe 500 keys */
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
diff --git a/apps/plugins/vu_meter.c b/apps/plugins/vu_meter.c
index 8a9c35b..93e89bb 100644
--- a/apps/plugins/vu_meter.c
+++ b/apps/plugins/vu_meter.c
@@ -285,13 +285,13 @@
 
 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \
       (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
-#define VUMETER_QUIT       BUTTON_REC
+#define VUMETER_QUIT       BUTTON_REW
 #define VUMETER_HELP       BUTTON_PLAY
-#define VUMETER_MENU       BUTTON_REW
+#define VUMETER_MENU       BUTTON_LEFT
 #define VUMETER_UP         BUTTON_UP
 #define VUMETER_DOWN       BUTTON_DOWN
 #define LABEL_HELP "PLAY"
-#define LABEL_QUIT "REC"
+#define LABEL_QUIT "REW"
 #define LABEL_MENU "LEFT"
 #define LABEL_VOLUME "UP/DOWN"
 
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 6d5cf4b..c2125ac 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -279,8 +279,8 @@
 #define BTN_DIR_LEFT   BUTTON_LEFT
 #define BTN_DIR_RIGHT  BUTTON_RIGHT
 #define BTN_STARTPAUSE BUTTON_PLAY
-#define BTN_QUIT       BUTTON_REC
-#define BTN_STOPRESET  BUTTON_REW
+#define BTN_QUIT       BUTTON_REW
+#define BTN_STOPRESET  BUTTON_FFWD
 
 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
 
diff --git a/apps/plugins/xobox.c b/apps/plugins/xobox.c
index 68c3272..4e98c62 100644
--- a/apps/plugins/xobox.c
+++ b/apps/plugins/xobox.c
@@ -235,7 +235,7 @@
 #elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD || \
       CONFIG_KEYPAD == SAMSUNG_YH920_PAD
 
-#define QUIT  BUTTON_REC
+#define QUIT  BUTTON_REW
 #define LEFT  BUTTON_LEFT
 #define RIGHT BUTTON_RIGHT
 #define UP    BUTTON_UP
diff --git a/firmware/target/arm/samsung/button-target.h b/firmware/target/arm/samsung/button-target.h
index 400c4ed..5ccf2ad 100644
--- a/firmware/target/arm/samsung/button-target.h
+++ b/firmware/target/arm/samsung/button-target.h
@@ -39,9 +39,22 @@
 #define BUTTON_PLAY         0x00000010
 #define BUTTON_REW          0x00000020
 #define BUTTON_FFWD         0x00000040
+#if defined(SAMSUNG_YH820) /* YH820 has record button */
 #define BUTTON_REC          0x00000080
+#else /* virtual buttons for record switch state change on YH92x */
+#define BUTTON_REC_SW_ON    0x00000080
+#define BUTTON_REC_SW_OFF   0x00000100
+/* TODO: most of the plugin keymaps rely on the REC button,
+   so I kept the following line to prevent compile errors.
+   This line has to be removed as soon as all plugin keymaps are fixed! */
+#define BUTTON_REC          0x00000200
+#endif
 
+#if defined(SAMSUNG_YH820)
 #define BUTTON_MAIN         0x000000ff
+#else
+#define BUTTON_MAIN         0x000001ff
+#endif
 
 #define BUTTON_RC_PLUS      BUTTON_UP
 #define BUTTON_RC_MINUS     BUTTON_DOWN
diff --git a/firmware/target/arm/samsung/button-yh82x_yh92x.c b/firmware/target/arm/samsung/button-yh82x_yh92x.c
index 2874a4a..ff8a580 100644
--- a/firmware/target/arm/samsung/button-yh82x_yh92x.c
+++ b/firmware/target/arm/samsung/button-yh82x_yh92x.c
@@ -20,12 +20,15 @@
  ****************************************************************************/
 
 #include "system.h"
+#include "kernel.h"
 #include "button.h"
 #include "backlight.h"
 #if defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925)
+#include "powermgmt.h"
 #include "adc.h"
 
 static int int_btn = BUTTON_NONE;
+static unsigned int rec_switch;
 
 void button_init_device(void)
 {
@@ -44,6 +47,9 @@
     /* remote PLAY */
     GPIOD_ENABLE |= 0x02;
     GPIOD_OUTPUT_EN &= ~0x02;
+
+    /* current record switch state */
+    rec_switch = ~GPIOA_INPUT_VAL & 0x40;
 }
 
 /* Remote buttons */
@@ -117,7 +123,24 @@
         if (~GPIOA_INPUT_VAL & 0x08) btn |= BUTTON_DOWN;
         if (~GPIOA_INPUT_VAL & 0x02) btn |= BUTTON_FFWD;
         if (~GPIOA_INPUT_VAL & 0x80) btn |= BUTTON_REW;
+#if defined(SAMSUNG_YH820)
         if (~GPIOA_INPUT_VAL & 0x40) btn |= BUTTON_REC;
+#else
+        if ((~GPIOA_INPUT_VAL & 0x40) != rec_switch)
+        {
+            if (rec_switch) {
+                queue_post(&button_queue,BUTTON_REC_SW_OFF,0);
+                queue_post(&button_queue,BUTTON_REC_SW_OFF|BUTTON_REL,0);
+            }
+            else {
+                queue_post(&button_queue,BUTTON_REC_SW_ON,0);
+                queue_post(&button_queue,BUTTON_REC_SW_ON|BUTTON_REL,0);
+            }
+            rec_switch = ~GPIOA_INPUT_VAL & 0x40;
+            backlight_on();
+            reset_poweroff_timer();
+        }
+#endif
 #if defined(SAMSUNG_YH820)
         if ( GPIOB_INPUT_VAL & 0x80) btn |= BUTTON_PLAY;
 #elif defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925)
diff --git a/manual/configure_rockbox/sound_settings.tex b/manual/configure_rockbox/sound_settings.tex
index 3ac346d..caebd3c 100644
--- a/manual/configure_rockbox/sound_settings.tex
+++ b/manual/configure_rockbox/sound_settings.tex
@@ -502,7 +502,7 @@
       \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,MROBE100_PAD,SANSA_CLIP_PAD}{\ButtonPower}
       \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
       \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
-      \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+      \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
       \opt{touchscreen}{\TouchTopLeft
           \opt{COWON_D2_PAD}{/ \ButtonPower}}
           &
diff --git a/manual/platform/keymap-yh820.tex b/manual/platform/keymap-yh820.tex
index 47f5aca..9e775d7 100644
--- a/manual/platform/keymap-yh820.tex
+++ b/manual/platform/keymap-yh820.tex
@@ -20,7 +20,7 @@
 \newcommand{\ActionStdMenu}{Long \ButtonLeft{}+Long \ButtonUp}
 \newcommand{\ActionStdContext}{Long \ButtonRight}
 \newcommand{\ActionStdQuickScreen}{Long \ButtonLeft{}+Long \ButtonDown}
-\newcommand{\ActionQuickScreenExit}{\ButtonPlay{} or \ButtonFF}
+\newcommand{\ActionQuickScreenExit}{\ButtonPlay{} or \ButtonRew}
 \newcommand{\ActionStdRec}{Long \ButtonRec}
 %a button without harmful side effects for USB charging
 \newcommand{\ActionStdUsbCharge}{\ButtonRew}
@@ -40,9 +40,9 @@
 \newcommand{\ActionWpsPlaylist}{Long \ButtonLeft}
 \newcommand{\ActionWpsMenu}{\ButtonLeft}
 \newcommand{\ActionWpsQuickScreen}{Long \ButtonLeft{}+Long \ButtonDown}
-\newcommand{\ActionWpsAbSetBNextDir}{\ButtonPlay{} + \ButtonRight}
-\newcommand{\ActionWpsAbSetAPrevDir}{\ButtonPlay{} + \ButtonLeft}
-\newcommand{\ActionWpsAbReset}{\ButtonPlay{} + \ButtonUp}
+\newcommand{\ActionWpsAbSetBNextDir}{\ButtonRec{}+\ButtonFF}
+\newcommand{\ActionWpsAbSetAPrevDir}{\ButtonRec{}+\ButtonRew}
+\newcommand{\ActionWpsAbReset}{\ButtonRec{}+\ButtonPlay}
 
 %Button actions, tree context
 \newcommand{\ActionTreeWps}{\ButtonPlay}
@@ -52,7 +52,7 @@
 \newcommand{\ActionTreeHotkey}{\ButtonRec}
 
 %Button actions, YesNo context
-\newcommand{\ActionYesNoAccept}{\ButtonRight}
+\newcommand{\ActionYesNoAccept}{\ButtonPlay}
 
 %Button actions, Setting context
 \newcommand{\ActionSettingInc}{\ButtonUp}
@@ -68,14 +68,14 @@
 \newcommand{\ActionKbdLeft}{\ButtonLeft}
 \newcommand{\ActionKbdRight}{\ButtonRight}
 \newcommand{\ActionKbdSelect}{\ButtonPlay}
-\newcommand{\ActionKbdDone}{\ButtonFF}
-\newcommand{\ActionKbdAbort}{\ButtonFF{}+\ButtonRew{} or \ButtonRec}
+\newcommand{\ActionKbdDone}{Long \ButtonFF}
+\newcommand{\ActionKbdAbort}{Long \ButtonRew}
 \newcommand{\ActionKbdUp}{\ButtonUp}
 \newcommand{\ActionKbdDown}{\ButtonDown}
-\newcommand{\ActionKbdCursorLeft}{\ButtonFF{}+\ButtonLeft}
-\newcommand{\ActionKbdCursorRight}{\ButtonFF{}+\ButtonRight}
-\newcommand{\ActionKbdBackSpace}{\ButtonRew}
-\newcommand{\ActionKbdMorseInput}{Long \ButtonFF}
+\newcommand{\ActionKbdCursorLeft}{\ButtonRec{}+\ButtonLeft}
+\newcommand{\ActionKbdCursorRight}{\ButtonRec{}+\ButtonRight}
+\newcommand{\ActionKbdBackSpace}{\ButtonRew{} or \ButtonRec{}+\ButtonRew}
+\newcommand{\ActionKbdMorseInput}{\ButtonRec{}+\ButtonFF}
 \newcommand{\ActionKbdMorseSelect}{\ButtonPlay}
 
 %Button actions, Pitch Screen context
@@ -91,9 +91,9 @@
 
 %Button actions, Recording screen context
 \newcommand{\ActionRecNewfile}{\ButtonFF}
-\newcommand{\ActionRecMenu}{\ButtonRew}
+\newcommand{\ActionRecMenu}{Long \ButtonRew}
 \newcommand{\ActionRecPause}{\ButtonPlay}
-\newcommand{\ActionRecExit}{Long \ButtonRew{} or \ButtonRec}
+\newcommand{\ActionRecExit}{\ButtonRew{} or \ButtonRec}
 \newcommand{\ActionRecSettingsInc}{\ButtonRight}
 \newcommand{\ActionRecSettingsDec}{\ButtonLeft}
 \newcommand{\ActionRecPrev}{\ButtonUp}
diff --git a/manual/platform/keymap-yh92x.tex b/manual/platform/keymap-yh92x.tex
index 47f5aca..f8a9aa3 100644
--- a/manual/platform/keymap-yh92x.tex
+++ b/manual/platform/keymap-yh92x.tex
@@ -7,7 +7,10 @@
 \newcommand{\ButtonDown}{\btnfnt{Down}}
 \newcommand{\ButtonRew}{\btnfnt{Rewind}}
 \newcommand{\ButtonFF}{\btnfnt{Forward}}
+% this is still needed for the QuickStart/Player's Controls section
 \newcommand{\ButtonRec}{\btnfnt{Rec}}
+\newcommand{\ButtonRecOn}{\btnfnt{\btnfnt{Rec}$\rightarrow$on}}
+\newcommand{\ButtonRecOff}{\btnfnt{\btnfnt{Rec}$\rightarrow$off}}
 \newcommand{\ButtonHold}{\btnfnt{Hold}}
 
 %Button actions, standard context
@@ -20,8 +23,8 @@
 \newcommand{\ActionStdMenu}{Long \ButtonLeft{}+Long \ButtonUp}
 \newcommand{\ActionStdContext}{Long \ButtonRight}
 \newcommand{\ActionStdQuickScreen}{Long \ButtonLeft{}+Long \ButtonDown}
-\newcommand{\ActionQuickScreenExit}{\ButtonPlay{} or \ButtonFF}
-\newcommand{\ActionStdRec}{Long \ButtonRec}
+\newcommand{\ActionQuickScreenExit}{\ButtonPlay{} or \ButtonRew}
+\newcommand{\ActionStdRec}{\ButtonRecOn}
 %a button without harmful side effects for USB charging
 \newcommand{\ActionStdUsbCharge}{\ButtonRew}
 
@@ -36,23 +39,23 @@
 \newcommand{\ActionWpsVolUp}{\ButtonUp}
 \newcommand{\ActionWpsBrowse}{\ButtonRight}
 \newcommand{\ActionWpsContext}{Long \ButtonRight}
-\newcommand{\ActionWpsHotkey}{\ButtonRec}
+\newcommand{\ActionWpsHotkey}{Long \ButtonRight{}+Long \ButtonDown}
 \newcommand{\ActionWpsPlaylist}{Long \ButtonLeft}
 \newcommand{\ActionWpsMenu}{\ButtonLeft}
 \newcommand{\ActionWpsQuickScreen}{Long \ButtonLeft{}+Long \ButtonDown}
-\newcommand{\ActionWpsAbSetBNextDir}{\ButtonPlay{} + \ButtonRight}
-\newcommand{\ActionWpsAbSetAPrevDir}{\ButtonPlay{} + \ButtonLeft}
-\newcommand{\ActionWpsAbReset}{\ButtonPlay{} + \ButtonUp}
+\newcommand{\ActionWpsAbSetBNextDir}{\ButtonPlay{}+\ButtonRight}
+\newcommand{\ActionWpsAbSetAPrevDir}{\ButtonPlay{}+\ButtonLeft}
+\newcommand{\ActionWpsAbReset}{\ButtonPlay{}+\ButtonUp{} or \ButtonPlay{}+\ButtonDown}
 
 %Button actions, tree context
 \newcommand{\ActionTreeWps}{\ButtonPlay}
 \newcommand{\ActionTreeStop}{Long \ButtonPlay}
 \newcommand{\ActionTreeEnter}{\ButtonRight}
 \newcommand{\ActionTreeParentDirectory}{\ButtonLeft}
-\newcommand{\ActionTreeHotkey}{\ButtonRec}
+\newcommand{\ActionTreeHotkey}{Long \ButtonRight{}+Long \ButtonDown}
 
 %Button actions, YesNo context
-\newcommand{\ActionYesNoAccept}{\ButtonRight}
+\newcommand{\ActionYesNoAccept}{\ButtonPlay}
 
 %Button actions, Setting context
 \newcommand{\ActionSettingInc}{\ButtonUp}
@@ -60,7 +63,7 @@
 
 %Button actions, Alarm screen
 \newcommand{\ActionAlarmSet}{\ButtonPlay}
-\newcommand{\ActionAlarmCancel}{Long \Buttonplay}
+\newcommand{\ActionAlarmCancel}{\ButtonRew}
 \newcommand{\ActionAlarmHoursDec}{\ButtonDown}
 \newcommand{\ActionAlarmHoursInc}{\ButtonUp}
 
@@ -68,14 +71,12 @@
 \newcommand{\ActionKbdLeft}{\ButtonLeft}
 \newcommand{\ActionKbdRight}{\ButtonRight}
 \newcommand{\ActionKbdSelect}{\ButtonPlay}
-\newcommand{\ActionKbdDone}{\ButtonFF}
-\newcommand{\ActionKbdAbort}{\ButtonFF{}+\ButtonRew{} or \ButtonRec}
+\newcommand{\ActionKbdDone}{Long \ButtonFF}
+\newcommand{\ActionKbdAbort}{Long \ButtonRew}
 \newcommand{\ActionKbdUp}{\ButtonUp}
 \newcommand{\ActionKbdDown}{\ButtonDown}
-\newcommand{\ActionKbdCursorLeft}{\ButtonFF{}+\ButtonLeft}
-\newcommand{\ActionKbdCursorRight}{\ButtonFF{}+\ButtonRight}
 \newcommand{\ActionKbdBackSpace}{\ButtonRew}
-\newcommand{\ActionKbdMorseInput}{Long \ButtonFF}
+\newcommand{\ActionKbdMorseInput}{\ButtonRecOn{} or \ButtonRecOff}
 \newcommand{\ActionKbdMorseSelect}{\ButtonPlay}
 
 %Button actions, Pitch Screen context
@@ -91,9 +92,9 @@
 
 %Button actions, Recording screen context
 \newcommand{\ActionRecNewfile}{\ButtonFF}
-\newcommand{\ActionRecMenu}{\ButtonRew}
+\newcommand{\ActionRecMenu}{Long \ButtonRew}
 \newcommand{\ActionRecPause}{\ButtonPlay}
-\newcommand{\ActionRecExit}{Long \ButtonRew{} or \ButtonRec}
+\newcommand{\ActionRecExit}{\ButtonRew{} or \ButtonRecOff}
 \newcommand{\ActionRecSettingsInc}{\ButtonRight}
 \newcommand{\ActionRecSettingsDec}{\ButtonLeft}
 \newcommand{\ActionRecPrev}{\ButtonUp}
@@ -124,6 +125,6 @@
 \newcommand{\PluginLeftRepeat}{Long \ButtonLeft}
 \newcommand{\PluginRightRepeat}{Long \ButtonRight}
 \newcommand{\PluginCancel}{\ButtonRew}
-\newcommand{\PluginExit}{\ButtonFF}
+\newcommand{\PluginExit}{Long \ButtonRew}
 \newcommand{\PluginSelect}{\ButtonPlay}
 \newcommand{\PluginSelectRepeat}{Long \ButtonPlay}
diff --git a/manual/plugins/blackjack.tex b/manual/plugins/blackjack.tex
index a7ed48b..f24c92e 100644
--- a/manual/plugins/blackjack.tex
+++ b/manual/plugins/blackjack.tex
@@ -39,9 +39,8 @@
        \opt{HAVEREMOTEKEYMAP}{& }
     & Hit (Draw new card) / Select\\
     \opt{RECORDER_PAD}{\ButtonFOne}
-    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SAMSUNG_YH92X_PAD%
-        ,SAMSUNG_YH820_PAD}{\ButtonRec}
-    \opt{IRIVER_H10_PAD}{\ButtonFF}
+    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD}{\ButtonRec}
+    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
     \opt{ONDIO_PAD,IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZE_PAD}{\ButtonRight}
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolDown}
     \opt{MROBE100_PAD}{\ButtonDisplay}
@@ -54,7 +53,7 @@
     \opt{RECORDER_PAD}{\ButtonFTwo}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_S_PAD}{\ButtonSelect}
     \opt{IAUDIO_X5_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPlay}
-    \opt{IRIVER_H10_PAD}{\ButtonRew}
+    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{GIGABEAT_PAD}{\ButtonA}
     \opt{ONDIO_PAD}{\ButtonUp}
     \opt{MROBE100_PAD}{\ButtonDown}
@@ -62,7 +61,6 @@
     \opt{COWON_D2_PAD}{\ButtonMinus}
     \opt{PBELL_VIBE500_PAD}{\ButtonMenu}
     \opt{MPIO_HD300_PAD}{\ButtonRec}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Double down\\
     \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
@@ -73,7 +71,7 @@
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{PBELL_VIBE500_PAD}{\ButtonRec}
     \opt{MPIO_HD300_PAD}{\ButtonMenu}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
         & Pause game and go to menu / Cancel\\
     \end{btnmap}
diff --git a/manual/plugins/brickmania.tex b/manual/plugins/brickmania.tex
index 2f693ea..8065a5c 100644
--- a/manual/plugins/brickmania.tex
+++ b/manual/plugins/brickmania.tex
@@ -56,7 +56,7 @@
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
     \opt{PBELL_VIBE500_PAD}{\ButtonRec}
     \opt{MPIO_HD300_PAD}{\ButtonMenu}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
           }
diff --git a/manual/plugins/calculator.tex b/manual/plugins/calculator.tex
index dd011c0..c760ab1 100644
--- a/manual/plugins/calculator.tex
+++ b/manual/plugins/calculator.tex
@@ -55,9 +55,10 @@
         & Delete last entered digit or clear after calculation\\
         %
     }
-    \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{
+    \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,SAMSUNG_YH820_PAD}{
         \opt{RECORDER_PAD}{\ButtonFTwo}
         \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec}
        \opt{HAVEREMOTEKEYMAP}{& }
         & Cycle through the 4 basic operators\\
         %
@@ -81,7 +82,8 @@
         ,MROBE100_PAD,COWON_D2_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
     \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonBack}
diff --git a/manual/plugins/calendar.tex b/manual/plugins/calendar.tex
index 96f91cf..7df655a 100644
--- a/manual/plugins/calendar.tex
+++ b/manual/plugins/calendar.tex
@@ -46,9 +46,11 @@
     \opt{GIGABEAT_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp{} / \ButtonVolDown}
     \opt{GIGABEAT_S_PAD}{\ButtonNext{} / \ButtonPrev}
     \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonUp{} / \ButtonDown}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew{} / \ButtonFF}
+    \opt{IRIVER_H10_PAD}{\ButtonRew{} / \ButtonFF}
     \opt{COWON_D2_PAD}{\TouchBottomLeft{} / \TouchBottomRight}
     \opt{PBELL_VIBE500_PAD}{\ButtonMenu{} / \ButtonPlay}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonFF{} + \ButtonUp{} / \ButtonDown}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec{} + \ButtonUp{} / \ButtonDown}
     \opt{MPIO_HD300_PAD}{\ButtonRec{} / \ButtonPlay}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack{} / \ButtonPlay}
        \opt{HAVEREMOTEKEYMAP}{& }
@@ -60,7 +62,8 @@
     \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{COWON_D2_PAD}{\ButtonPower}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Quit\\
diff --git a/manual/plugins/chess_clock.tex b/manual/plugins/chess_clock.tex
index 61badd8..9b3f385 100644
--- a/manual/plugins/chess_clock.tex
+++ b/manual/plugins/chess_clock.tex
@@ -18,11 +18,12 @@
        \opt{HAVEREMOTEKEYMAP}{& }
       & Increase / decrease displayed Value\\
     %
-    \opt{PLAYER_PAD,RECORDER_PAD,IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
+    \opt{PLAYER_PAD,RECORDER_PAD,IRIVER_H10_PAD}{\ButtonPlay}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
     \opt{ONDIO_PAD}{\ButtonRight}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
         ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}{\ButtonSelect}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight{} or \ButtonPlay}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD200_PAD}{\ButtonFunc}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
@@ -37,7 +38,7 @@
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonBack}
     \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft{} or \ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
       & Move to previous screen\\
   \end{btnmap}
@@ -63,11 +64,11 @@
     \opt{RECORDER_PAD,ONDIO_PAD}{\ButtonOff}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay}
-    \opt{IAUDIO_X5_PAD}{\ButtonRec}
+    \opt{IAUDIO_X5_PAD,PBELL_VIBE500_PAD}{\ButtonRec}
     \opt{IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& }
diff --git a/manual/plugins/chessbox.tex b/manual/plugins/chessbox.tex
index 5720faf..696da72 100644
--- a/manual/plugins/chessbox.tex
+++ b/manual/plugins/chessbox.tex
@@ -34,7 +34,7 @@
     \nopt{IPOD_4G_PAD,IPOD_3G_PAD,MPIO_HD300_PAD}{Direction keys}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Move the cursor\\
-    \opt{RECORDER_PAD}{\ButtonPlay}
+    \opt{RECORDER_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
     \opt{ONDIO_PAD}{\ButtonMenu}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD%
         ,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD%
@@ -44,7 +44,6 @@
     \opt{COWON_D2_PAD}{\TouchCenter}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Pick up / Drop piece\\
     \opt{RECORDER_PAD}{\ButtonFOne}
@@ -61,19 +60,21 @@
     \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
     \opt{MPIO_HD300_PAD}{\ButtonRec}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomRight}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew+\ButtonRight}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Change level\\
     \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
     \opt{ONDIO_PAD}{Long \ButtonMenu}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
     \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD%
-        ,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
+        ,MPIO_HD300_PAD}{\ButtonPlay}
     \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonSelect+\ButtonRight}
     \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp}
     \opt{GIGABEAT_PAD}{\ButtonA}
     \opt{COWON_D2_PAD}{Long \TouchCenter}
     \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonPlay}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonRecOn{} or \ButtonRecOff}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Force play\\
     \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
@@ -82,7 +83,7 @@
         ,MROBE100_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{COWON_D2_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD}{\ButtonMenu}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew+\ButtonLeft}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Show the menu\\
     \end{btnmap}
diff --git a/manual/plugins/chip8emulator.tex b/manual/plugins/chip8emulator.tex
index 26fba78..7a0ce7e 100644
--- a/manual/plugins/chip8emulator.tex
+++ b/manual/plugins/chip8emulator.tex
@@ -43,7 +43,8 @@
           ,GIGABEAT_PAD,MROBE100_PAD,SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}
             {\ButtonPower}
         \opt{GIGABEAT_S_PAD}{\ButtonBack}
-        \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+        \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+        \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
         \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
         \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
         \end{sideways}
@@ -51,6 +52,7 @@
         % Key "0" 
         \begin{sideways}
         \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolDown}
+        \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
         \end{sideways}
         &
         % "Key "1"
diff --git a/manual/plugins/chopper.tex b/manual/plugins/chopper.tex
index 0dfdaa3..d0296ce 100644
--- a/manual/plugins/chopper.tex
+++ b/manual/plugins/chopper.tex
@@ -8,7 +8,7 @@
     \begin{btnmap}
       \opt{RECORDER_PAD}{\ButtonPlay}%
       \opt{ONDIO_PAD}{\ButtonUp{} / \ButtonMenu}
-      \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight}
+      \opt{IRIVER_H10_PAD}{\ButtonRight}
       \opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,MROBE100_PAD%
         ,GIGABEAT_PAD,SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}
         {\ButtonSelect}
@@ -16,6 +16,7 @@
       \opt{GIGABEAT_S_PAD}{\ButtonSelect{} / \ButtonMenu}
       \opt{COWON_D2_PAD}{\ButtonPlus{} / \TouchBottomLeft}
       \opt{PBELL_VIBE500_PAD}{\ButtonPlay{} / \ButtonUp}
+      \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight{} / \ButtonUp}
       \opt{MPIO_HD300_PAD}{\ButtonEnter}
        \opt{HAVEREMOTEKEYMAP}{& }
       & Make chopper fly\\
diff --git a/manual/plugins/clix.tex b/manual/plugins/clix.tex
index 86ae2da..3e49ed5 100644
--- a/manual/plugins/clix.tex
+++ b/manual/plugins/clix.tex
@@ -37,7 +37,8 @@
       ,IAUDIO_X5_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{\ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
      & Exit \\
   \end{btnmap}
diff --git a/manual/plugins/cube.tex b/manual/plugins/cube.tex
index 4435c81..5791148 100644
--- a/manual/plugins/cube.tex
+++ b/manual/plugins/cube.tex
@@ -7,7 +7,8 @@
     \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
         ,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_S_PAD}{\ButtonSelect}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{IRIVER_H10_PAD}{\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF}
     \opt{GIGABEAT_PAD}{\ButtonA}
     \opt{MROBE100_PAD}{\ButtonDisplay}
     \opt{COWON_D2_PAD}{\TouchBottomRight}
@@ -33,7 +34,8 @@
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
     \opt{IAUDIO_X5_PAD,SANSA_FUZEPLUS_PAD}{\ButtonSelect}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{IRIVER_H10_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
     \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown}
     \opt{COWON_D2_PAD}{\TouchTopRight}
     \opt{MPIO_HD200_PAD}{\ButtonRec}
@@ -69,7 +71,8 @@
         ,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
diff --git a/manual/plugins/doom.tex b/manual/plugins/doom.tex
index 865af45..be5ad23 100644
--- a/manual/plugins/doom.tex
+++ b/manual/plugins/doom.tex
@@ -57,7 +57,8 @@
     \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
          ,GIGABEAT_PAD,GIGABEAT_S_PAD,COWON_D2_PAD}{pressing \ButtonPower}%
     \opt{SANSA_FUZE_PAD}{pressing \ButtonHome}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{pressing \ButtonRec}
+    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH820_PAD}{pressing \ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD}{flipping the \ButtonRec{} switch}
     \opt{SANSA_FUZEPLUS_PAD}{pressing \ButtonBack}
 
   \emph{New Game. } Start a new game\\
@@ -148,7 +149,8 @@
       ,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_CLIP_PAD}{\ButtonPower}
   \opt{SANSA_FUZE_PAD}{\ButtonHome}
   \opt{COWON_D2_PAD}{\TouchTopLeft}
-  \opt{PBELL_VIBE500_PAD,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+  \opt{PBELL_VIBE500_PAD,MPIO_HD300_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+  \opt{SAMSUNG_YH92X_PAD}{\ButtonRec{} switch}
   \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
        \opt{HAVEREMOTEKEYMAP}{& }
     & InGame Menu \\
@@ -160,7 +162,7 @@
   \opt{COWON_D2_PAD}{\TouchCenter}
   \opt{PBELL_VIBE500_PAD}{\ButtonPower}
   \opt{MPIO_HD300_PAD}{Long \ButtonPlay}
-  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Enter \\
 %
diff --git a/manual/plugins/flipit.tex b/manual/plugins/flipit.tex
index 4d63317..8aa8a29 100644
--- a/manual/plugins/flipit.tex
+++ b/manual/plugins/flipit.tex
@@ -17,13 +17,13 @@
        \opt{HAVEREMOTEKEYMAP}{& }
 \opt{COWON_D2_PAD}{\TouchTopMiddle{} / \TouchBottomMiddle{} / \TouchMidLeft{} / \TouchMidRight}
     & Move the cursor \\
-\opt{PLAYER_PAD,RECORDER_PAD}{\ButtonPlay}
+\opt{PLAYER_PAD,RECORDER_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
 \opt{ONDIO_PAD}{\ButtonMenu}
 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD%
     ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
     ,MROBE100_PAD,SANSA_FUZEPLUS_PAD}
     {\ButtonSelect}
-\opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+\opt{IRIVER_H10_PAD}{\ButtonRew}
 \opt{COWON_D2_PAD}{\TouchCenter}
 \opt{PBELL_VIBE500_PAD}{\ButtonOK}
 \opt{MPIO_HD300_PAD}{\ButtonEnter}
@@ -41,8 +41,8 @@
 \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonLeft}
 \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonMenu}
 \opt{COWON_D2_PAD}{\TouchTopRight}
-\opt{PBELL_VIBE500_PAD,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}%
-    {\ButtonPlay}
+\opt{PBELL_VIBE500_PAD,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPlay}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Shuffle \\
 \opt{PLAYER_PAD}{\ButtonOn+\ButtonRight}
@@ -59,7 +59,7 @@
 \opt{COWON_D2_PAD}{\TouchBottomLeft}
 \opt{PBELL_VIBE500_PAD,MPIO_HD300_PAD}{\ButtonMenu}
 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
-\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Solve \\
 \opt{PLAYER_PAD}{\ButtonOn+\ButtonPlay}
@@ -78,7 +78,7 @@
 \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
 \opt{MPIO_HD300_PAD}{\ButtonRec}
 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft}
-\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF+\ButtonUp}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Solve step by step \\
 \opt{PLAYER_PAD}{\ButtonStop}
@@ -88,7 +88,8 @@
     ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
 \opt{GIGABEAT_S_PAD}{\ButtonBack}
-\opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+\opt{PBELL_VIBE500_PAD}{\ButtonRec}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/fractals.tex b/manual/plugins/fractals.tex
index 8c4b63b..74a34fe 100644
--- a/manual/plugins/fractals.tex
+++ b/manual/plugins/fractals.tex
@@ -52,7 +52,8 @@
     \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
     \opt{MPIO_HD200_PAD}{\ButtonPlay + \ButtonVolDown}
     \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonRew}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay + \ButtonDown}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay{} + \ButtonDown}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec{} + \ButtonDown}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Decrease iteration depth (less detail)\\
@@ -70,7 +71,8 @@
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD200_PAD}{\ButtonPlay + \ButtonVolUp}
     \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonFF}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay + \ButtonUp}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay{} + \ButtonUp}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec{} + \ButtonUp}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomRight}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Increase iteration depth (more detail)\\
@@ -88,7 +90,8 @@
     \opt{COWON_D2_PAD}{\TouchCenter}
     \opt{PBELL_VIBE500_PAD}{Long \ButtonCancel}
     \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonRec}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay + \ButtonRight}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay{} + \ButtonRight}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonPlay}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Reset and return to the default image\\
@@ -99,7 +102,8 @@
         ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
diff --git a/manual/plugins/imageviewer.tex b/manual/plugins/imageviewer.tex
index 01d47f7..2d17b14 100644
--- a/manual/plugins/imageviewer.tex
+++ b/manual/plugins/imageviewer.tex
@@ -53,9 +53,9 @@
     \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
     \opt{IRIVER_H10_PAD}{\ButtonPlay}
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonVolUp}
-    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonUp}
+    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
     \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonPlay}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonUp}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonUp}
     \opt{touchscreen}{\TouchTopRight}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Zoom in\\
@@ -67,9 +67,9 @@
     \opt{IRIVER_H10_PAD}{Long \ButtonPlay}
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonVolDown}
     \opt{MROBE100_PAD}{\ButtonPlay}
-    \opt{PBELL_VIBE500_PAD}{\ButtonRec+\ButtonDown}
+    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
     \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonRec}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonDown}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonDown}
     \opt{touchscreen}{\TouchTopLeft}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Zoom out\\
@@ -110,10 +110,13 @@
     \opt{touchscreen}{\TouchBottomLeft}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Previous image in directory\\
-    \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD}{%currently only defined for the sansa pads
+    \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD%
+      ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{%currently only defined for the sansa pads and samsung yh*
        \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonRec}
        \opt{SANSA_CLIP_PAD}{\ButtonHome}
        \opt{SANSA_FUZEPLUS_PAD}{\ButtonPlay}
+       \opt{SAMSUNG_YH92X_PAD}{\ButtonRec\ switch}
+       \opt{SAMSUNG_YH820_PAD}{Long \ButtonPlay}
          \opt{HAVEREMOTEKEYMAP}{& }
         & Toggle slide show mode\\
     }
@@ -140,7 +143,7 @@
         \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
         \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
         \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
-        \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonPlay}
             \opt{HAVEREMOTEKEYMAP}{& }
         & Quit the viewer \\
     }
diff --git a/manual/plugins/invadrox.tex b/manual/plugins/invadrox.tex
index 2f85ed5..275e13b 100644
--- a/manual/plugins/invadrox.tex
+++ b/manual/plugins/invadrox.tex
@@ -30,7 +30,8 @@
     \opt{IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,IAUDIO_X5_PAD%
         ,GIGABEAT_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_S_PAD%
         ,SANSA_FUZEPLUS_PAD}{\ButtonSelect}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
+    \opt{IRIVER_H10_PAD}{\ButtonPlay}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay{} or \ButtonUp}
     \opt{COWON_D2_PAD}{\TouchBottomMiddle, \TouchCenter{} or \ButtonMenu}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
@@ -43,7 +44,8 @@
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
     \opt{COWON_D2_PAD}{\TouchTopLeft{} or \ButtonPower}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Quit\\
 \end{btnmap}
diff --git a/manual/plugins/metronome.tex b/manual/plugins/metronome.tex
index 760507e..fca34eb 100644
--- a/manual/plugins/metronome.tex
+++ b/manual/plugins/metronome.tex
@@ -46,7 +46,7 @@
         \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown}
         & Adjust volume \\
 
-    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD}{
+    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD,SAMSUNG_YH820_PAD}{
       \ButtonRec
         \opt{HAVEREMOTEKEYMAP}{& }
         & Sync tap \\}
@@ -103,7 +103,7 @@
         \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown}
         & Adjust volume \\
 
-    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD}{
+    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD,SAMSUNG_YH820_PAD}{
       \ButtonRec
         \opt{HAVEREMOTEKEYMAP}{& }
         & Sync tap \\}
diff --git a/manual/plugins/midiplay.tex b/manual/plugins/midiplay.tex
index 6d28f71..938762a 100644
--- a/manual/plugins/midiplay.tex
+++ b/manual/plugins/midiplay.tex
@@ -51,7 +51,8 @@
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,IAUDIO_X5_PAD%
         ,IRIVER_H10_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonPlay}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& }
diff --git a/manual/plugins/minesweeper.tex b/manual/plugins/minesweeper.tex
index 5b1f75f..307f4c8 100644
--- a/manual/plugins/minesweeper.tex
+++ b/manual/plugins/minesweeper.tex
@@ -51,7 +51,8 @@
   \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD%
       ,SANSA_FUZE_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonSelect}
   \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonSelect}
-  \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+  \opt{IRIVER_H10_PAD}{\ButtonRew}
+  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
   \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{Long \ButtonSelect{} / \ButtonVolUp}
   \opt{COWON_D2_PAD}{\TouchBottomLeft}
   \opt{PBELL_VIBE500_PAD}{\ButtonOK}
@@ -63,7 +64,7 @@
   \opt{ONDIO_PAD}{Long \ButtonMenu+\ButtonOff}
   \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
   \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
-  \opt{IAUDIO_X5_PAD}{\ButtonRec}
+  \opt{IAUDIO_X5_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
   \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonSelect+\ButtonUp}
   \opt{SANSA_E200_PAD}{Long \ButtonRec}
   \opt{SANSA_FUZE_PAD}{\ButtonScrollBack}
@@ -72,7 +73,7 @@
   \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}
   \opt{COWON_D2_PAD}{\TouchBottomRight}
   \opt{MPIO_HD300_PAD}{\ButtonMenu}
-  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+  \opt{SAMSUNG_YH92X_PAD}{Long \ButtonPlay}
        \opt{HAVEREMOTEKEYMAP}{& }
   & Display the current game status \\
   %
@@ -82,7 +83,8 @@
   \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
   \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
   \opt{GIGABEAT_S_PAD}{\ButtonBack}
-  \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+  \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
   \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/mpegplayer.tex b/manual/plugins/mpegplayer.tex
index b364ace..4c406a6 100644
--- a/manual/plugins/mpegplayer.tex
+++ b/manual/plugins/mpegplayer.tex
@@ -22,8 +22,10 @@
         \ButtonRight{} or \ButtonVolUp}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Adjust volume up / down\\
-    \nopt{GIGABEAT_S_PAD,GIGABEAT_PAD}{\ActionWpsSkipPrev{} / \ActionWpsSkipNext}
+    \nopt{GIGABEAT_S_PAD,GIGABEAT_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{%
+          \ActionWpsSkipPrev{} / \ActionWpsSkipNext}
     \opt{GIGABEAT_S_PAD,GIGABEAT_PAD}{\ButtonUp{} / \ButtonDown}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft{} / \ButtonRight}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Rewind / Fast Forward\\
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
@@ -31,7 +33,7 @@
         {\ButtonMenu}
     \opt{IAUDIO_X5_PAD}{\ButtonRec}
     \opt{IRIVER_H10_PAD}{\ButtonRew}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonSelect}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Open the MPEG Player menu\\
diff --git a/manual/plugins/oscilloscope.tex b/manual/plugins/oscilloscope.tex
index b9a1090..554e51c 100644
--- a/manual/plugins/oscilloscope.tex
+++ b/manual/plugins/oscilloscope.tex
@@ -23,7 +23,7 @@
     \opt{COWON_D2_PAD}{\TouchTopMiddle}
     \opt{MPIO_HD200_PAD}{\ButtonFunc}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonLeft}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Toggle filled / curve / plot \\
     \opt{RECORDER_PAD}{\ButtonFTwo}
@@ -39,7 +39,8 @@
     \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
     \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonRec}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonRight}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonRight}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonRight}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Toggle whether to scroll or not \\
     \opt{RECORDER_PAD}{\ButtonFThree}
@@ -56,12 +57,13 @@
     \opt{MPIO_HD200_PAD}{Long \ButtonFunc}
     \opt{MPIO_HD300_PAD}{\ButtonMenu}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonUp}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonUp}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonUp}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Toggle drawing orientation \\
     \opt{RECORDER_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD%
         ,GIGABEAT_S_PAD,PBELL_VIBE500_PAD,MPIO_HD200_PAD,MPIO_HD300_PAD%
-        ,SANSA_FUZEPLUS_PAD}%
+        ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}%
         {\ButtonPlay}
     \opt{ONDIO_PAD}{\ButtonMenu+\ButtonOff}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
@@ -70,7 +72,6 @@
     \opt{GIGABEAT_PAD}{\ButtonA}
     \opt{MROBE100_PAD}{\ButtonDisplay}
     \opt{COWON_D2_PAD}{\TouchCenter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonDown}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Pause the demo \\
     \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,PBELL_VIBE500_PAD%
@@ -90,7 +91,7 @@
         ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}
         {\ButtonRight{} / \ButtonLeft}
     \opt{COWON_D2_PAD}{\TouchMidRight\ /\ \TouchMidLeft}
-    \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonFF / \ButtonRew}
+    \opt{MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonFF{} / \ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Increase / decrease speed\\
     \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
@@ -100,8 +101,9 @@
         {\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
-    \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{MPIO_HD200_PAD}{\ButtonRec+\ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{&
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/pacbox.tex b/manual/plugins/pacbox.tex
index 01fa63d..6c4cd4e 100644
--- a/manual/plugins/pacbox.tex
+++ b/manual/plugins/pacbox.tex
@@ -97,7 +97,8 @@
     \opt{SANSA_E200_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{\ButtonHome}
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,COWON_D2_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonRec{} switch}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec}
       \opt{HAVEREMOTEKEYMAP}{& }
     & Menu\\
 \end{btnmap}
diff --git a/manual/plugins/pegbox.tex b/manual/plugins/pegbox.tex
index cee50dd..f82d064 100644
--- a/manual/plugins/pegbox.tex
+++ b/manual/plugins/pegbox.tex
@@ -54,7 +54,7 @@
     \opt{MPIO_HD200_PAD}{\ButtonRec}
     \opt{MPIO_HD300_PAD}{\ButtonMenu}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
     \opt{touchscreen}{\TouchTopRight}
         &
     \opt{HAVEREMOTEKEYMAP}{
@@ -74,7 +74,8 @@
     \opt{COWON_D2_PAD}{\TouchBottomLeft}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD200_PAD}{\ButtonPlay + \ButtonFF}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonUp}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
         &
     \opt{HAVEREMOTEKEYMAP}{
         &}
@@ -92,8 +93,9 @@
         \opt{MROBE100_PAD}{\ButtonDisplay}
         \opt{touchscreen}{\TouchBottomRight}
         \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
-        \opt{MPIO_HD200_PAD}{\ButtonPlay + \ButtonRew}
-        \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonRew}
+        \opt{MPIO_HD200_PAD}{\ButtonPlay{} + \ButtonRew}
+        \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonDown}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
             &
         \opt{HAVEREMOTEKEYMAP}{
             &}
@@ -108,7 +110,8 @@
         ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
         &
diff --git a/manual/plugins/pictureflow.tex b/manual/plugins/pictureflow.tex
index 1a32a08..5e8d6c0 100644
--- a/manual/plugins/pictureflow.tex
+++ b/manual/plugins/pictureflow.tex
@@ -24,8 +24,7 @@
 
 \subsubsection{Keys}
     \begin{btnmap}
-        \opt{scrollwheel,IRIVER_H10_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD%
-            ,SAMSUNG_YH820_PAD}{
+        \opt{scrollwheel,IRIVER_H10_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD}{%
             \ActionStdPrev{} / \ActionStdNext
                 &
             \opt{HAVEREMOTEKEYMAP}{
@@ -35,8 +34,7 @@
         }
         
         % only scroll wheel and `strip' targets use the same action in album and track list
-        \nopt{scrollwheel,IRIVER_H10_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD%
-             ,SAMSUNG_YH820_PAD}{%
+        \nopt{scrollwheel,IRIVER_H10_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD}{%
             % currently the M3 does not use buttons of the main unit which has no display
             \nopt{IAUDIO_M3_PAD,MPIO_HD200_PAD,touchscreen}{\ButtonLeft{} / \ButtonRight}
             \opt{MPIO_HD200_PAD}{FIXME}
@@ -65,7 +63,8 @@
                  ,SAMSUNG_YH820_PAD}
                  {\ButtonSelect}
             \opt{ONDIO_PAD}{\ButtonUp} 
-            \opt{IRIVER_H10_PAD,PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight} 
+            \opt{IRIVER_H10_PAD,PBELL_VIBE500_PAD}{\ButtonRight}
+            \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
             \opt{RECORDER_PAD}{\ButtonOn} 
             \opt{touchscreen}{\TouchCenter}
             \opt{SANSA_FUZE_PAD}{\ButtonRight}
@@ -78,12 +77,13 @@
             \opt{GIGABEAT_RC_PAD}{\ButtonRCFF}
             &}
         Enter track list
-            \nopt{ONDIO_PAD}{/ Play album from selected track}
+            \nopt{ONDIO_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{%
+            / Play album from selected track}
             \\
-            
-        % Ondio uses a different button in album list and track list
-        \opt{ONDIO_PAD}{
-            \ButtonMenu
+        % Ondio & Samsung YH use a different button in album list and track list
+        \opt{ONDIO_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{%
+            \opt{ONDIO_PAD}{\ButtonMenu}
+            \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
                 &
             Play album from selected track in track list
                 \\
@@ -104,7 +104,9 @@
             \\
 
         \nopt{IAUDIO_M3_PAD,SANSA_FUZEPLUS_PAD}{\ActionStdMenu}
+        \nopt{IAUDIO_M3_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ActionStdMenu}
             \opt{SANSA_FUZEPLUS_PAD}{long \ButtonSelect}
+            \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
             &
         \opt{HAVEREMOTEKEYMAP}{
             \opt{IAUDIO_M3_PAD,GIGABEAT_RC_PAD}{\ActionRCStdMenu}
@@ -119,7 +121,8 @@
             \opt{SANSA_C200_PAD,IRIVER_H10_PAD}{Long \ButtonPower}
             \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonMenu}
             \opt{SANSA_FUZE_PAD}{Long \ButtonHome} 
-            \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+            \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+            \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{long \ButtonRew}
             \opt{MPIO_HD200_PAD}{FIXME}
             \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
             \opt{touchscreen}{
diff --git a/manual/plugins/pong.tex b/manual/plugins/pong.tex
index 53dbc61..f8ea79f 100644
--- a/manual/plugins/pong.tex
+++ b/manual/plugins/pong.tex
@@ -38,25 +38,25 @@
     \opt{ONDIO_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonUp}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonRight}
-    \opt{IAUDIO_X5_PAD}{\ButtonRec}
+    \opt{IAUDIO_X5_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
     \opt{IRIVER_H10_PAD}{\ButtonRew}
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolUp}
     \opt{MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPlay}
     \opt{COWON_D2_PAD}{\TouchTopRight}
-    \opt{MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{MPIO_HD300_PAD,SAMSUNG_YH92X_PAD}{\ButtonFF}
       \opt{HAVEREMOTEKEYMAP}{& }
     & Right player up\\
     \opt{RECORDER_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonRight}
     \opt{ONDIO_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD}{\ButtonPlay}
-    \opt{IRIVER_H10_PAD}{\ButtonFF}
+    \opt{IRIVER_H10_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonVolDown}
     \opt{MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonRight}
     \opt{COWON_D2_PAD}{\TouchBottomRight}
     \opt{MPIO_HD300_PAD}{\ButtonPlay}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomRight}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonRew}
       \opt{HAVEREMOTEKEYMAP}{& }
     & Right player down\\
     \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
@@ -65,7 +65,9 @@
       ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{\ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD}{Long \ButtonPlay}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
       \opt{HAVEREMOTEKEYMAP}{& }
     & Quit\\
diff --git a/manual/plugins/rockblox.tex b/manual/plugins/rockblox.tex
index 1a17f22..56afa52 100644
--- a/manual/plugins/rockblox.tex
+++ b/manual/plugins/rockblox.tex
@@ -8,7 +8,7 @@
 the blocks fall faster. If the pile of blocks reaches the ceiling, the game is over.
 
 \begin{btnmap}
-    \nopt{SANSA_FUZEPLUS_PAD}{
+    \nopt{SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD}{
         \opt{RECORDER_PAD}{\ButtonFOne}
         \opt{PLAYER_PAD}{\ButtonStop+\ButtonMenu}
         \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
@@ -23,7 +23,7 @@
         \opt{COWON_D2_PAD}{\ButtonMenu}
         \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
         \opt{MPIO_HD300_PAD}{\ButtonRec}
-        \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec}
            \opt{HAVEREMOTEKEYMAP}{& }
             & Restart game\\
     }
@@ -57,7 +57,8 @@
     \opt{IRIVER_H10_PAD}{\ButtonScrollDown}
     \opt{COWON_D2_PAD}{\TouchBottomMiddle}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonFF}
        \opt{HAVEREMOTEKEYMAP}{& }
         & Move down\\
     \opt{PLAYER_PAD}{\ButtonOn+\ButtonPlay}
@@ -116,7 +117,9 @@
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
     \opt{COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonFF}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/rockboy.tex b/manual/plugins/rockboy.tex
index 6eafbcb..abb455c 100644
--- a/manual/plugins/rockboy.tex
+++ b/manual/plugins/rockboy.tex
@@ -101,7 +101,8 @@
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,COWON_D2_PAD,PBELL_VIBE500_PAD%
         ,MPIO_HD300_PAD}{\ButtonMenu}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonRecOn}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Open Rockboy menu\\
 \end{btnmap}
diff --git a/manual/plugins/rockpaint.tex b/manual/plugins/rockpaint.tex
index 8ecbce4..0f38edc 100644
--- a/manual/plugins/rockpaint.tex
+++ b/manual/plugins/rockpaint.tex
@@ -111,7 +111,8 @@
         \opt{IRIVER_H300_PAD}{\ButtonOff}
         \opt{GIGABEAT_S_PAD}{\ButtonBack}
         \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
-        \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+        \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+        \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
           \opt{HAVEREMOTEKEYMAP}{& }
         & Quits Rockpaint immediately.\\
     }
@@ -134,7 +135,7 @@
     \opt{IAUDIO_X5_PAD}{\ButtonPlay}%
     \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,COWON_D2_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}%
     \opt{IRIVER_H10_PAD}{\ButtonPlay}%
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}%
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}%
       \opt{HAVEREMOTEKEYMAP}{& }
     & Displays the Main Menu.\\
 
@@ -143,11 +144,13 @@
     \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonLeft}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonMenu+\ButtonLeft}
     \opt{GIGABEAT_PAD}{\ButtonA}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{IRIVER_H10_PAD}{\ButtonRew}
     \opt{GIGABEAT_S_PAD}{\ButtonPlay}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft{} or \ButtonBottomRight}
     \opt{touchscreen}{\TouchBottomLeft}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonFF{} or \ButtonRec}%
+    \opt{SAMSUNG_YH820_PAD}{\ButtonFF{} or \ButtonLeft+\ButtonFF}%
       \opt{HAVEREMOTEKEYMAP}{& }
     & Displays the toolbar.\\
 
diff --git a/manual/plugins/sliding.tex b/manual/plugins/sliding.tex
index 5e15160..b002138 100644
--- a/manual/plugins/sliding.tex
+++ b/manual/plugins/sliding.tex
@@ -34,7 +34,8 @@
   \opt{SANSA_CLIP_PAD}{\ButtonHome}
   \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonDown}
   \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonLeft}
-  \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+  \opt{IRIVER_H10_PAD}{\ButtonRew}
+  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
   \opt{COWON_D2_PAD}{\TouchBottomLeft}
   \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
   \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonPlay}
@@ -45,7 +46,7 @@
   \opt{RECORDER_PAD}{\ButtonFTwo}
   \opt{ONDIO_PAD}{\ButtonMenu}
   \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
-  \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
+  \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD}{\ButtonPlay}
   \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonRight}
   \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonSelect}
   \opt{GIGABEAT_PAD}{\ButtonA}
@@ -53,7 +54,7 @@
   \opt{GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}
   \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect}
   \opt{COWON_D2_PAD}{\TouchCenter}
-  \opt{MPIO_HD300_PAD}{\ButtonPlay}
+  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,MPIO_HD300_PAD}{\ButtonPlay}
        \opt{HAVEREMOTEKEYMAP}{& }
   & Switch between pictures (default puzzle\opt{albumart}{, album art}, and your own image if
 launched via Open With), and numbered tiles \\
@@ -64,7 +65,8 @@
   \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
   \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
   \opt{GIGABEAT_S_PAD}{\ButtonBack}
-  \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+  \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+  \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
   \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/snake.tex b/manual/plugins/snake.tex
index 80db0a6..6e969fc 100644
--- a/manual/plugins/snake.tex
+++ b/manual/plugins/snake.tex
@@ -29,7 +29,7 @@
      & Toggle Play/Pause\\
     %
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonPower}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Go to the plugin's menu\\
 \end{btnmap}
diff --git a/manual/plugins/snake2.tex b/manual/plugins/snake2.tex
index f017bd4..9801e2d 100644
--- a/manual/plugins/snake2.tex
+++ b/manual/plugins/snake2.tex
@@ -35,7 +35,8 @@
         ,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
   \opt{HAVEREMOTEKEYMAP}{& }
         & Quit\\
diff --git a/manual/plugins/sokoban.tex b/manual/plugins/sokoban.tex
index 8b0f5c2..0d65a1c 100644
--- a/manual/plugins/sokoban.tex
+++ b/manual/plugins/sokoban.tex
@@ -39,7 +39,8 @@
 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
 \opt{GIGABEAT_S_PAD,COWON_D2_PAD}{\ButtonMenu}
 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
-\opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+\opt{PBELL_VIBE500_PAD}{\ButtonRec}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
        \opt{HAVEREMOTEKEYMAP}{&
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
          }
@@ -56,8 +57,9 @@
     \opt{GIGABEAT_S_PAD}{\ButtonPrev}
     \opt{COWON_D2_PAD}{\ButtonMinus}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonLeft}
-    \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonRew}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay + \ButtonDown}
+    \opt{MPIO_HD300_PAD}{\ButtonPlay+\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonDown}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Back to previous level \\
 }
@@ -66,13 +68,14 @@
     \opt{ONDIO_PAD}{\ButtonMenu+\ButtonUp}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
     \opt{IAUDIO_X5_PAD}{\ButtonRec}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay+\ButtonRight}
+    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonRight}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonRight}
     \opt{GIGABEAT_PAD,MROBE100_PAD}{\ButtonMenu}
     \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonSelect+\ButtonRight}
     \opt{GIGABEAT_S_PAD}{\ButtonPlay}
     \opt{COWON_D2_PAD}{\TouchTopRight}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonCancel}
-    \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonEnter}
+    \opt{MPIO_HD300_PAD}{\ButtonPlay+\ButtonEnter}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Restart level \\
@@ -89,8 +92,9 @@
     \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonSelect+\ButtonUp}
     \opt{COWON_D2_PAD}{\ButtonPlus}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonRight}
-    \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonFF}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay + \ButtonUp}
+    \opt{MPIO_HD300_PAD}{\ButtonPlay+\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay+\ButtonUp}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Go to next level \\
 }
@@ -165,7 +169,8 @@
 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
 \opt{GIGABEAT_S_PAD,COWON_D2_PAD}{\ButtonMenu}
 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
-\opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+\opt{PBELL_VIBE500_PAD}{\ButtonRec}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
        \opt{HAVEREMOTEKEYMAP}{& }
     & Quit \\
 \end{btnmap}
diff --git a/manual/plugins/solitaire.tex b/manual/plugins/solitaire.tex
index cf30848..e23e92f 100644
--- a/manual/plugins/solitaire.tex
+++ b/manual/plugins/solitaire.tex
@@ -77,7 +77,8 @@
     \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
     \opt{MPIO_HD300_PAD}{\ButtonPlay}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF + \ButtonLeft}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay{} + \ButtonDown}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec{} + \ButtonDown}
        \opt{HAVEREMOTEKEYMAP}{& }
       & Put the card from the top of the remains stack on top of the cursor\\
     %
@@ -93,7 +94,8 @@
     \opt{COWON_D2_PAD}{\TouchBottomLeft}
     \opt{PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPlay}
     \opt{MPIO_HD300_PAD}{\ButtonRec}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay{} + \ButtonUp}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec{} + \ButtonUp}
        \opt{HAVEREMOTEKEYMAP}{& }
       & Put the card under the cursor on one of the 4 final colour stacks.\\
     %
@@ -109,7 +111,8 @@
     \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp}
     \opt{COWON_D2_PAD}{\TouchBottomRight}
     \opt{PBELL_VIBE500_PAD,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD}{Long \ButtonPlay}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew + \ButtonLeft}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonPlay{} + \ButtonRight}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec{} + \ButtonRight}
        \opt{HAVEREMOTEKEYMAP}{& }
       & Put the card on top of the remains stack on one of the final colour stacks.\\
     %
@@ -119,7 +122,8 @@
         ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{\ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/spacerocks.tex b/manual/plugins/spacerocks.tex
index 94324e1..aeb5342 100644
--- a/manual/plugins/spacerocks.tex
+++ b/manual/plugins/spacerocks.tex
@@ -75,7 +75,8 @@
         ,SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/star.tex b/manual/plugins/star.tex
index 511def3..3cb7f07 100644
--- a/manual/plugins/star.tex
+++ b/manual/plugins/star.tex
@@ -73,7 +73,8 @@
     \opt{COWON_D2_PAD}{\TouchBottomLeft}
     \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
     \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonRew}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonDown}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
       \opt{HAVEREMOTEKEYMAP}{& }
         & Previous level\\
     \opt{RECORDER_PAD}{\ButtonFTwo}
@@ -88,7 +89,7 @@
     \opt{COWON_D2_PAD}{\TouchBottomRight}
     \opt{MPIO_HD300_PAD}{Long \ButtonPlay}
     \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonBack}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew + \ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF}
       \opt{HAVEREMOTEKEYMAP}{& }
         & Reset level \\
     \opt{RECORDER_PAD}{\ButtonFThree}
@@ -102,7 +103,8 @@
     \opt{COWON_D2_PAD}{\TouchTopLeft}
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD300_PAD}{\ButtonPlay + \ButtonFF}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonUp}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
       \opt{HAVEREMOTEKEYMAP}{& }
         & Next level \\
     \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
@@ -111,7 +113,8 @@
         ,GIGABEAT_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
       \opt{HAVEREMOTEKEYMAP}{& 
           \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
diff --git a/manual/plugins/stopwatch.tex b/manual/plugins/stopwatch.tex
index 0903ea7..6852111 100644
--- a/manual/plugins/stopwatch.tex
+++ b/manual/plugins/stopwatch.tex
@@ -11,7 +11,8 @@
         ,MROBE100_PAD,SANSA_CLIP_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
        \opt{HAVEREMOTEKEYMAP}{& 
diff --git a/manual/plugins/sudoku.tex b/manual/plugins/sudoku.tex
index 98f241b..ecb73b1 100644
--- a/manual/plugins/sudoku.tex
+++ b/manual/plugins/sudoku.tex
@@ -57,7 +57,7 @@
     \opt{PBELL_VIBE500_PAD}{\ButtonOK}
     \opt{MPIO_HD200_PAD}{\ButtonFunc}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF{} / \ButtonRew}
   \opt{HAVEREMOTEKEYMAP}{& }
     & Change number under the cursor\\
     %
@@ -75,7 +75,7 @@
     \opt{PBELL_VIBE500_PAD}{Long \ButtonOK}
     \opt{MPIO_HD200_PAD}{Long \ButtonFunc}
     \opt{MPIO_HD300_PAD}{Long \ButtonEnter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF{} / Long \ButtonRew}
   \opt{HAVEREMOTEKEYMAP}{& }
     & Constantly changing the number under the cursor\\
     %
@@ -84,12 +84,13 @@
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD%
       ,COWON_D2_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD}{\ButtonMenu}
-    \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
+    \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD}{\ButtonPlay}
     \opt{SANSA_E200_PAD}{\ButtonSelect}
     \opt{SANSA_FUZE_PAD}{\ButtonHome}
     \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonPower}
-    \opt{MPIO_HD200_PAD}{\ButtonRec}
+    \opt{MPIO_HD200_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
+    \opt{SAMSUNG_YH92X_PAD}{Long \ButtonPlay}
   \opt{HAVEREMOTEKEYMAP}{& }
     & Open Menu\\
     %
@@ -99,12 +100,11 @@
     \opt{SANSA_CLIP_PAD}{\ButtonHome}
     \opt{SANSA_FUZE_PAD}{\ButtonSelect}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD,MPIO_HD200_PAD%
-        ,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPlay}
+        ,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
     \opt{IRIVER_H10_PAD}{\ButtonFF}
     \opt{GIGABEAT_PAD}{\ButtonA}
     \opt{MROBE100_PAD}{\ButtonDisplay}
     \opt{COWON_D2_PAD}{Long \TouchBottomLeft}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
   \opt{HAVEREMOTEKEYMAP}{& }
     & Add/Remove number to scratchpad\\
     %
@@ -112,10 +112,10 @@
     \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
       ,MROBE100_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
-    \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Menu $\rightarrow$ Quit}
+    \opt{IPOD_4G_PAD,IPOD_3G_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Menu $\rightarrow$ Quit}
     \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,COWON_D2_PAD}{Long \ButtonPower}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
-    \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{MPIO_HD200_PAD}{\ButtonRec+\ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
   \opt{HAVEREMOTEKEYMAP}{& }
     & Quit\\
diff --git a/manual/plugins/text_viewer.tex b/manual/plugins/text_viewer.tex
index d940756..7379176 100644
--- a/manual/plugins/text_viewer.tex
+++ b/manual/plugins/text_viewer.tex
@@ -49,7 +49,7 @@
     \opt{MPIO_HD300_PAD}{\ButtonRew}
     \opt{touchscreen}{\TouchMidLeft}
     \nopt{PLAYER_PAD,GIGABEAT_S_PAD,touchscreen,IAUDIO_M3_PAD,MPIO_HD200_PAD%
-         ,MPIO_HD300_PAD}{\ButtonLeft}
+         ,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft}
     \opt{HAVEREMOTEKEYMAP}{&
         \opt{IAUDIO_M3_PAD}{\ButtonRCLeft}
     }
@@ -62,7 +62,7 @@
     \opt{MPIO_HD300_PAD}{\ButtonFF}
     \opt{touchscreen}{\TouchMidRight}
     \nopt{PLAYER_PAD,GIGABEAT_S_PAD,touchscreen,IAUDIO_M3_PAD,MPIO_HD200_PAD%
-         ,MPIO_HD300_PAD}{\ButtonRight}
+         ,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight}
     \opt{HAVEREMOTEKEYMAP}{&
         \opt{IAUDIO_M3_PAD}{\ButtonRCRight}
     }
@@ -71,44 +71,54 @@
 
     \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD%
         ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD%
-        ,GIGABEAT_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD}{%
+        ,GIGABEAT_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD%
+        ,SAMSUNG_YH820_PAD}{%
         \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonUp}
         \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack}
         \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonUp}
         \opt{GIGABEAT_PAD}{\ButtonA+\ButtonUp}
         \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolUp}
+        \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonUp}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
     \opt{HAVEREMOTEKEYMAP}{& }
         & One line up\\
     }
 
     \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD%
         ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD%
-        ,GIGABEAT_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD}{%
+        ,GIGABEAT_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD%
+        ,SAMSUNG_YH820_PAD}{%
         \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonDown}
         \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollFwd}
         \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonDown}
         \opt{GIGABEAT_PAD}{\ButtonA+\ButtonDown}
         \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolDown}
+        \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonDown}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
     \opt{HAVEREMOTEKEYMAP}{& }
         & One line down\\
     }
 
     \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_PAD,%
-        GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{
+        GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{
         \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonLeft}
         \opt{GIGABEAT_S_PAD}{\ButtonLeft}
         \opt{GIGABEAT_PAD}{\ButtonA+\ButtonLeft}
         \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft}
+        \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonLeft}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonLeft}
     \opt{HAVEREMOTEKEYMAP}{& }
         & One column left\\
     }
 
     \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_PAD,%
-        GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{
+        GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{
         \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonRight}
         \opt{GIGABEAT_S_PAD}{\ButtonRight}
         \opt{GIGABEAT_PAD}{\ButtonA+\ButtonRight}
         \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomRight}
+        \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonRight}
+        \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonRight}
     \opt{HAVEREMOTEKEYMAP}{& }
         & One column right\\
     }
@@ -123,9 +133,10 @@
     \opt{SANSA_CLIP_PAD}{\ButtonHome}
     \opt{SANSA_FUZE_PAD}{\ButtonDown+\ButtonSelect}
     \opt{MROBE100_PAD}{\ButtonDisplay}
+    \opt{SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{SAMSUNG_YH92X_PAD}{\ButtonRecOn{} or \ButtonRecOff}
     \opt{MPIO_HD200_PAD}{FIXME}
     \opt{touchscreen}{\TouchCenter}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{HAVEREMOTEKEYMAP}{&
         \opt{IAUDIO_M3_PAD}{\ButtonRCMode}
     }
@@ -136,12 +147,13 @@
     \opt{ONDIO_PAD}{\ButtonMenu+\ButtonOff}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonSelect}
     \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonSelect}
-    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
+    \opt{IRIVER_H10_PAD}{\ButtonFF}
     \opt{IAUDIO_X5_PAD}{\ButtonRec}
     \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect}
     \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown+\ButtonSelect}
     \opt{COWON_D2_PAD}{\ButtonMenu+\ButtonPlus}
     \opt{SANSA_FUZE_PAD}{\ButtonUp+\ButtonSelect}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
     \opt{PBELL_VIBE500_PAD}{\ButtonPower}
     \opt{MPIO_HD200_PAD}{\ButtonRec}
     \opt{MPIO_HD300_PAD}{\ButtonEnter}
@@ -158,10 +170,9 @@
     \opt{IAUDIO_X5_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_E200_PAD}{\ButtonSelect}
     \opt{SANSA_FUZE_PAD}{Long \ButtonSelect}
     \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
-    \opt{IRIVER_H10_PAD}{\ButtonRew}
+    \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{COWON_D2_PAD}{\ButtonMenu{} / }%
     \opt{MPIO_HD200_PAD}{\ButtonFunc}
-    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
     \opt{touchscreen}{\TouchTopRight}
     \opt{HAVEREMOTEKEYMAP}{&
         \opt{IAUDIO_M3_PAD}{\ButtonRCPlay}
@@ -177,7 +188,8 @@
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
     \opt{COWON_D2_PAD}{\ButtonPower{} / }%
     \opt{touchscreen}{\TouchTopLeft}
-    \opt{IAUDIO_M3_PAD,PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{IAUDIO_M3_PAD,PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
     \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
     \opt{HAVEREMOTEKEYMAP}{&
diff --git a/manual/plugins/vumeter.tex b/manual/plugins/vumeter.tex
index 2d98682..22d5bcc 100644
--- a/manual/plugins/vumeter.tex
+++ b/manual/plugins/vumeter.tex
@@ -16,7 +16,8 @@
      ,MROBE100_PAD,COWON_D2_PAD}{\ButtonPower}
 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
 \opt{GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonBack}
-\opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+\opt{PBELL_VIBE500_PAD}{\ButtonRec}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
 \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
   \opt{HAVEREMOTEKEYMAP}{&
@@ -42,7 +43,8 @@
 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD%
      ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonSelect}
 \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect}
-\opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
+\opt{IRIVER_H10_PAD}{\ButtonRew}
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft}
 \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,COWON_D2_PAD,PBELL_VIBE500_PAD%
     ,MPIO_HD300_PAD}{\ButtonMenu}
 \opt{MPIO_HD200_PAD}{\ButtonFunc}
diff --git a/manual/plugins/wormlet.tex b/manual/plugins/wormlet.tex
index 9ccc49f..fd02fa8 100644
--- a/manual/plugins/wormlet.tex
+++ b/manual/plugins/wormlet.tex
@@ -152,7 +152,8 @@
 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect}%
 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD}{\ButtonPower}%
 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}%
-\opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}%
+\opt{PBELL_VIBE500_PAD}{\ButtonRec}%
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}%
 \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}%
 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}%
 \opt{GIGABEAT_S_PAD}{\ButtonBack}.
@@ -165,7 +166,7 @@
 \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonUp}%
 \opt{GIGABEAT_PAD}{\ButtonA}%
 \opt{PBELL_VIBE500_PAD}{\ButtonCancel}%
-\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}%
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}%
 \opt{MPIO_HD200_PAD}{Long \ButtonFunc}%
 \opt{MPIO_HD300_PAD}{Long \ButtonPlay}%
 \opt{GIGABEAT_S_PAD}{\ButtonMenu}.
@@ -177,7 +178,7 @@
 \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonUp}%
 \opt{GIGABEAT_PAD}{\ButtonA}%
 \opt{PBELL_VIBE500_PAD}{\ButtonCancel}%
-\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}%
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}%
 \opt{MPIO_HD200_PAD}{Long \ButtonFunc}%
 \opt{MPIO_HD300_PAD}{Long \ButtonPlay}%
 \opt{GIGABEAT_S_PAD}{\ButtonMenu}
@@ -187,7 +188,8 @@
 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu+\ButtonSelect}%
 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD}{\ButtonPower}%
 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
-\opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}%
+\opt{PBELL_VIBE500_PAD}{\ButtonRec}%
+\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}%
 \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}%
 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}%
 \opt{GIGABEAT_S_PAD}{\ButtonBack}. A stopped game can not be resumed. 
diff --git a/manual/plugins/xobox.tex b/manual/plugins/xobox.tex
index a678565..1be543c 100644
--- a/manual/plugins/xobox.tex
+++ b/manual/plugins/xobox.tex
@@ -41,7 +41,8 @@
         ,GIGABEAT_PAD,MROBE100_PAD,COWON_D2_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
     \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
     \opt{GIGABEAT_S_PAD}{\ButtonBack}
-    \opt{PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec}
+    \opt{PBELL_VIBE500_PAD}{\ButtonRec}
+    \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
     \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
   \opt{HAVEREMOTEKEYMAP}{& }
     & Open menu\\
diff --git a/manual/rockbox_interface/browsing_and_playing.tex b/manual/rockbox_interface/browsing_and_playing.tex
index b5d151f..9bb8fe9 100644
--- a/manual/rockbox_interface/browsing_and_playing.tex
+++ b/manual/rockbox_interface/browsing_and_playing.tex
@@ -226,7 +226,7 @@
 \begin{btnmap}
     \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,RECORDER_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
         ,MROBE100_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_FUZEPLUS_PAD%
-        ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{
+        ,SAMSUNG_YH820_PAD}{
         \ActionKbdCursorLeft{} / \ActionKbdCursorRight
             &
         \opt{HAVEREMOTEKEYMAP}{\ActionRCKbdCursorLeft{} / \ActionRCKbdCursorRight
diff --git a/manual/rockbox_interface/main.tex b/manual/rockbox_interface/main.tex
index edd0a77..f11246f 100644
--- a/manual/rockbox_interface/main.tex
+++ b/manual/rockbox_interface/main.tex
@@ -504,9 +504,8 @@
 
   There are three buttons at the top of the right hand side of the \dap{}: \ButtonFF{} on the top, 
   \ButtonPlay{} in the middle and \ButtonRew{} underneath. Below these buttons is the \ButtonRec{}
-  switch. When the \ButtonRec{} switch is moved towards the top of the \dap{}, it acts like
-  a pressing regular button, but it blocks other actions in this position, so it have to be set 
-  back by the user.
+  switch. Rockbox doesn't take note of the actual \emph{position} of the switch, but reacts to a 
+  \emph{switching movement} like pressing a regular button.
 
   On the top panel of the \dap{}, from left to right, you can find the following: headphone/remote 
   socket, line-in socket, internal microphone, and the \ButtonHold{} switch. Note that when the 
diff --git a/uisimulator/buttonmap/samsung-yh92x.c b/uisimulator/buttonmap/samsung-yh92x.c
index 995f9c8..56bae0f 100644
--- a/uisimulator/buttonmap/samsung-yh92x.c
+++ b/uisimulator/buttonmap/samsung-yh92x.c
@@ -58,8 +58,11 @@
         case SDLK_PAGEDOWN:
             new_btn = BUTTON_REW;
             break;
+        case SDLK_KP_MINUS:
+            new_btn = BUTTON_REC_SW_ON;
+            break;
         case SDLK_KP_PLUS:
-            new_btn = BUTTON_REC;
+            new_btn = BUTTON_REC_SW_OFF;
             break;
     }
     return new_btn;
@@ -70,7 +73,8 @@
     { SDLK_KP5,     369,  84, 25, "Play" },
     { SDLK_KP5,     367, 125, 27, "Play" },
     { SDLK_KP3,     369, 188, 17, "Rew" },
-    { SDLK_KP_PLUS, 370, 330, 30, "Record" },
+    { SDLK_KP_MINUS,370, 315, 15, "Rec On" },
+    { SDLK_KP_PLUS, 370, 347, 15, "Rec Off" },
     { SDLK_KP4,     146, 252, 32, "Menu" },
     { SDLK_KP8,     204, 226, 27, "Up" },
     { SDLK_KP6,     257, 250, 34, "Select" },