Index: apps/lang/english.lang =================================================================== --- apps/lang/english.lang (revision 20497) +++ apps/lang/english.lang (working copy) @@ -12403,3 +12403,54 @@ speaker: "Enable Speaker" + + id: LANG_TOUCHSCREEN_MODE + desc: in Settings -> General -> System menu + user: core + + *: none + touchscreen: "Touchscreen Mode" + + + *: none + touchscreen: "Touchscreen Mode" + + + *: none + touchscreen: "Touchscreen Mode" + + + + id: LANG_TOUCHSCREEN_GRID + desc: in Settings -> General -> System menu + user: core + + *: none + touchscreen: "3x3 Grid" + + + *: none + touchscreen: "3x3 Grid" + + + *: none + touchscreen: "3 by 3 grid" + + + + id: LANG_TOUCHSCREEN_POINT + desc: in Settings -> General -> System menu + user: core + + *: none + touchscreen: "Absolute Point" + + + *: none + touchscreen: "Absolute Point" + + + *: none + touchscreen: "Absolute Point" + + \ No newline at end of file Index: apps/settings.c =================================================================== --- apps/settings.c (revision 20497) +++ apps/settings.c (working copy) @@ -960,6 +960,10 @@ usb_charging_enable(global_settings.usb_charging); #endif +#ifdef HAVE_TOUCHSCREEN + touchscreen_set_mode(global_settings.touch_mode); +#endif + /* This should stay last */ #if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC enc_global_settings_apply(); Index: apps/settings.h =================================================================== --- apps/settings.h (revision 20497) +++ apps/settings.h (working copy) @@ -726,6 +726,10 @@ bool speaker_enabled; #endif +#ifdef HAVE_TOUCHSCREEN + int touch_mode; +#endif + /* If values are just added to the end, no need to bump plugin API version. */ /* new stuff to be added at the end */ Index: apps/settings_list.c =================================================================== --- apps/settings_list.c (revision 20497) +++ apps/settings_list.c (working copy) @@ -602,8 +602,8 @@ #ifdef IPOD_ACCESSORY_PROTOCOL CHOICE_SETTING(0, serial_bitrate, LANG_SERIAL_BITRATE, 0, "serial bitrate", "auto,9600,19200,38400,57600", iap_bitrate_set, 5, ID2P(LANG_SERIAL_BITRATE_AUTO), - ID2P(LANG_SERIAL_BITRATE_9600),ID2P(LANG_SERIAL_BITRATE_19200), - ID2P(LANG_SERIAL_BITRATE_38400),ID2P(LANG_SERIAL_BITRATE_57600)), + ID2P(LANG_SERIAL_BITRATE_9600),ID2P(LANG_SERIAL_BITRATE_19200), + ID2P(LANG_SERIAL_BITRATE_38400),ID2P(LANG_SERIAL_BITRATE_57600)), #endif #ifdef HAVE_ACCESSORY_SUPPLY OFFON_SETTING(0, accessory_supply, LANG_ACCESSORY_SUPPLY, @@ -1462,6 +1462,11 @@ OFFON_SETTING(0, speaker_enabled, LANG_ENABLE_SPEAKER, false, "speaker", audiohw_enable_speaker), #endif +#ifdef HAVE_TOUCHSCREEN + CHOICE_SETTING(0, touch_mode, LANG_TOUCHSCREEN_MODE, TOUCHSCREEN_BUTTON, + "touchscreen mode", "point,grid", touchscreen_set_mode, 2, + ID2P(LANG_TOUCHSCREEN_POINT), ID2P(LANG_TOUCHSCREEN_GRID)), +#endif }; const int nb_settings = sizeof(settings)/sizeof(*settings); Index: apps/menus/settings_menu.c =================================================================== --- apps/menus/settings_menu.c (revision 20497) +++ apps/menus/settings_menu.c (working copy) @@ -265,6 +265,9 @@ MENUITEM_SETTING(touchpad_sensitivity, &global_settings.touchpad_sensitivity, NULL); #endif +#ifdef HAVE_TOUCHSCREEN +MENUITEM_SETTING(touch_mode, &global_settings.touch_mode, NULL); +#endif MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), 0, Icon_System_menu, @@ -284,7 +287,7 @@ &car_adapter_mode, #endif #ifdef IPOD_ACCESSORY_PROTOCOL - &serial_bitrate, + &serial_bitrate, #endif #ifdef HAVE_ACCESSORY_SUPPLY &accessory_supply, @@ -301,6 +304,9 @@ #ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING &touchpad_sensitivity, #endif +#ifdef HAVE_TOUCHSCREEN + &touch_mode, +#endif ); /* SYSTEM MENU */ Index: apps/main.c =================================================================== --- apps/main.c (revision 20497) +++ apps/main.c (working copy) @@ -136,9 +136,6 @@ screens[i].update(); } tree_gui_init(); -#ifdef HAVE_TOUCHSCREEN - touchscreen_set_mode(TOUCHSCREEN_BUTTON); -#endif viewportmanager_set_statusbar(VP_SB_ALLSCREENS); add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, viewportmanager_statusbar_changed); Index: apps/features.txt =================================================================== --- apps/features.txt (revision 20497) +++ apps/features.txt (working copy) @@ -192,3 +192,6 @@ wheel_acceleration #endif +#if defined(HAVE_TOUCHSCREEN) +touchscreen +#endif