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