summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/action.c2
-rw-r--r--apps/gui/list.c13
-rwxr-xr-xapps/keymaps/keymap-mr500.c6
3 files changed, 19 insertions, 2 deletions
diff --git a/apps/action.c b/apps/action.c
index 989313f..7f445c8 100644
--- a/apps/action.c
+++ b/apps/action.c
@@ -301,6 +301,6 @@ int action_get_touchpad_press(short *x, short *y)
return BUTTON_REPEAT;
if (short_press)
return BUTTON_REL;
- return BUTTON_NONE;
+ return BUTTON_TOUCHPAD;
}
#endif
diff --git a/apps/gui/list.c b/apps/gui/list.c
index e7de12c..6f61a61 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -918,6 +918,8 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * lists)
short x,y;
unsigned button = action_get_touchpad_press(&x, &y);
int line;
+ if (button == BUTTON_NONE)
+ return ACTION_NONE;
if (x<SCROLLBAR_WIDTH)
{
/* top left corner is hopefully GO_TO_ROOT */
@@ -956,7 +958,16 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * lists)
else
{
if (button != BUTTON_REL && button != BUTTON_REPEAT)
- return ACTION_NONE;
+ {
+ if (global_settings.statusbar)
+ y -= STATUSBAR_HEIGHT;
+ if (SHOW_LIST_TITLE)
+ y -= gui_list->display->char_height;
+ line = y / gui_list->display->char_height;
+ if (line != gui_list->selected_item - gui_list->start_item)
+ gui_synclist_select_item(lists, gui_list->start_item+line);
+ return ACTION_REDRAW;
+ }
/* title or statusbar is cancel */
if (global_settings.statusbar)
{
diff --git a/apps/keymaps/keymap-mr500.c b/apps/keymaps/keymap-mr500.c
index b2444c5..b0d75c1 100755
--- a/apps/keymaps/keymap-mr500.c
+++ b/apps/keymaps/keymap-mr500.c
@@ -86,6 +86,12 @@ static const struct button_mapping button_context_listtree_scroll_without_combo[
};
static const struct button_mapping button_context_settings[] = {
+ { ACTION_SETTINGS_INC, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_SETTINGS_INCREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_SETTINGS_DEC, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
+ { ACTION_SETTINGS_DECREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_STD_OK, BUTTON_RC_HEART, BUTTON_NONE },
+ { ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE },
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
}; /* button_context_settings */