summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMartin Scarratt <mmmm@rockbox.org>2006-09-25 10:56:38 +0000
committerMartin Scarratt <mmmm@rockbox.org>2006-09-25 10:56:38 +0000
commit1ab1f02dfecc8f0b35cf5668398ea327b25828b7 (patch)
tree16f9b74118d806822e005504088ceff23d1735b6 /apps
parentec2a5cce1a4e3609535a9ae902a80933fbb0f341 (diff)
downloadrockbox-1ab1f02dfecc8f0b35cf5668398ea327b25828b7.tar.gz
rockbox-1ab1f02dfecc8f0b35cf5668398ea327b25828b7.zip
fix the bug where when scrolling text left in the filebrowser you could suddenly find yourself in the root directory. A long press on the left scrolling button will still take you to the root quickly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11042 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/action.h1
-rw-r--r--apps/gui/list.c15
-rw-r--r--apps/keymaps/keymap-gigabeat.c2
-rw-r--r--apps/keymaps/keymap-h10.c12
-rw-r--r--apps/keymaps/keymap-h1x0_h3x0.c5
-rw-r--r--apps/keymaps/keymap-ipod.c1
-rw-r--r--apps/keymaps/keymap-ondio.c1
-rw-r--r--apps/keymaps/keymap-recorder.c1
-rw-r--r--apps/keymaps/keymap-x5.c1
9 files changed, 36 insertions, 3 deletions
diff --git a/apps/action.h b/apps/action.h
index 99612c1ea1..c096abf880 100644
--- a/apps/action.h
+++ b/apps/action.h
@@ -123,6 +123,7 @@ enum {
123 ACTION_LISTTREE_RC_PGDOWN,/* optional */ 123 ACTION_LISTTREE_RC_PGDOWN,/* optional */
124 124
125 /* tree */ 125 /* tree */
126 ACTION_TREE_ROOT_INIT,
126 ACTION_TREE_PGLEFT,/* optional */ 127 ACTION_TREE_PGLEFT,/* optional */
127 ACTION_TREE_PGRIGHT,/* optional */ 128 ACTION_TREE_PGRIGHT,/* optional */
128 ACTION_TREE_STOP, 129 ACTION_TREE_STOP,
diff --git a/apps/gui/list.c b/apps/gui/list.c
index 164bfc8773..7ca5e91b99 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -722,6 +722,8 @@ void gui_synclist_scroll_left(struct gui_synclist * lists)
722 722
723unsigned gui_synclist_do_button(struct gui_synclist * lists, unsigned button) 723unsigned gui_synclist_do_button(struct gui_synclist * lists, unsigned button)
724{ 724{
725 static bool scrolling_left = false;
726
725 gui_synclist_limit_scroll(lists, true); 727 gui_synclist_limit_scroll(lists, true);
726 switch(button) 728 switch(button)
727 { 729 {
@@ -744,15 +746,26 @@ unsigned gui_synclist_do_button(struct gui_synclist * lists, unsigned button)
744 return ACTION_STD_NEXT; 746 return ACTION_STD_NEXT;
745 747
746#ifdef HAVE_LCD_BITMAP 748#ifdef HAVE_LCD_BITMAP
749 case ACTION_TREE_ROOT_INIT:
750 /* After this button press ACTION_TREE_PGLEFT is allowed to skip to root.
751 ACTION_TREE_ROOT_INIT must be defined in the keymaps as a repeated
752 button press (the same as the repeated ACTION_TREE_PGLEFT) with the
753 pre condition being the non-repeated button press */
754 if (lists->gui_list[0].offset_position == 0)
755 {
756 scrolling_left = false;
757 return ACTION_STD_CANCEL;
758 }
747 case ACTION_TREE_PGRIGHT: 759 case ACTION_TREE_PGRIGHT:
748 gui_synclist_scroll_right(lists); 760 gui_synclist_scroll_right(lists);
749 gui_synclist_draw(lists); 761 gui_synclist_draw(lists);
750 return ACTION_TREE_PGRIGHT; 762 return ACTION_TREE_PGRIGHT;
751 case ACTION_TREE_PGLEFT: 763 case ACTION_TREE_PGLEFT:
752 if (lists->gui_list[0].offset_position == 0) 764 if(!scrolling_left && (lists->gui_list[0].offset_position == 0))
753 return ACTION_STD_CANCEL; 765 return ACTION_STD_CANCEL;
754 gui_synclist_scroll_left(lists); 766 gui_synclist_scroll_left(lists);
755 gui_synclist_draw(lists); 767 gui_synclist_draw(lists);
768 scrolling_left = true; /* stop ACTION_TREE_PAGE_LEFT skipping to root */
756 return ACTION_TREE_PGLEFT; 769 return ACTION_TREE_PGLEFT;
757#endif 770#endif
758 771
diff --git a/apps/keymaps/keymap-gigabeat.c b/apps/keymaps/keymap-gigabeat.c
index 042a1f7d8b..9822049214 100644
--- a/apps/keymaps/keymap-gigabeat.c
+++ b/apps/keymaps/keymap-gigabeat.c
@@ -116,6 +116,7 @@ const struct button_mapping button_context_listtree_scroll_with_combo[] = {
116 { ACTION_TREE_PGLEFT, BUTTON_POWER|BUTTON_LEFT, BUTTON_POWER }, 116 { ACTION_TREE_PGLEFT, BUTTON_POWER|BUTTON_LEFT, BUTTON_POWER },
117 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_POWER|BUTTON_LEFT }, 117 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_POWER|BUTTON_LEFT },
118 { ACTION_TREE_PGLEFT, BUTTON_POWER|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL }, 118 { ACTION_TREE_PGLEFT, BUTTON_POWER|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL },
119 { ACTION_TREE_ROOT_INIT, BUTTON_POWER|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_POWER|BUTTON_LEFT },
119 { ACTION_TREE_PGLEFT, BUTTON_POWER|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 120 { ACTION_TREE_PGLEFT, BUTTON_POWER|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
120 { ACTION_TREE_PGRIGHT, BUTTON_POWER|BUTTON_RIGHT, BUTTON_POWER }, 121 { ACTION_TREE_PGRIGHT, BUTTON_POWER|BUTTON_RIGHT, BUTTON_POWER },
121 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_POWER|BUTTON_RIGHT }, 122 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_POWER|BUTTON_RIGHT },
@@ -127,6 +128,7 @@ const struct button_mapping button_context_listtree_scroll_with_combo[] = {
127const struct button_mapping button_context_listtree_scroll_without_combo[] = { 128const struct button_mapping button_context_listtree_scroll_without_combo[] = {
128 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 129 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
129 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 130 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
131 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
130 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 132 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
131 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 133 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
132 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 134 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c
index 415a4e4804..1be904727e 100644
--- a/apps/keymaps/keymap-h10.c
+++ b/apps/keymaps/keymap-h10.c
@@ -106,8 +106,9 @@ const struct button_mapping button_context_tree[] = {
106}; /* button_context_tree */ 106}; /* button_context_tree */
107 107
108const struct button_mapping button_context_listtree_scroll_without_combo[] = { 108const struct button_mapping button_context_listtree_scroll_without_combo[] = {
109 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, 109 { ACTION_TREE_ROOT_INIT, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW },
110 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF }, 110 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE },
111 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_REPEAT, BUTTON_NONE },
111 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 112 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
112}; /* button_context_listtree_scroll_without_combo */ 113}; /* button_context_listtree_scroll_without_combo */
113 114
@@ -115,7 +116,14 @@ const struct button_mapping button_context_listtree_scroll_with_combo[] = {
115 { ACTION_LISTTREE_PGUP, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW }, 116 { ACTION_LISTTREE_PGUP, BUTTON_REW|BUTTON_REPEAT, BUTTON_REW },
116 { ACTION_LISTTREE_PGDOWN, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF }, 117 { ACTION_LISTTREE_PGDOWN, BUTTON_FF|BUTTON_REPEAT, BUTTON_FF },
117 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_PLAY, BUTTON_PLAY }, 118 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_PLAY, BUTTON_PLAY },
119 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_REL, BUTTON_REW|BUTTON_PLAY },
120 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_PLAY, BUTTON_REW|BUTTON_REL },
121 { ACTION_TREE_ROOT_INIT, BUTTON_REW|BUTTON_PLAY|BUTTON_REPEAT, BUTTON_REW|BUTTON_PLAY },
122 { ACTION_TREE_PGLEFT, BUTTON_REW|BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
118 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_PLAY, BUTTON_PLAY }, 123 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_PLAY, BUTTON_PLAY },
124 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_REL, BUTTON_FF|BUTTON_PLAY },
125 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_PLAY, BUTTON_FF|BUTTON_REL },
126 { ACTION_TREE_PGRIGHT, BUTTON_FF|BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE },
119 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 127 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE),
120}; /* button_context_listtree_scroll_with_combo */ 128}; /* button_context_listtree_scroll_with_combo */
121 129
diff --git a/apps/keymaps/keymap-h1x0_h3x0.c b/apps/keymaps/keymap-h1x0_h3x0.c
index d8a5548613..6d30b93628 100644
--- a/apps/keymaps/keymap-h1x0_h3x0.c
+++ b/apps/keymaps/keymap-h1x0_h3x0.c
@@ -118,6 +118,7 @@ const struct button_mapping button_context_listtree_scroll_with_combo[] = {
118 { ACTION_TREE_PGLEFT, BUTTON_ON|BUTTON_LEFT, BUTTON_ON }, 118 { ACTION_TREE_PGLEFT, BUTTON_ON|BUTTON_LEFT, BUTTON_ON },
119 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_ON|BUTTON_LEFT }, 119 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_ON|BUTTON_LEFT },
120 { ACTION_TREE_PGLEFT, BUTTON_ON|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL }, 120 { ACTION_TREE_PGLEFT, BUTTON_ON|BUTTON_LEFT, BUTTON_LEFT|BUTTON_REL },
121 { ACTION_TREE_ROOT_INIT, BUTTON_ON|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_ON|BUTTON_LEFT },
121 { ACTION_TREE_PGLEFT, BUTTON_ON|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 122 { ACTION_TREE_PGLEFT, BUTTON_ON|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
122 { ACTION_TREE_PGRIGHT, BUTTON_ON|BUTTON_RIGHT, BUTTON_ON }, 123 { ACTION_TREE_PGRIGHT, BUTTON_ON|BUTTON_RIGHT, BUTTON_ON },
123 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_ON|BUTTON_RIGHT }, 124 { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_ON|BUTTON_RIGHT },
@@ -129,6 +130,7 @@ const struct button_mapping button_context_listtree_scroll_with_combo[] = {
129const struct button_mapping button_context_listtree_scroll_without_combo[] = { 130const struct button_mapping button_context_listtree_scroll_without_combo[] = {
130 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 131 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
131 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 132 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
133 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
132 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 134 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
133 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 135 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
134 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 136 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },
@@ -394,6 +396,7 @@ const struct button_mapping button_context_listtree_scroll_w_cmb_h300lcdremote[]
394 { ACTION_TREE_PGLEFT, BUTTON_RC_MENU|BUTTON_RC_SOURCE, BUTTON_RC_MENU }, 396 { ACTION_TREE_PGLEFT, BUTTON_RC_MENU|BUTTON_RC_SOURCE, BUTTON_RC_MENU },
395 { ACTION_TREE_PGLEFT, BUTTON_RC_SOURCE|BUTTON_REL, BUTTON_RC_MENU|BUTTON_RC_SOURCE }, 397 { ACTION_TREE_PGLEFT, BUTTON_RC_SOURCE|BUTTON_REL, BUTTON_RC_MENU|BUTTON_RC_SOURCE },
396 { ACTION_TREE_PGLEFT, BUTTON_RC_MENU|BUTTON_RC_SOURCE, BUTTON_RC_SOURCE|BUTTON_REL }, 398 { ACTION_TREE_PGLEFT, BUTTON_RC_MENU|BUTTON_RC_SOURCE, BUTTON_RC_SOURCE|BUTTON_REL },
399 { ACTION_TREE_ROOT_INIT, BUTTON_RC_MENU|BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_RC_MENU|BUTTON_RC_SOURCE },
397 { ACTION_TREE_PGLEFT, BUTTON_RC_MENU|BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE }, 400 { ACTION_TREE_PGLEFT, BUTTON_RC_MENU|BUTTON_RC_SOURCE|BUTTON_REPEAT, BUTTON_NONE },
398 { ACTION_TREE_PGRIGHT, BUTTON_RC_MENU|BUTTON_RC_BITRATE, BUTTON_RC_MENU }, 401 { ACTION_TREE_PGRIGHT, BUTTON_RC_MENU|BUTTON_RC_BITRATE, BUTTON_RC_MENU },
399 { ACTION_TREE_PGRIGHT, BUTTON_RC_BITRATE|BUTTON_REL, BUTTON_RC_MENU|BUTTON_RC_BITRATE }, 402 { ACTION_TREE_PGRIGHT, BUTTON_RC_BITRATE|BUTTON_REL, BUTTON_RC_MENU|BUTTON_RC_BITRATE },
@@ -404,6 +407,7 @@ const struct button_mapping button_context_listtree_scroll_w_cmb_h300lcdremote[]
404 407
405const struct button_mapping button_context_listtree_scroll_wo_cmb_h100remote[] = { 408const struct button_mapping button_context_listtree_scroll_wo_cmb_h100remote[] = {
406 { ACTION_TREE_PGLEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 409 { ACTION_TREE_PGLEFT, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
410 { ACTION_TREE_ROOT_INIT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_RC_VOL_DOWN },
407 { ACTION_TREE_PGLEFT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 411 { ACTION_TREE_PGLEFT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
408 { ACTION_TREE_PGRIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE }, 412 { ACTION_TREE_PGRIGHT, BUTTON_RC_VOL_UP, BUTTON_NONE },
409 { ACTION_TREE_PGRIGHT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 413 { ACTION_TREE_PGRIGHT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
@@ -413,6 +417,7 @@ const struct button_mapping button_context_listtree_scroll_wo_cmb_h100remote[]
413const struct button_mapping button_context_listtree_scroll_wo_cmb_h300lcdremote[] = { 417const struct button_mapping button_context_listtree_scroll_wo_cmb_h300lcdremote[] = {
414 { ACTION_NONE, BUTTON_RC_REW, BUTTON_NONE }, 418 { ACTION_NONE, BUTTON_RC_REW, BUTTON_NONE },
415 { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, 419 { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW },
420 { ACTION_TREE_ROOT_INIT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_RC_REW },
416 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, 421 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE },
417 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT }, 422 { ACTION_TREE_PGLEFT, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT },
418 { ACTION_NONE, BUTTON_RC_FF, BUTTON_NONE }, 423 { ACTION_NONE, BUTTON_RC_FF, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-ipod.c b/apps/keymaps/keymap-ipod.c
index 1151f10a20..2157127faf 100644
--- a/apps/keymaps/keymap-ipod.c
+++ b/apps/keymaps/keymap-ipod.c
@@ -64,6 +64,7 @@ const struct button_mapping button_context_tree[] = {
64const struct button_mapping button_context_tree_scroll_lr[] = { 64const struct button_mapping button_context_tree_scroll_lr[] = {
65 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 65 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
66 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 66 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
67 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
67 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 68 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
68 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 69 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
69 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 70 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-ondio.c b/apps/keymaps/keymap-ondio.c
index 35243c5700..defc4e3762 100644
--- a/apps/keymaps/keymap-ondio.c
+++ b/apps/keymaps/keymap-ondio.c
@@ -89,6 +89,7 @@ const struct button_mapping button_context_tree_scroll_lr[] = {
89 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 89 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
90 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 90 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
91 { ACTION_TREE_PGLEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE }, 91 { ACTION_TREE_PGLEFT, BUTTON_MENU|BUTTON_LEFT, BUTTON_NONE },
92 { ACTION_TREE_ROOT_INIT, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_MENU|BUTTON_LEFT },
92 { ACTION_TREE_PGLEFT, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 93 { ACTION_TREE_PGLEFT, BUTTON_MENU|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
93 { ACTION_TREE_PGLEFT, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REL, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT }, 94 { ACTION_TREE_PGLEFT, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REL, BUTTON_MENU|BUTTON_RIGHT|BUTTON_REPEAT },
94 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 95 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-recorder.c b/apps/keymaps/keymap-recorder.c
index 02e720847f..c111af91d8 100644
--- a/apps/keymaps/keymap-recorder.c
+++ b/apps/keymaps/keymap-recorder.c
@@ -106,6 +106,7 @@ static const struct button_mapping button_context_tree[] = {
106static const struct button_mapping button_context_tree_scroll_lr[] = { 106static const struct button_mapping button_context_tree_scroll_lr[] = {
107 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 107 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
108 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 108 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
109 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
109 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 110 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
110 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 111 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
111 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 112 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-x5.c b/apps/keymaps/keymap-x5.c
index b83cbe6dc1..17b53f9c55 100644
--- a/apps/keymaps/keymap-x5.c
+++ b/apps/keymaps/keymap-x5.c
@@ -159,6 +159,7 @@ const struct button_mapping remote_button_context_tree[] = {
159const struct button_mapping button_context_tree_scroll_lr[] = { 159const struct button_mapping button_context_tree_scroll_lr[] = {
160 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 160 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
161 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 161 { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT },
162 { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT },
162 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 163 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
163 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 164 { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT },
164 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 165 { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE },