| 242 | } |
| 243 | |
| 244 | static inline uint32_t map_hat(Uint8 value) { |
| 245 | uint32_t mapped = 0; |
| 246 | |
| 247 | switch (value) { |
| 248 | case SDL_HAT_CENTERED: |
| 249 | mapped = JOYPOV_CENTER; |
| 250 | break; |
| 251 | case SDL_HAT_UP: |
| 252 | mapped = 0x00; |
| 253 | break; |
| 254 | case SDL_HAT_UP | SDL_HAT_RIGHT: |
| 255 | mapped = 0x20; |
| 256 | break; |
| 257 | case SDL_HAT_RIGHT: |
| 258 | mapped = 0x40; |
| 259 | break; |
| 260 | case SDL_HAT_RIGHT | SDL_HAT_DOWN: |
| 261 | mapped = 0x60; |
| 262 | break; |
| 263 | case SDL_HAT_DOWN: |
| 264 | mapped = 0x80; |
| 265 | break; |
| 266 | case SDL_HAT_DOWN | SDL_HAT_LEFT: |
| 267 | mapped = 0xA0; |
| 268 | break; |
| 269 | case SDL_HAT_LEFT: |
| 270 | mapped = 0xC0; |
| 271 | break; |
| 272 | case SDL_HAT_LEFT | SDL_HAT_UP: |
| 273 | mapped = 0xE0; |
| 274 | break; |
| 275 | } |
| 276 | return mapped; |
| 277 | } |
| 278 | |
| 279 | // returns the state of a stick, remote or otherwise |
| 280 | void joy_GetPos(tJoystick joy, tJoyPos *pos) { |