diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-08-07 07:22:44 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-08-07 07:22:44 +0000 |
commit | 3c67c0a5121454277f52a60368d713bfc7547cf7 (patch) | |
tree | 1dd287200e23e25c48d5777d25c1733d31620bf4 /firmware/drivers/button.c | |
parent | 8abcf1bd20d8568c3b39f97fb7ee9560b132f2a3 (diff) | |
download | rockbox-3c67c0a5121454277f52a60368d713bfc7547cf7.tar.gz rockbox-3c67c0a5121454277f52a60368d713bfc7547cf7.zip |
Added button_get_w_tmo()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1576 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/button.c')
-rw-r--r-- | firmware/drivers/button.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 878f041c78..d709b012de 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -149,6 +149,24 @@ int button_get(bool block) | |||
149 | return BUTTON_NONE; | 149 | return BUTTON_NONE; |
150 | } | 150 | } |
151 | 151 | ||
152 | int button_get_w_tmo(int ticks) | ||
153 | { | ||
154 | struct event ev; | ||
155 | unsigned int timeout = current_tick + ticks; | ||
156 | |||
157 | while (TIME_BEFORE( current_tick, timeout )) | ||
158 | { | ||
159 | if(!queue_empty(&button_queue)) | ||
160 | { | ||
161 | queue_wait(&button_queue, &ev); | ||
162 | return ev.id; | ||
163 | } | ||
164 | yield(); | ||
165 | } | ||
166 | |||
167 | return BUTTON_NONE; | ||
168 | } | ||
169 | |||
152 | int button_set_repeat(int newmask) | 170 | int button_set_repeat(int newmask) |
153 | { | 171 | { |
154 | int oldmask = repeat_mask; | 172 | int oldmask = repeat_mask; |