2 * Copyright (c) 2007-2013, Czirkos Zoltan http://code.google.com/p/gdash/
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files (the
6 * "Software"), to deal in the Software without restriction, including
7 * without limitation the rights to use, copy, modify, merge, publish,
8 * distribute, sublicense, and/or sell copies of the Software, and to
9 * permit persons to whom the Software is furnished to do so, subject to
10 * the following conditions:
12 * The above copyright notice and this permission notice shall be
13 * included in all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
19 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
20 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 #include "sdl/sdlgameinputhandler.hpp"
29 #include "settings.hpp"
31 /* This should be in the same order as the enum, so that can be used
33 GameInputHandler::KeyAssignment
SDLGameInputHandler::keys_array
[] = {
34 { KeyUp
, gd_sdl_key_up
, &GameInputHandler::up_k
},
35 { KeyDown
, gd_sdl_key_down
, &GameInputHandler::down_k
},
36 { KeyLeft
, gd_sdl_key_left
, &GameInputHandler::left_k
},
37 { KeyRight
, gd_sdl_key_right
, &GameInputHandler::right_k
},
38 { KeyFire1
, gd_sdl_key_fire_1
, &GameInputHandler::fire1_k
},
39 { KeyFire2
, gd_sdl_key_fire_2
, &GameInputHandler::fire2_k
},
40 { KeySuicide
, gd_sdl_key_suicide
, &GameInputHandler::suicide
},
41 { KeyFastForward
, gd_sdl_key_fast_forward
, &GameInputHandler::fast_forward
},
42 { KeyStatusBar
, gd_sdl_key_status_bar
, &GameInputHandler::alternate_status
},
43 { KeyRestartLevel
, gd_sdl_key_restart_level
, &GameInputHandler::restart_k
},
47 char const *SDLGameInputHandler::get_key_name_from_keycode(int gfxlib_keycode
) {
48 return SDL_GetKeyName(SDLKey(gfxlib_keycode
));
52 GameInputHandler::KeyAssignment
const &SDLGameInputHandler::get_key(Keys keyindex
) const {
53 return keys_array
[keyindex
];