diff options
author | Tomer Shalev <shalev.tomer@gmail.com> | 2010-01-16 21:41:57 +0000 |
---|---|---|
committer | Tomer Shalev <shalev.tomer@gmail.com> | 2010-01-16 21:41:57 +0000 |
commit | f7237af58d0371314a4b2e71d80f558c46eb03bb (patch) | |
tree | 51ce4d38bfe8ab183ed7c0ae802bf61d3e35adb8 /uisimulator/sdl | |
parent | ea5c6b94d0929dd6fb954a301c951c05344e88e9 (diff) | |
download | rockbox-f7237af58d0371314a4b2e71d80f558c46eb03bb.tar.gz rockbox-f7237af58d0371314a4b2e71d80f558c46eb03bb.zip |
Simulator: Make touchscreen targets usable on keyboards w/o numpad (laptops)
Use 7,8,9,u,i,o,j,k,l as equivalent to the numpad keys used to simulate
touching in grid mode (3x3 buttons). These are the keys usually used on such
keyboards for numpad keys when the Num Lock is enabled.
The USB key on these targets is changed to 'c' (connect) to avoid conflict in
key mappings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24252 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/sdl')
-rw-r--r-- | uisimulator/sdl/button.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c index 2fbc41e373..f9bfac1dee 100644 --- a/uisimulator/sdl/button.c +++ b/uisimulator/sdl/button.c | |||
@@ -45,6 +45,12 @@ static int mouse_coords = 0; | |||
45 | /* speed repeat finishes at */ | 45 | /* speed repeat finishes at */ |
46 | #define REPEAT_INTERVAL_FINISH 2 | 46 | #define REPEAT_INTERVAL_FINISH 2 |
47 | 47 | ||
48 | #ifdef HAVE_TOUCHSCREEN | ||
49 | #define USB_KEY SDLK_c /* SDLK_u is taken by BUTTON_MIDLEFT */ | ||
50 | #else | ||
51 | #define USB_KEY SDLK_u | ||
52 | #endif | ||
53 | |||
48 | #if defined(IRIVER_H100_SERIES) || defined (IRIVER_H300_SERIES) | 54 | #if defined(IRIVER_H100_SERIES) || defined (IRIVER_H300_SERIES) |
49 | int _remote_type=REMOTETYPE_H100_LCD; | 55 | int _remote_type=REMOTETYPE_H100_LCD; |
50 | 56 | ||
@@ -76,7 +82,7 @@ void button_event(int key, bool pressed) | |||
76 | { | 82 | { |
77 | int new_btn = 0; | 83 | int new_btn = 0; |
78 | static bool usb_connected = false; | 84 | static bool usb_connected = false; |
79 | if (usb_connected && key != SDLK_u) | 85 | if (usb_connected && key != USB_KEY) |
80 | return; | 86 | return; |
81 | switch (key) | 87 | switch (key) |
82 | { | 88 | { |
@@ -103,30 +109,43 @@ void button_event(int key, bool pressed) | |||
103 | } | 109 | } |
104 | break; | 110 | break; |
105 | case SDLK_KP7: | 111 | case SDLK_KP7: |
112 | case SDLK_7: | ||
106 | new_btn = BUTTON_TOPLEFT; | 113 | new_btn = BUTTON_TOPLEFT; |
107 | break; | 114 | break; |
108 | case SDLK_KP8: | 115 | case SDLK_KP8: |
116 | case SDLK_8: | ||
117 | case SDLK_UP: | ||
109 | new_btn = BUTTON_TOPMIDDLE; | 118 | new_btn = BUTTON_TOPMIDDLE; |
110 | break; | 119 | break; |
111 | case SDLK_KP9: | 120 | case SDLK_KP9: |
121 | case SDLK_9: | ||
112 | new_btn = BUTTON_TOPRIGHT; | 122 | new_btn = BUTTON_TOPRIGHT; |
113 | break; | 123 | break; |
114 | case SDLK_KP4: | 124 | case SDLK_KP4: |
125 | case SDLK_u: | ||
126 | case SDLK_LEFT: | ||
115 | new_btn = BUTTON_MIDLEFT; | 127 | new_btn = BUTTON_MIDLEFT; |
116 | break; | 128 | break; |
117 | case SDLK_KP5: | 129 | case SDLK_KP5: |
130 | case SDLK_i: | ||
118 | new_btn = BUTTON_CENTER; | 131 | new_btn = BUTTON_CENTER; |
119 | break; | 132 | break; |
120 | case SDLK_KP6: | 133 | case SDLK_KP6: |
134 | case SDLK_o: | ||
135 | case SDLK_RIGHT: | ||
121 | new_btn = BUTTON_MIDRIGHT; | 136 | new_btn = BUTTON_MIDRIGHT; |
122 | break; | 137 | break; |
123 | case SDLK_KP1: | 138 | case SDLK_KP1: |
139 | case SDLK_j: | ||
124 | new_btn = BUTTON_BOTTOMLEFT; | 140 | new_btn = BUTTON_BOTTOMLEFT; |
125 | break; | 141 | break; |
126 | case SDLK_KP2: | 142 | case SDLK_KP2: |
143 | case SDLK_k: | ||
144 | case SDLK_DOWN: | ||
127 | new_btn = BUTTON_BOTTOMMIDDLE; | 145 | new_btn = BUTTON_BOTTOMMIDDLE; |
128 | break; | 146 | break; |
129 | case SDLK_KP3: | 147 | case SDLK_KP3: |
148 | case SDLK_l: | ||
130 | new_btn = BUTTON_BOTTOMRIGHT; | 149 | new_btn = BUTTON_BOTTOMRIGHT; |
131 | break; | 150 | break; |
132 | case SDLK_F4: | 151 | case SDLK_F4: |
@@ -138,7 +157,7 @@ void button_event(int key, bool pressed) | |||
138 | break; | 157 | break; |
139 | 158 | ||
140 | #endif | 159 | #endif |
141 | case SDLK_u: | 160 | case USB_KEY: |
142 | if (!pressed) | 161 | if (!pressed) |
143 | { | 162 | { |
144 | usb_connected = !usb_connected; | 163 | usb_connected = !usb_connected; |