diff options
author | Szymon Dziok <b0hoon@o2.pl> | 2010-05-24 19:48:06 +0000 |
---|---|---|
committer | Szymon Dziok <b0hoon@o2.pl> | 2010-05-24 19:48:06 +0000 |
commit | 06601e5fbaa772bdfe4265c19ff75c3f8c24e223 (patch) | |
tree | 65bb61032f2fdb189b005c07239c03aba7469870 | |
parent | f7253e322f552e7185c25b81632594b1ec133a0f (diff) | |
download | rockbox-06601e5fbaa772bdfe4265c19ff75c3f8c24e223.tar.gz rockbox-06601e5fbaa772bdfe4265c19ff75c3f8c24e223.zip |
Vibe 500: fix the scrolling through the lists by implementing BUTTON_REPEAT for the scrollstrip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26268 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/keymaps/keymap-vibe500.c | 30 | ||||
-rw-r--r-- | apps/plugins/lib/pluginlib_actions.c | 4 | ||||
-rw-r--r-- | firmware/target/arm/pbell/vibe500/button-vibe500.c | 22 |
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 | */ |
40 | static const struct button_mapping button_context_standard[] = { | 40 | static 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 | ||
99 | static const struct button_mapping button_context_settings[] = { | 101 | static 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 | ||
124 | static const struct button_mapping button_context_quickscreen[] = { | 126 | static 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 | ||
136 | static const struct button_mapping button_context_pitchscreen[] = { | 140 | static 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 | ||
199 | static const struct button_mapping button_context_usb_hid_mode_multimedia[] = { | 207 | static 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 | ||
229 | static const struct button_mapping button_context_usb_hid_mode_browser[] = { | 241 | static 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 |
248 | static const struct button_mapping button_context_usb_hid_mode_mouse[] = { | 262 | static 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 @@ | |||
29 | static int int_btn = BUTTON_NONE; | 29 | static int int_btn = BUTTON_NONE; |
30 | static int old_pos = -1; | 30 | static int old_pos = -1; |
31 | 31 | ||
32 | static int scroll_repeat = BUTTON_NONE; | ||
33 | static int repeat = 0; | ||
34 | |||
32 | void button_init_device(void) | 35 | void 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; |