diff options
Diffstat (limited to 'apps/plugins/rockboy/events.c')
-rw-r--r-- | apps/plugins/rockboy/events.c | 45 |
1 files changed, 15 insertions, 30 deletions
diff --git a/apps/plugins/rockboy/events.c b/apps/plugins/rockboy/events.c index 5a34ce81e5..c018f7ce53 100644 --- a/apps/plugins/rockboy/events.c +++ b/apps/plugins/rockboy/events.c | |||
@@ -8,10 +8,6 @@ | |||
8 | #include "rockmacros.h" | 8 | #include "rockmacros.h" |
9 | #include "input.h" | 9 | #include "input.h" |
10 | 10 | ||
11 | |||
12 | char keystates[MAX_KEYS]; | ||
13 | int nkeysdown; | ||
14 | |||
15 | #define MAX_EVENTS 32 | 11 | #define MAX_EVENTS 32 |
16 | 12 | ||
17 | static event_t eventqueue[MAX_EVENTS]; | 13 | static event_t eventqueue[MAX_EVENTS]; |
@@ -20,34 +16,23 @@ static int eventhead, eventpos; | |||
20 | 16 | ||
21 | int ev_postevent(event_t *ev) | 17 | int ev_postevent(event_t *ev) |
22 | { | 18 | { |
23 | int nextevent; | 19 | int nextevent; |
24 | nextevent = (eventhead+1)%MAX_EVENTS; | 20 | nextevent = (eventhead+1)%MAX_EVENTS; |
25 | if (nextevent == eventpos) | 21 | if (nextevent == eventpos) |
26 | return 0; | 22 | return 0; |
27 | eventqueue[eventhead] = *ev; | 23 | eventqueue[eventhead] = *ev; |
28 | eventhead = nextevent; | 24 | eventhead = nextevent; |
29 | return 1; | 25 | return 1; |
30 | } | 26 | } |
31 | 27 | ||
32 | int ev_getevent(event_t *ev) | 28 | int ev_getevent(event_t *ev) |
33 | { | 29 | { |
34 | if (eventpos == eventhead) | 30 | if (eventpos == eventhead) |
35 | { | 31 | { |
36 | ev->type = EV_NONE; | 32 | ev->type = EV_NONE; |
37 | return 0; | 33 | return 0; |
38 | } | 34 | } |
39 | *ev = eventqueue[eventpos]; | 35 | *ev = eventqueue[eventpos]; |
40 | eventpos = (eventpos+1)%MAX_EVENTS; | 36 | eventpos = (eventpos+1)%MAX_EVENTS; |
41 | if (ev->type == EV_PRESS) | 37 | return 1; |
42 | { | ||
43 | keystates[ev->code] = 1; | ||
44 | nkeysdown++; | ||
45 | } | ||
46 | if (ev->type == EV_RELEASE) | ||
47 | { | ||
48 | keystates[ev->code] = 0; | ||
49 | nkeysdown--; | ||
50 | if (nkeysdown < 0) nkeysdown = 0; | ||
51 | } | ||
52 | return 1; | ||
53 | } | 38 | } |