summaryrefslogtreecommitdiff
path: root/uisimulator/sdl/button.c
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator/sdl/button.c')
-rw-r--r--uisimulator/sdl/button.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index 6402c75d55..c32c0a8c6a 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -34,16 +34,8 @@
34static intptr_t button_data; /* data value from last message dequeued */ 34static intptr_t button_data; /* data value from last message dequeued */
35 35
36#ifdef HAVE_TOUCHSCREEN 36#ifdef HAVE_TOUCHSCREEN
37#include "touchscreen.h"
37static int mouse_coords = 0; 38static int mouse_coords = 0;
38static enum touchscreen_mode touchscreen_mode = TOUCHSCREEN_POINT;
39void touchscreen_set_mode(enum touchscreen_mode mode)
40{
41 touchscreen_mode = mode;
42}
43enum touchscreen_mode touchscreen_get_mode(void)
44{
45 return touchscreen_mode;
46}
47#endif 39#endif
48/* how long until repeat kicks in */ 40/* how long until repeat kicks in */
49#define REPEAT_START 6 41#define REPEAT_START 6
@@ -124,7 +116,7 @@ void button_event(int key, bool pressed)
124#ifdef HAVE_TOUCHSCREEN 116#ifdef HAVE_TOUCHSCREEN
125 case BUTTON_TOUCHSCREEN: 117 case BUTTON_TOUCHSCREEN:
126 data = mouse_coords; 118 data = mouse_coords;
127 switch (touchscreen_mode) 119 switch (touchscreen_get_mode())
128 { 120 {
129 case TOUCHSCREEN_POINT: 121 case TOUCHSCREEN_POINT:
130 new_btn = BUTTON_TOUCHSCREEN; 122 new_btn = BUTTON_TOUCHSCREEN;
@@ -172,8 +164,8 @@ void button_event(int key, bool pressed)
172 case SDLK_F4: 164 case SDLK_F4:
173 if(pressed) 165 if(pressed)
174 { 166 {
175 touchscreen_mode = (touchscreen_mode == TOUCHSCREEN_POINT ? TOUCHSCREEN_BUTTON : TOUCHSCREEN_POINT); 167 touchscreen_set_mode(touchscreen_get_mode() == TOUCHSCREEN_POINT ? TOUCHSCREEN_BUTTON : TOUCHSCREEN_POINT);
176 printf("Touchscreen mode: %s\n", touchscreen_mode == TOUCHSCREEN_POINT ? "TOUCHSCREEN_POINT" : "TOUCHSCREEN_BUTTON"); 168 printf("Touchscreen mode: %s\n", touchscreen_get_mode() == TOUCHSCREEN_POINT ? "TOUCHSCREEN_POINT" : "TOUCHSCREEN_BUTTON");
177 } 169 }
178 break; 170 break;
179 171
@@ -1091,6 +1083,19 @@ void button_event(int key, bool pressed)
1091 case SDLK_KP_PLUS: 1083 case SDLK_KP_PLUS:
1092 new_btn = BUTTON_VIEW; 1084 new_btn = BUTTON_VIEW;
1093 break; 1085 break;
1086#elif CONFIG_KEYPAD == ONDAVX747_PAD
1087 case SDLK_ESCAPE:
1088 new_btn = BUTTON_POWER;
1089 break;
1090 case SDLK_KP_PLUS:
1091 new_btn = BUTTON_VOL_UP;
1092 break;
1093 case SDLK_KP_MINUS:
1094 new_btn = BUTTON_VOL_DOWN;
1095 break;
1096 case SDLK_KP_ENTER:
1097 new_btn = BUTTON_MENU;
1098 break;
1094#else 1099#else
1095#error No keymap defined! 1100#error No keymap defined!
1096#endif /* CONFIG_KEYPAD */ 1101#endif /* CONFIG_KEYPAD */