Index: apps/lang/english.lang =================================================================== --- apps/lang/english.lang (revision 25347) +++ apps/lang/english.lang (working copy) @@ -13462,3 +13462,20 @@ hotkey: "View Hotkey Settings" + + id: LANG_HOTKEY_PERSIST + desc: hotkey menu + user: core + + *: none + hotkey: "Hotkey Persistence" + + + *: none + hotkey: "Hotkey Persistence" + + + *: none + hotkey: "Hotkey Persistence" + + Index: apps/settings.h =================================================================== --- apps/settings.h (revision 25347) +++ apps/settings.h (working copy) @@ -817,6 +817,7 @@ #endif #ifdef HOTKEY + bool hotkey_persist; int hotkey_wps; int hotkey_wps_desc_id; int hotkey_tree; Index: apps/menus/settings_menu.c =================================================================== --- apps/menus/settings_menu.c (revision 25347) +++ apps/menus/settings_menu.c (working copy) @@ -293,14 +293,15 @@ simplelist_show_list(&info); } +MENUITEM_SETTING(hotkey_persist, &global_settings.hotkey_persist, NULL); MENUITEM_FUNCTION(hotkey_view, 0, ID2P(LANG_VIEW_HOTKEY), (int(*)(void))view_hotkey_info, NULL, NULL, Icon_NOICON); MENUITEM_FUNCTION(hotkey_reset, 0, ID2P(LANG_RESET), (int(*)(void))reset_hotkey_settings, false, NULL, Icon_NOICON); MAKE_MENU(hotkey_menu, ID2P(LANG_HOTKEY), 0, Icon_NOICON, - &hotkey_view, &hotkey_reset); + &hotkey_persist, &hotkey_view, &hotkey_reset); #endif MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), Index: apps/settings_list.c =================================================================== --- apps/settings_list.c (revision 25347) +++ apps/settings_list.c (working copy) @@ -1663,6 +1663,7 @@ #endif #ifdef HOTKEY + OFFON_SETTING(0, hotkey_persist, LANG_HOTKEY_PERSIST, true, "hotkey persistence", NULL), CHOICE_SETTING(0, hotkey_wps, 0, HOTKEY_WPS_DEFAULT, "hotkey wps", 0, NULL, 0), CHOICE_SETTING(0, hotkey_wps_desc_id, 0, HOTKEY_WPS_ID_DEFAULT, "hotkey wps desc id", 0, NULL, 0), CHOICE_SETTING(0, hotkey_tree, 0, HOTKEY_TREE_DEFAULT, "hotkey tree", 0, NULL, 0), Index: apps/main.c =================================================================== --- apps/main.c (revision 25347) +++ apps/main.c (working copy) @@ -75,6 +75,7 @@ #include "icon.h" #include "viewport.h" #include "statusbar-skinned.h" +#include "hotkey.h" #ifdef IPOD_ACCESSORY_PROTOCOL #include "iap.h" @@ -377,6 +378,10 @@ button_clear_queue(); /* Empty the keyboard buffer */ settings_apply_skins(); +#ifdef HOTKEY + if (!global_settings.hotkey_persist) + reset_hotkey_settings(false); +#endif } #else @@ -639,6 +644,10 @@ check_bootfile(false); /* remember write time and filesize */ #endif settings_apply_skins(); +#ifdef HOTKEY + if (!global_settings.hotkey_persist) + reset_hotkey_settings(false); +#endif } #ifdef CPU_PP