summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/keymaps/keymap-vibe500.c30
-rw-r--r--apps/plugins/lib/pluginlib_actions.c4
-rw-r--r--firmware/target/arm/pbell/vibe500/button-vibe500.c22
3 files changed, 44 insertions, 12 deletions
diff --git a/apps/keymaps/keymap-vibe500.c b/apps/keymaps/keymap-vibe500.c
index 21826f3016..0ea7dc2a13 100644
--- a/apps/keymaps/keymap-vibe500.c
+++ b/apps/keymaps/keymap-vibe500.c
@@ -39,9 +39,9 @@
39 */ 39 */
40static const struct button_mapping button_context_standard[] = { 40static const struct button_mapping button_context_standard[] = {
41 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, 41 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE },
42 { ACTION_STD_PREVREPEAT, BUTTON_UP, BUTTON_NONE }, 42 { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
43 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 43 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
44 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN, BUTTON_NONE }, 44 { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
45 { ACTION_STD_CANCEL, BUTTON_PREV, BUTTON_NONE }, 45 { ACTION_STD_CANCEL, BUTTON_PREV, BUTTON_NONE },
46 { ACTION_STD_CANCEL, BUTTON_CANCEL|BUTTON_REL, BUTTON_NONE }, 46 { ACTION_STD_CANCEL, BUTTON_CANCEL|BUTTON_REL, BUTTON_NONE },
47 { ACTION_STD_OK, BUTTON_NEXT, BUTTON_NONE }, 47 { ACTION_STD_OK, BUTTON_NEXT, BUTTON_NONE },
@@ -63,7 +63,9 @@ static const struct button_mapping button_context_wps[] = {
63 { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, 63 { ACTION_WPS_SEEKFWD, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
64 { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT }, 64 { ACTION_WPS_STOPSEEK, BUTTON_NEXT|BUTTON_REL, BUTTON_NEXT|BUTTON_REPEAT },
65 { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, 65 { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE },
66 { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
66 { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, 67 { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE },
68 { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
67 { ACTION_WPS_BROWSE, BUTTON_OK|BUTTON_REL, BUTTON_OK }, 69 { ACTION_WPS_BROWSE, BUTTON_OK|BUTTON_REL, BUTTON_OK },
68 { ACTION_WPS_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 70 { ACTION_WPS_CONTEXT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
69 { ACTION_WPS_HOTKEY, BUTTON_REC|BUTTON_REL, BUTTON_REC }, 71 { ACTION_WPS_HOTKEY, BUTTON_REC|BUTTON_REL, BUTTON_REC },
@@ -98,9 +100,9 @@ static const struct button_mapping button_context_tree_scroll_lr[] = {
98 100
99static const struct button_mapping button_context_settings[] = { 101static const struct button_mapping button_context_settings[] = {
100 { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, 102 { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE },
101 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP, BUTTON_NONE }, 103 { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
102 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, 104 { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE },
103 { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN, BUTTON_NONE }, 105 { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
104 { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE }, 106 { ACTION_STD_PREV, BUTTON_PREV, BUTTON_NONE },
105 { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, 107 { ACTION_STD_PREVREPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
106 { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE }, 108 { ACTION_STD_NEXT, BUTTON_NEXT, BUTTON_NONE },
@@ -123,7 +125,9 @@ static const struct button_mapping button_context_bmark[] = {
123 125
124static const struct button_mapping button_context_quickscreen[] = { 126static const struct button_mapping button_context_quickscreen[] = {
125 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE }, 127 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
128 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
126 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 129 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
130 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
127 { ACTION_QS_LEFT, BUTTON_PREV, BUTTON_NONE }, 131 { ACTION_QS_LEFT, BUTTON_PREV, BUTTON_NONE },
128 { ACTION_QS_LEFT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, 132 { ACTION_QS_LEFT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
129 { ACTION_QS_RIGHT, BUTTON_NEXT, BUTTON_NONE }, 133 { ACTION_QS_RIGHT, BUTTON_NEXT, BUTTON_NONE },
@@ -135,9 +139,9 @@ static const struct button_mapping button_context_quickscreen[] = {
135 139
136static const struct button_mapping button_context_pitchscreen[] = { 140static const struct button_mapping button_context_pitchscreen[] = {
137 { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, 141 { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE },
138 { ACTION_PS_INC_BIG, BUTTON_UP, BUTTON_NONE }, 142 { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
139 { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, 143 { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE },
140 { ACTION_PS_DEC_BIG, BUTTON_DOWN, BUTTON_NONE }, 144 { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
141 { ACTION_PS_NUDGE_LEFT, BUTTON_PREV, BUTTON_NONE }, 145 { ACTION_PS_NUDGE_LEFT, BUTTON_PREV, BUTTON_NONE },
142 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_PREV|BUTTON_REL, BUTTON_NONE }, 146 { ACTION_PS_NUDGE_LEFTOFF, BUTTON_PREV|BUTTON_REL, BUTTON_NONE },
143 { ACTION_PS_NUDGE_RIGHT, BUTTON_NEXT, BUTTON_NONE }, 147 { ACTION_PS_NUDGE_RIGHT, BUTTON_NEXT, BUTTON_NONE },
@@ -160,7 +164,9 @@ static const struct button_mapping button_context_keyboard[] = {
160 { ACTION_KBD_DONE, BUTTON_OK, BUTTON_NONE }, 164 { ACTION_KBD_DONE, BUTTON_OK, BUTTON_NONE },
161 { ACTION_KBD_ABORT, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL }, 165 { ACTION_KBD_ABORT, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL },
162 { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, 166 { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE },
167 { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
163 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, 168 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE },
169 { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
164 { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 170 { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
165 { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 171 { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU },
166 { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, 172 { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
@@ -176,7 +182,9 @@ const struct button_mapping button_context_recscreen[] = {
176 { ACTION_REC_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, 182 { ACTION_REC_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
177 { ACTION_STD_CANCEL, BUTTON_CANCEL, BUTTON_NONE }, 183 { ACTION_STD_CANCEL, BUTTON_CANCEL, BUTTON_NONE },
178 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 184 { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE },
185 { ACTION_STD_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
179 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, 186 { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE },
187 { ACTION_STD_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
180 { ACTION_SETTINGS_INC, BUTTON_NEXT, BUTTON_NONE }, 188 { ACTION_SETTINGS_INC, BUTTON_NEXT, BUTTON_NONE },
181 { ACTION_SETTINGS_INCREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE }, 189 { ACTION_SETTINGS_INCREPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE },
182 { ACTION_SETTINGS_DEC, BUTTON_PREV, BUTTON_NONE }, 190 { ACTION_SETTINGS_DEC, BUTTON_PREV, BUTTON_NONE },
@@ -198,7 +206,9 @@ static const struct button_mapping button_context_usb_hid[] = {
198 206
199static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { 207static const struct button_mapping button_context_usb_hid_mode_multimedia[] = {
200 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN, BUTTON_NONE }, 208 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN, BUTTON_NONE },
209 { ACTION_USB_HID_MULTIMEDIA_VOLUME_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
201 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP, BUTTON_NONE }, 210 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP, BUTTON_NONE },
211 { ACTION_USB_HID_MULTIMEDIA_VOLUME_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
202 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 212 { ACTION_USB_HID_MULTIMEDIA_VOLUME_MUTE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
203 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, 213 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_PLAY_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
204 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL }, 214 { ACTION_USB_HID_MULTIMEDIA_PLAYBACK_STOP, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL },
@@ -219,7 +229,9 @@ static const struct button_mapping button_context_usb_hid_mode_presentation[] =
219 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL }, 229 { ACTION_USB_HID_PRESENTATION_SCREEN_BLACK, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL },
220 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 230 { ACTION_USB_HID_PRESENTATION_SCREEN_WHITE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
221 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP, BUTTON_NONE }, 231 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP, BUTTON_NONE },
232 { ACTION_USB_HID_PRESENTATION_LINK_PREV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
222 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN, BUTTON_NONE }, 233 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN, BUTTON_NONE },
234 { ACTION_USB_HID_PRESENTATION_LINK_NEXT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
223 { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_OK|BUTTON_REL, BUTTON_OK }, 235 { ACTION_USB_HID_PRESENTATION_MOUSE_CLICK, BUTTON_OK|BUTTON_REL, BUTTON_OK },
224 { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_OK|BUTTON_REPEAT, BUTTON_OK }, 236 { ACTION_USB_HID_PRESENTATION_MOUSE_OVER, BUTTON_OK|BUTTON_REPEAT, BUTTON_OK },
225 237
@@ -228,7 +240,9 @@ static const struct button_mapping button_context_usb_hid_mode_presentation[] =
228 240
229static const struct button_mapping button_context_usb_hid_mode_browser[] = { 241static const struct button_mapping button_context_usb_hid_mode_browser[] = {
230 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP, BUTTON_NONE }, 242 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP, BUTTON_NONE },
243 { ACTION_USB_HID_BROWSER_SCROLL_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
231 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE }, 244 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN, BUTTON_NONE },
245 { ACTION_USB_HID_BROWSER_SCROLL_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
232 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_OK|BUTTON_REL, BUTTON_OK }, 246 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_UP, BUTTON_OK|BUTTON_REL, BUTTON_OK },
233 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL }, 247 { ACTION_USB_HID_BROWSER_SCROLL_PAGE_DOWN, BUTTON_CANCEL|BUTTON_REL, BUTTON_CANCEL },
234 { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, 248 { ACTION_USB_HID_BROWSER_ZOOM_IN, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY },
@@ -247,9 +261,9 @@ static const struct button_mapping button_context_usb_hid_mode_browser[] = {
247#ifdef HAVE_USB_HID_MOUSE 261#ifdef HAVE_USB_HID_MOUSE
248static const struct button_mapping button_context_usb_hid_mode_mouse[] = { 262static const struct button_mapping button_context_usb_hid_mode_mouse[] = {
249 { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE }, 263 { ACTION_USB_HID_MOUSE_UP, BUTTON_UP, BUTTON_NONE },
250 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP, BUTTON_NONE }, 264 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
251 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE }, 265 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_DOWN, BUTTON_NONE },
252 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN, BUTTON_NONE }, 266 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
253 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_PREV, BUTTON_NONE }, 267 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_PREV, BUTTON_NONE },
254 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE }, 268 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE },
255 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_NEXT, BUTTON_NONE }, 269 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_NEXT, BUTTON_NONE },
diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c
index 45baa323c7..1872a5702b 100644
--- a/apps/plugins/lib/pluginlib_actions.c
+++ b/apps/plugins/lib/pluginlib_actions.c
@@ -186,8 +186,8 @@ const struct button_mapping pla_main_ctx[] =
186 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE}, 186 { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE},
187 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE}, 187 { PLA_LEFT, BUTTON_PREV, BUTTON_NONE},
188 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE}, 188 { PLA_RIGHT, BUTTON_NEXT, BUTTON_NONE},
189 { PLA_UP_REPEAT, BUTTON_UP, BUTTON_NONE}, 189 { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE},
190 { PLA_DOWN_REPEAT, BUTTON_DOWN, BUTTON_NONE}, 190 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE},
191 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE}, 191 { PLA_LEFT_REPEAT, BUTTON_PREV|BUTTON_REPEAT, BUTTON_NONE},
192 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE}, 192 { PLA_RIGHT_REPEAT, BUTTON_NEXT|BUTTON_REPEAT, BUTTON_NONE},
193#elif (CONFIG_KEYPAD == MPIO_HD200_PAD) 193#elif (CONFIG_KEYPAD == MPIO_HD200_PAD)
diff --git a/firmware/target/arm/pbell/vibe500/button-vibe500.c b/firmware/target/arm/pbell/vibe500/button-vibe500.c
index b129cfea2d..54b4d2dbb1 100644
--- a/firmware/target/arm/pbell/vibe500/button-vibe500.c
+++ b/firmware/target/arm/pbell/vibe500/button-vibe500.c
@@ -29,6 +29,9 @@
29static int int_btn = BUTTON_NONE; 29static int int_btn = BUTTON_NONE;
30static int old_pos = -1; 30static int old_pos = -1;
31 31
32static int scroll_repeat = BUTTON_NONE;
33static int repeat = 0;
34
32void button_init_device(void) 35void button_init_device(void)
33{ 36{
34} 37}
@@ -68,9 +71,23 @@ void button_int(void)
68 int scr_pos = val >> 8; /* split the scrollstrip into 16 regions */ 71 int scr_pos = val >> 8; /* split the scrollstrip into 16 regions */
69 if ((old_pos<scr_pos)&&(old_pos!=-1)) int_btn = BUTTON_DOWN; 72 if ((old_pos<scr_pos)&&(old_pos!=-1)) int_btn = BUTTON_DOWN;
70 if ((old_pos>scr_pos)&&(old_pos!=-1)) int_btn = BUTTON_UP; 73 if ((old_pos>scr_pos)&&(old_pos!=-1)) int_btn = BUTTON_UP;
74
71 old_pos = scr_pos; 75 old_pos = scr_pos;
76
77 /* repeat button */
78 repeat = 0;
79 if (int_btn!=BUTTON_NONE)
80 {
81 if (int_btn!=scroll_repeat)
82 scroll_repeat = int_btn;
83 else repeat = BUTTON_REPEAT;
84 }
85 }
86 else
87 {
88 old_pos = -1;
89 scroll_repeat = BUTTON_NONE;
72 } 90 }
73 else old_pos=-1;
74 } 91 }
75} 92}
76 93
@@ -106,12 +123,13 @@ int button_read_device(void)
106 /* Scrollstrip direct button post - much better response */ 123 /* Scrollstrip direct button post - much better response */
107 if ((buttons==BUTTON_UP) || (buttons==BUTTON_DOWN)) 124 if ((buttons==BUTTON_UP) || (buttons==BUTTON_DOWN))
108 { 125 {
109 queue_post(&button_queue,buttons,0); 126 queue_post(&button_queue,buttons|repeat,0);
110 backlight_on(); 127 backlight_on();
111 buttonlight_on(); 128 buttonlight_on();
112 reset_poweroff_timer(); 129 reset_poweroff_timer();
113 buttons = BUTTON_NONE; 130 buttons = BUTTON_NONE;
114 int_btn = BUTTON_NONE; 131 int_btn = BUTTON_NONE;
132 repeat = BUTTON_NONE;
115 } 133 }
116 } 134 }
117 else return BUTTON_NONE; 135 else return BUTTON_NONE;