Add a Touchscreen Mode setting to switch between 3x3 grid and absolute point modes. Note that many screens have not yet been adjusted to absolute point mode, so use with caution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20520 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3adb821ad0
commit
ed1a3355de
7 changed files with 87 additions and 6 deletions
|
@ -192,3 +192,6 @@ usbstack
|
|||
wheel_acceleration
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_TOUCHSCREEN)
|
||||
touchscreen
|
||||
#endif
|
||||
|
|
|
@ -12403,3 +12403,54 @@
|
|||
speaker: "Enable Speaker"
|
||||
</voice>
|
||||
</phrase>
|
||||
<phrase>
|
||||
id: LANG_TOUCHSCREEN_MODE
|
||||
desc: in Settings -> General -> System menu
|
||||
user: core
|
||||
<source>
|
||||
*: none
|
||||
touchscreen: "Touchscreen Mode"
|
||||
</source>
|
||||
<dest>
|
||||
*: none
|
||||
touchscreen: "Touchscreen Mode"
|
||||
</dest>
|
||||
<voice>
|
||||
*: none
|
||||
touchscreen: "Touchscreen Mode"
|
||||
</voice>
|
||||
</phrase>
|
||||
<phrase>
|
||||
id: LANG_TOUCHSCREEN_GRID
|
||||
desc: in Settings -> General -> System menu
|
||||
user: core
|
||||
<source>
|
||||
*: none
|
||||
touchscreen: "3x3 Grid"
|
||||
</source>
|
||||
<dest>
|
||||
*: none
|
||||
touchscreen: "3x3 Grid"
|
||||
</dest>
|
||||
<voice>
|
||||
*: none
|
||||
touchscreen: "3 by 3 grid"
|
||||
</voice>
|
||||
</phrase>
|
||||
<phrase>
|
||||
id: LANG_TOUCHSCREEN_POINT
|
||||
desc: in Settings -> General -> System menu
|
||||
user: core
|
||||
<source>
|
||||
*: none
|
||||
touchscreen: "Absolute Point"
|
||||
</source>
|
||||
<dest>
|
||||
*: none
|
||||
touchscreen: "Absolute Point"
|
||||
</dest>
|
||||
<voice>
|
||||
*: none
|
||||
touchscreen: "Absolute Point"
|
||||
</voice>
|
||||
</phrase>
|
|
@ -136,9 +136,6 @@ static void app_main(void)
|
|||
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);
|
||||
|
|
|
@ -265,6 +265,20 @@ MENUITEM_SETTING(buttonlight_brightness, &global_settings.buttonlight_brightness
|
|||
MENUITEM_SETTING(touchpad_sensitivity, &global_settings.touchpad_sensitivity, NULL);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_TOUCHSCREEN
|
||||
static int touch_mode_callback(int action,const struct menu_item_ex *this_item)
|
||||
{
|
||||
(void)this_item;
|
||||
switch (action)
|
||||
{
|
||||
case ACTION_EXIT_MENUITEM: /* on exit */
|
||||
touchscreen_set_mode(global_settings.touch_mode);
|
||||
break;
|
||||
}
|
||||
return action;
|
||||
}
|
||||
MENUITEM_SETTING(touch_mode, &global_settings.touch_mode, touch_mode_callback);
|
||||
#endif
|
||||
|
||||
MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
|
||||
0, Icon_System_menu,
|
||||
|
@ -284,7 +298,7 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
|
|||
&car_adapter_mode,
|
||||
#endif
|
||||
#ifdef IPOD_ACCESSORY_PROTOCOL
|
||||
&serial_bitrate,
|
||||
&serial_bitrate,
|
||||
#endif
|
||||
#ifdef HAVE_ACCESSORY_SUPPLY
|
||||
&accessory_supply,
|
||||
|
@ -300,6 +314,9 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
|
|||
#endif
|
||||
#ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING
|
||||
&touchpad_sensitivity,
|
||||
#endif
|
||||
#ifdef HAVE_TOUCHSCREEN
|
||||
&touch_mode,
|
||||
#endif
|
||||
);
|
||||
|
||||
|
|
|
@ -960,6 +960,10 @@ void settings_apply(bool read_disk)
|
|||
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();
|
||||
|
|
|
@ -726,6 +726,10 @@ struct user_settings
|
|||
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 */
|
||||
|
|
|
@ -602,8 +602,8 @@ const struct settings_list settings[] = {
|
|||
#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 @@ const struct settings_list settings[] = {
|
|||
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", NULL, 2,
|
||||
ID2P(LANG_TOUCHSCREEN_POINT), ID2P(LANG_TOUCHSCREEN_GRID)),
|
||||
#endif
|
||||
};
|
||||
|
||||
const int nb_settings = sizeof(settings)/sizeof(*settings);
|
||||
|
|
Loading…
Reference in a new issue