diff options
Diffstat (limited to 'firmware/target/hosted/sdl/app')
-rw-r--r-- | firmware/target/hosted/sdl/app/button-application.c | 56 | ||||
-rw-r--r-- | firmware/target/hosted/sdl/app/button-target.h | 37 |
2 files changed, 72 insertions, 21 deletions
diff --git a/firmware/target/hosted/sdl/app/button-application.c b/firmware/target/hosted/sdl/app/button-application.c index a27f769718..3f31933951 100644 --- a/firmware/target/hosted/sdl/app/button-application.c +++ b/firmware/target/hosted/sdl/app/button-application.c | |||
@@ -20,10 +20,62 @@ | |||
20 | ***************************************************9*************************/ | 20 | ***************************************************9*************************/ |
21 | 21 | ||
22 | 22 | ||
23 | #include <stdio.h> | ||
24 | #include <SDL.h> | ||
23 | #include "button.h" | 25 | #include "button.h" |
26 | #include "buttonmap.h" | ||
24 | 27 | ||
25 | int key_to_button(int keyboard_key) | 28 | int key_to_button(int keyboard_key) |
26 | { | 29 | { |
27 | (void)keyboard_key; | 30 | int new_btn = BUTTON_NONE; |
28 | return BUTTON_NONE; | 31 | switch (keyboard_key) |
32 | { | ||
33 | case SDLK_KP7: | ||
34 | new_btn = BUTTON_TOPLEFT; | ||
35 | break; | ||
36 | case SDLK_KP8: | ||
37 | new_btn = BUTTON_TOPMIDDLE; | ||
38 | break; | ||
39 | case SDLK_KP9: | ||
40 | new_btn = BUTTON_TOPRIGHT; | ||
41 | break; | ||
42 | case SDLK_KP4: | ||
43 | case SDLK_LEFT: | ||
44 | new_btn = BUTTON_MIDLEFT; | ||
45 | break; | ||
46 | case SDLK_KP5: | ||
47 | new_btn = BUTTON_CENTER; | ||
48 | break; | ||
49 | case SDLK_KP6: | ||
50 | case SDLK_RIGHT: | ||
51 | new_btn = BUTTON_MIDRIGHT; | ||
52 | break; | ||
53 | case SDLK_KP1: | ||
54 | new_btn = BUTTON_BOTTOMLEFT; | ||
55 | break; | ||
56 | case SDLK_KP2: | ||
57 | case SDLK_DOWN: | ||
58 | new_btn = BUTTON_BOTTOMMIDDLE; | ||
59 | break; | ||
60 | case SDLK_KP3: | ||
61 | new_btn = BUTTON_BOTTOMRIGHT; | ||
62 | break; | ||
63 | #ifdef HAVE_SCROLLWHEEL | ||
64 | case SDL_BUTTON_WHEELUP: | ||
65 | new_btn = BUTTON_SCROLL_BACK; | ||
66 | break; | ||
67 | case SDL_BUTTON_WHEELDOWN: | ||
68 | new_btn = BUTTON_SCROLL_FWD; | ||
69 | break; | ||
70 | #endif | ||
71 | case SDL_BUTTON_RIGHT: | ||
72 | new_btn = BUTTON_MIDLEFT; | ||
73 | break; | ||
74 | case SDL_BUTTON_MIDDLE: | ||
75 | new_btn = BUTTON_MIDRIGHT; | ||
76 | break; | ||
77 | default: | ||
78 | break; | ||
79 | } | ||
80 | return new_btn; | ||
29 | } | 81 | } |
diff --git a/firmware/target/hosted/sdl/app/button-target.h b/firmware/target/hosted/sdl/app/button-target.h index 54ae3a2fae..5295315e2e 100644 --- a/firmware/target/hosted/sdl/app/button-target.h +++ b/firmware/target/hosted/sdl/app/button-target.h | |||
@@ -34,27 +34,26 @@ void button_init_device(void); | |||
34 | int button_read_device(int *data); | 34 | int button_read_device(int *data); |
35 | 35 | ||
36 | /* Main unit's buttons */ | 36 | /* Main unit's buttons */ |
37 | #define BUTTON_POWER 0x00000001 | 37 | #define BUTTON_UP 0x00000001 |
38 | #define BUTTON_PLUS 0x00000002 | 38 | #define BUTTON_DOWN 0x00000002 |
39 | #define BUTTON_MINUS 0x00000004 | 39 | #define BUTTON_LEFT 0x00000004 |
40 | #define BUTTON_MENU 0x00000008 | 40 | #define BUTTON_RIGHT 0x00000008 |
41 | 41 | #define BUTTON_SELECT 0x00000010 | |
42 | /* Compatibility hacks for flipping. Needs a somewhat better fix. */ | 42 | #define BUTTON_MENU 0x00000020 |
43 | #define BUTTON_LEFT BUTTON_MIDLEFT | 43 | #define BUTTON_BACK 0x00000040 |
44 | #define BUTTON_RIGHT BUTTON_MIDRIGHT | 44 | #define BUTTON_SCROLL_FWD 0x00000100 |
45 | #define BUTTON_UP BUTTON_TOPMIDDLE | 45 | #define BUTTON_SCROLL_BACK 0x00000200 |
46 | #define BUTTON_DOWN BUTTON_BOTTOMMIDDLE | ||
47 | 46 | ||
48 | /* Touch Screen Area Buttons */ | 47 | /* Touch Screen Area Buttons */ |
49 | #define BUTTON_TOPLEFT 0x00000010 | 48 | #define BUTTON_TOPLEFT 0x00001000 |
50 | #define BUTTON_TOPMIDDLE 0x00000020 | 49 | #define BUTTON_TOPMIDDLE 0x00002000 |
51 | #define BUTTON_TOPRIGHT 0x00000040 | 50 | #define BUTTON_TOPRIGHT 0x00004000 |
52 | #define BUTTON_MIDLEFT 0x00000080 | 51 | #define BUTTON_MIDLEFT 0x00008000 |
53 | #define BUTTON_CENTER 0x00000100 | 52 | #define BUTTON_CENTER 0x00010000 |
54 | #define BUTTON_MIDRIGHT 0x00000200 | 53 | #define BUTTON_MIDRIGHT 0x00020000 |
55 | #define BUTTON_BOTTOMLEFT 0x00000400 | 54 | #define BUTTON_BOTTOMLEFT 0x00040000 |
56 | #define BUTTON_BOTTOMMIDDLE 0x00000800 | 55 | #define BUTTON_BOTTOMMIDDLE 0x00080000 |
57 | #define BUTTON_BOTTOMRIGHT 0x00001000 | 56 | #define BUTTON_BOTTOMRIGHT 0x00100000 |
58 | 57 | ||
59 | #define BUTTON_MAIN 0x1FFF | 58 | #define BUTTON_MAIN 0x1FFF |
60 | 59 | ||