578 lines
19 KiB
C
578 lines
19 KiB
C
/* vim:expandtab:ts=2 sw=2:
|
|
*/
|
|
/* Grafx2 - The Ultimate 256-color bitmap paint program
|
|
|
|
Copyright 2018 Thomas Bernard
|
|
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
|
|
|
|
Grafx2 is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; version 2
|
|
of the License.
|
|
|
|
Grafx2 is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Grafx2; if not, see <http://www.gnu.org/licenses/>
|
|
*/
|
|
|
|
#ifndef KEYCODES_H_INCLUDED
|
|
#define KEYCODES_H_INCLUDED
|
|
|
|
#if defined(USE_SDL) || defined(USE_SDL2)
|
|
#include <SDL.h>
|
|
#elif defined(WIN32)
|
|
#include <windows.h>
|
|
#elif defined(USE_X11)
|
|
#include <X11/keysym.h>
|
|
#endif
|
|
|
|
#if defined(USE_SDL)
|
|
#define K2K(x) (x)
|
|
#elif defined(USE_SDL2)
|
|
#define K2K(x) ((((x) & 0x40000000) >> 19) | ((x) & 0x1FF))
|
|
#elif defined(USE_X11)
|
|
#define K2K(x) ((x) & 0x0FFF)
|
|
#endif
|
|
|
|
/* generated lists */
|
|
#if defined(USE_SDL) || defined(USE_SDL2)
|
|
// KEY definitions for SDL and SDL2
|
|
#define KEY_UNKNOWN K2K(SDLK_UNKNOWN)
|
|
#define KEY_ESCAPE K2K(SDLK_ESCAPE)
|
|
#define KEY_RETURN K2K(SDLK_RETURN)
|
|
#define KEY_BACKSPACE K2K(SDLK_BACKSPACE)
|
|
#define KEY_TAB K2K(SDLK_TAB)
|
|
#define KEY_UP K2K(SDLK_UP)
|
|
#define KEY_DOWN K2K(SDLK_DOWN)
|
|
#define KEY_LEFT K2K(SDLK_LEFT)
|
|
#define KEY_RIGHT K2K(SDLK_RIGHT)
|
|
#define KEY_LEFTBRACKET K2K(SDLK_LEFTBRACKET)
|
|
#define KEY_RIGHTBRACKET K2K(SDLK_RIGHTBRACKET)
|
|
#define KEY_INSERT K2K(SDLK_INSERT)
|
|
#define KEY_DELETE K2K(SDLK_DELETE)
|
|
#define KEY_COMMA K2K(SDLK_COMMA)
|
|
#define KEY_BACKQUOTE K2K(SDLK_BACKQUOTE)
|
|
#define KEY_PAGEUP K2K(SDLK_PAGEUP)
|
|
#define KEY_PAGEDOWN K2K(SDLK_PAGEDOWN)
|
|
#define KEY_HOME K2K(SDLK_HOME)
|
|
#define KEY_END K2K(SDLK_END)
|
|
#define KEY_KP_PLUS K2K(SDLK_KP_PLUS)
|
|
#define KEY_KP_MINUS K2K(SDLK_KP_MINUS)
|
|
#define KEY_KP_MULTIPLY K2K(SDLK_KP_MULTIPLY)
|
|
#define KEY_KP_ENTER K2K(SDLK_KP_ENTER)
|
|
#define KEY_KP_DIVIDE K2K(SDLK_KP_DIVIDE)
|
|
#define KEY_KP_PERIOD K2K(SDLK_KP_PERIOD)
|
|
#define KEY_KP_EQUALS K2K(SDLK_KP_EQUALS)
|
|
#define KEY_EQUALS K2K(SDLK_EQUALS)
|
|
#define KEY_MINUS K2K(SDLK_MINUS)
|
|
#define KEY_PERIOD K2K(SDLK_PERIOD)
|
|
#define KEY_CAPSLOCK K2K(SDLK_CAPSLOCK)
|
|
#define KEY_CLEAR K2K(SDLK_CLEAR)
|
|
#define KEY_SPACE K2K(SDLK_SPACE)
|
|
#define KEY_PAUSE K2K(SDLK_PAUSE)
|
|
#define KEY_LSHIFT K2K(SDLK_LSHIFT)
|
|
#define KEY_RSHIFT K2K(SDLK_RSHIFT)
|
|
#define KEY_LCTRL K2K(SDLK_LCTRL)
|
|
#define KEY_RCTRL K2K(SDLK_RCTRL)
|
|
#define KEY_LALT K2K(SDLK_LALT)
|
|
#define KEY_RALT K2K(SDLK_RALT)
|
|
#define KEY_0 K2K(SDLK_0)
|
|
#define KEY_1 K2K(SDLK_1)
|
|
#define KEY_2 K2K(SDLK_2)
|
|
#define KEY_3 K2K(SDLK_3)
|
|
#define KEY_4 K2K(SDLK_4)
|
|
#define KEY_5 K2K(SDLK_5)
|
|
#define KEY_6 K2K(SDLK_6)
|
|
#define KEY_7 K2K(SDLK_7)
|
|
#define KEY_8 K2K(SDLK_8)
|
|
#define KEY_9 K2K(SDLK_9)
|
|
#define KEY_a K2K(SDLK_a)
|
|
#define KEY_b K2K(SDLK_b)
|
|
#define KEY_c K2K(SDLK_c)
|
|
#define KEY_d K2K(SDLK_d)
|
|
#define KEY_e K2K(SDLK_e)
|
|
#define KEY_f K2K(SDLK_f)
|
|
#define KEY_g K2K(SDLK_g)
|
|
#define KEY_h K2K(SDLK_h)
|
|
#define KEY_i K2K(SDLK_i)
|
|
#define KEY_j K2K(SDLK_j)
|
|
#define KEY_k K2K(SDLK_k)
|
|
#define KEY_l K2K(SDLK_l)
|
|
#define KEY_m K2K(SDLK_m)
|
|
#define KEY_n K2K(SDLK_n)
|
|
#define KEY_o K2K(SDLK_o)
|
|
#define KEY_p K2K(SDLK_p)
|
|
#define KEY_q K2K(SDLK_q)
|
|
#define KEY_r K2K(SDLK_r)
|
|
#define KEY_s K2K(SDLK_s)
|
|
#define KEY_t K2K(SDLK_t)
|
|
#define KEY_u K2K(SDLK_u)
|
|
#define KEY_v K2K(SDLK_v)
|
|
#define KEY_w K2K(SDLK_w)
|
|
#define KEY_x K2K(SDLK_x)
|
|
#define KEY_y K2K(SDLK_y)
|
|
#define KEY_z K2K(SDLK_z)
|
|
#if defined(USE_SDL)
|
|
#define KEY_KP0 K2K(SDLK_KP0)
|
|
#define KEY_KP1 K2K(SDLK_KP1)
|
|
#define KEY_KP2 K2K(SDLK_KP2)
|
|
#define KEY_KP3 K2K(SDLK_KP3)
|
|
#define KEY_KP4 K2K(SDLK_KP4)
|
|
#define KEY_KP5 K2K(SDLK_KP5)
|
|
#define KEY_KP6 K2K(SDLK_KP6)
|
|
#define KEY_KP7 K2K(SDLK_KP7)
|
|
#define KEY_KP8 K2K(SDLK_KP8)
|
|
#define KEY_KP9 K2K(SDLK_KP9)
|
|
#define KEY_SCROLLOCK K2K(SDLK_SCROLLOCK)
|
|
#else
|
|
#define KEY_KP0 K2K(SDLK_KP_0)
|
|
#define KEY_KP1 K2K(SDLK_KP_1)
|
|
#define KEY_KP2 K2K(SDLK_KP_2)
|
|
#define KEY_KP3 K2K(SDLK_KP_3)
|
|
#define KEY_KP4 K2K(SDLK_KP_4)
|
|
#define KEY_KP5 K2K(SDLK_KP_5)
|
|
#define KEY_KP6 K2K(SDLK_KP_6)
|
|
#define KEY_KP7 K2K(SDLK_KP_7)
|
|
#define KEY_KP8 K2K(SDLK_KP_8)
|
|
#define KEY_KP9 K2K(SDLK_KP_9)
|
|
#define KEY_SCROLLOCK K2K(SDLK_SCROLLLOCK)
|
|
#endif
|
|
#define KEY_F1 K2K(SDLK_F1)
|
|
#define KEY_F2 K2K(SDLK_F2)
|
|
#define KEY_F3 K2K(SDLK_F3)
|
|
#define KEY_F4 K2K(SDLK_F4)
|
|
#define KEY_F5 K2K(SDLK_F5)
|
|
#define KEY_F6 K2K(SDLK_F6)
|
|
#define KEY_F7 K2K(SDLK_F7)
|
|
#define KEY_F8 K2K(SDLK_F8)
|
|
#define KEY_F9 K2K(SDLK_F9)
|
|
#define KEY_F10 K2K(SDLK_F10)
|
|
#define KEY_F11 K2K(SDLK_F11)
|
|
#define KEY_F12 K2K(SDLK_F12)
|
|
// end of KEY definitions for SDL and SDL2
|
|
#elif defined(USE_X11)
|
|
// KEY definitions for x11
|
|
#define KEY_UNKNOWN 0
|
|
#define KEY_ESCAPE K2K(XK_Escape)
|
|
#define KEY_RETURN K2K(XK_Return)
|
|
#define KEY_BACKSPACE K2K(XK_BackSpace)
|
|
#define KEY_TAB K2K(XK_Tab)
|
|
#define KEY_UP K2K(XK_Up)
|
|
#define KEY_DOWN K2K(XK_Down)
|
|
#define KEY_LEFT K2K(XK_Left)
|
|
#define KEY_RIGHT K2K(XK_Right)
|
|
#define KEY_LEFTBRACKET K2K(XK_bracketleft)
|
|
#define KEY_RIGHTBRACKET K2K(XK_bracketright)
|
|
#define KEY_INSERT K2K(XK_Insert)
|
|
#define KEY_DELETE K2K(XK_Delete)
|
|
#define KEY_COMMA K2K(XK_comma)
|
|
#define KEY_BACKQUOTE K2K(XK_grave)
|
|
#define KEY_PAGEUP K2K(XK_Page_Up)
|
|
#define KEY_PAGEDOWN K2K(XK_Page_Down)
|
|
#define KEY_HOME K2K(XK_Home)
|
|
#define KEY_END K2K(XK_End)
|
|
#define KEY_KP_PLUS K2K(XK_KP_Add)
|
|
#define KEY_KP_MINUS K2K(XK_KP_Subtract)
|
|
#define KEY_KP_MULTIPLY K2K(XK_KP_Multiply)
|
|
#define KEY_KP_ENTER K2K(XK_KP_Enter)
|
|
#define KEY_KP_DIVIDE K2K(XK_KP_Divide)
|
|
#define KEY_KP_PERIOD K2K(XK_KP_Decimal)
|
|
#define KEY_KP_EQUALS K2K(XK_KP_Equal)
|
|
#define KEY_EQUALS K2K(XK_equal)
|
|
#define KEY_MINUS K2K(XK_minus)
|
|
#define KEY_PERIOD K2K(XK_period)
|
|
#define KEY_CAPSLOCK K2K(XK_Caps_Lock)
|
|
#define KEY_CLEAR K2K(XK_Clear)
|
|
#define KEY_SPACE K2K(XK_space)
|
|
#define KEY_PAUSE K2K(XK_Pause)
|
|
#define KEY_LSHIFT K2K(XK_Shift_L)
|
|
#define KEY_RSHIFT K2K(XK_Shift_R)
|
|
#define KEY_LCTRL K2K(XK_Control_L)
|
|
#define KEY_RCTRL K2K(XK_Control_R)
|
|
#define KEY_LALT K2K(XK_Alt_L)
|
|
#define KEY_RALT K2K(XK_Alt_R)
|
|
#define KEY_0 K2K(XK_0)
|
|
#define KEY_1 K2K(XK_1)
|
|
#define KEY_2 K2K(XK_2)
|
|
#define KEY_3 K2K(XK_3)
|
|
#define KEY_4 K2K(XK_4)
|
|
#define KEY_5 K2K(XK_5)
|
|
#define KEY_6 K2K(XK_6)
|
|
#define KEY_7 K2K(XK_7)
|
|
#define KEY_8 K2K(XK_8)
|
|
#define KEY_9 K2K(XK_9)
|
|
#define KEY_a K2K(XK_a)
|
|
#define KEY_b K2K(XK_b)
|
|
#define KEY_c K2K(XK_c)
|
|
#define KEY_d K2K(XK_d)
|
|
#define KEY_e K2K(XK_e)
|
|
#define KEY_f K2K(XK_f)
|
|
#define KEY_g K2K(XK_g)
|
|
#define KEY_h K2K(XK_h)
|
|
#define KEY_i K2K(XK_i)
|
|
#define KEY_j K2K(XK_j)
|
|
#define KEY_k K2K(XK_k)
|
|
#define KEY_l K2K(XK_l)
|
|
#define KEY_m K2K(XK_m)
|
|
#define KEY_n K2K(XK_n)
|
|
#define KEY_o K2K(XK_o)
|
|
#define KEY_p K2K(XK_p)
|
|
#define KEY_q K2K(XK_q)
|
|
#define KEY_r K2K(XK_r)
|
|
#define KEY_s K2K(XK_s)
|
|
#define KEY_t K2K(XK_t)
|
|
#define KEY_u K2K(XK_u)
|
|
#define KEY_v K2K(XK_v)
|
|
#define KEY_w K2K(XK_w)
|
|
#define KEY_x K2K(XK_x)
|
|
#define KEY_y K2K(XK_y)
|
|
#define KEY_z K2K(XK_z)
|
|
#define KEY_KP0 K2K(XK_KP_0)
|
|
#define KEY_KP1 K2K(XK_KP_1)
|
|
#define KEY_KP2 K2K(XK_KP_2)
|
|
#define KEY_KP3 K2K(XK_KP_3)
|
|
#define KEY_KP4 K2K(XK_KP_4)
|
|
#define KEY_KP5 K2K(XK_KP_5)
|
|
#define KEY_KP6 K2K(XK_KP_6)
|
|
#define KEY_KP7 K2K(XK_KP_7)
|
|
#define KEY_KP8 K2K(XK_KP_8)
|
|
#define KEY_KP9 K2K(XK_KP_9)
|
|
#define KEY_SCROLLOCK K2K(XK_Scroll_Lock)
|
|
#define KEY_F1 K2K(XK_F1)
|
|
#define KEY_F2 K2K(XK_F2)
|
|
#define KEY_F3 K2K(XK_F3)
|
|
#define KEY_F4 K2K(XK_F4)
|
|
#define KEY_F5 K2K(XK_F5)
|
|
#define KEY_F6 K2K(XK_F6)
|
|
#define KEY_F7 K2K(XK_F7)
|
|
#define KEY_F8 K2K(XK_F8)
|
|
#define KEY_F9 K2K(XK_F9)
|
|
#define KEY_F10 K2K(XK_F10)
|
|
#define KEY_F11 K2K(XK_F11)
|
|
#define KEY_F12 K2K(XK_F12)
|
|
// end of KEY definitions for x11
|
|
#elif defined(WIN32)
|
|
// KEY definitions for win32
|
|
#define KEY_UNKNOWN 0
|
|
#define KEY_ESCAPE VK_ESCAPE
|
|
#define KEY_RETURN VK_RETURN
|
|
#define KEY_BACKSPACE VK_BACK
|
|
#define KEY_TAB VK_TAB
|
|
#define KEY_UP VK_UP
|
|
#define KEY_DOWN VK_DOWN
|
|
#define KEY_LEFT VK_LEFT
|
|
#define KEY_RIGHT VK_RIGHT
|
|
#define KEY_LEFTBRACKET VK_OEM_4
|
|
#define KEY_RIGHTBRACKET VK_OEM_6
|
|
#define KEY_INSERT VK_INSERT
|
|
#define KEY_DELETE VK_DELETE
|
|
#define KEY_COMMA VK_OEM_COMMA
|
|
#define KEY_BACKQUOTE VK_OEM_3
|
|
#define KEY_PAGEUP VK_PRIOR
|
|
#define KEY_PAGEDOWN VK_NEXT
|
|
#define KEY_HOME VK_HOME
|
|
#define KEY_END VK_END
|
|
#define KEY_KP_PLUS VK_ADD
|
|
#define KEY_KP_MINUS VK_SUBTRACT
|
|
#define KEY_KP_MULTIPLY VK_MULTIPLY
|
|
#define KEY_KP_ENTER VK_RETURN
|
|
#define KEY_KP_DIVIDE VK_DIVIDE
|
|
#define KEY_KP_PERIOD VK_DECIMAL
|
|
#define KEY_KP_EQUALS 0
|
|
#define KEY_EQUALS VK_OEM_PLUS
|
|
#define KEY_MINUS VK_OEM_MINUS
|
|
#define KEY_PERIOD VK_OEM_PERIOD
|
|
#define KEY_CAPSLOCK VK_CAPITAL
|
|
#define KEY_CLEAR VK_CLEAR
|
|
#define KEY_SPACE VK_SPACE
|
|
#define KEY_PAUSE VK_PAUSE
|
|
#define KEY_LSHIFT VK_LSHIFT
|
|
#define KEY_RSHIFT VK_RSHIFT
|
|
#define KEY_LCTRL VK_LCONTROL
|
|
#define KEY_RCTRL VK_RCONTROL
|
|
#define KEY_LALT VK_LMENU
|
|
#define KEY_RALT VK_RMENU
|
|
#define KEY_0 0x30
|
|
#define KEY_1 0x31
|
|
#define KEY_2 0x32
|
|
#define KEY_3 0x33
|
|
#define KEY_4 0x34
|
|
#define KEY_5 0x35
|
|
#define KEY_6 0x36
|
|
#define KEY_7 0x37
|
|
#define KEY_8 0x38
|
|
#define KEY_9 0x39
|
|
#define KEY_a 0x41
|
|
#define KEY_b 0x42
|
|
#define KEY_c 0x43
|
|
#define KEY_d 0x44
|
|
#define KEY_e 0x45
|
|
#define KEY_f 0x46
|
|
#define KEY_g 0x47
|
|
#define KEY_h 0x48
|
|
#define KEY_i 0x49
|
|
#define KEY_j 0x4a
|
|
#define KEY_k 0x4b
|
|
#define KEY_l 0x4c
|
|
#define KEY_m 0x4d
|
|
#define KEY_n 0x4e
|
|
#define KEY_o 0x4f
|
|
#define KEY_p 0x50
|
|
#define KEY_q 0x51
|
|
#define KEY_r 0x52
|
|
#define KEY_s 0x53
|
|
#define KEY_t 0x54
|
|
#define KEY_u 0x55
|
|
#define KEY_v 0x56
|
|
#define KEY_w 0x57
|
|
#define KEY_x 0x58
|
|
#define KEY_y 0x59
|
|
#define KEY_z 0x5a
|
|
#define KEY_KP0 VK_NUMPAD0
|
|
#define KEY_KP1 VK_NUMPAD1
|
|
#define KEY_KP2 VK_NUMPAD2
|
|
#define KEY_KP3 VK_NUMPAD3
|
|
#define KEY_KP4 VK_NUMPAD4
|
|
#define KEY_KP5 VK_NUMPAD5
|
|
#define KEY_KP6 VK_NUMPAD6
|
|
#define KEY_KP7 VK_NUMPAD7
|
|
#define KEY_KP8 VK_NUMPAD8
|
|
#define KEY_KP9 VK_NUMPAD9
|
|
#define KEY_SCROLLOCK VK_SCROLL
|
|
#define KEY_F1 VK_F1
|
|
#define KEY_F2 VK_F2
|
|
#define KEY_F3 VK_F3
|
|
#define KEY_F4 VK_F4
|
|
#define KEY_F5 VK_F5
|
|
#define KEY_F6 VK_F6
|
|
#define KEY_F7 VK_F7
|
|
#define KEY_F8 VK_F8
|
|
#define KEY_F9 VK_F9
|
|
#define KEY_F10 VK_F10
|
|
#define KEY_F11 VK_F11
|
|
#define KEY_F12 VK_F12
|
|
// end of KEY definitions for win32
|
|
#else
|
|
// KEY definitions for others
|
|
#define KEY_UNKNOWN 0
|
|
#define KEY_ESCAPE 1
|
|
#define KEY_RETURN 2
|
|
#define KEY_BACKSPACE 3
|
|
#define KEY_TAB 4
|
|
#define KEY_UP 5
|
|
#define KEY_DOWN 6
|
|
#define KEY_LEFT 7
|
|
#define KEY_RIGHT 8
|
|
#define KEY_LEFTBRACKET 9
|
|
#define KEY_RIGHTBRACKET 10
|
|
#define KEY_INSERT 11
|
|
#define KEY_DELETE 12
|
|
#define KEY_COMMA 13
|
|
#define KEY_BACKQUOTE 14
|
|
#define KEY_PAGEUP 15
|
|
#define KEY_PAGEDOWN 16
|
|
#define KEY_HOME 17
|
|
#define KEY_END 18
|
|
#define KEY_KP_PLUS 19
|
|
#define KEY_KP_MINUS 20
|
|
#define KEY_KP_MULTIPLY 21
|
|
#define KEY_KP_ENTER 22
|
|
#define KEY_KP_DIVIDE 23
|
|
#define KEY_KP_PERIOD 24
|
|
#define KEY_KP_EQUALS 25
|
|
#define KEY_EQUALS 26
|
|
#define KEY_MINUS 27
|
|
#define KEY_PERIOD 28
|
|
#define KEY_CAPSLOCK 29
|
|
#define KEY_CLEAR 30
|
|
#define KEY_SPACE 31
|
|
#define KEY_PAUSE 32
|
|
#define KEY_LSHIFT 33
|
|
#define KEY_RSHIFT 34
|
|
#define KEY_LCTRL 35
|
|
#define KEY_RCTRL 36
|
|
#define KEY_LALT 37
|
|
#define KEY_RALT 38
|
|
#define KEY_0 39
|
|
#define KEY_1 40
|
|
#define KEY_2 41
|
|
#define KEY_3 42
|
|
#define KEY_4 43
|
|
#define KEY_5 44
|
|
#define KEY_6 45
|
|
#define KEY_7 46
|
|
#define KEY_8 47
|
|
#define KEY_9 48
|
|
#define KEY_a 49
|
|
#define KEY_b 50
|
|
#define KEY_c 51
|
|
#define KEY_d 52
|
|
#define KEY_e 53
|
|
#define KEY_f 54
|
|
#define KEY_g 55
|
|
#define KEY_h 56
|
|
#define KEY_i 57
|
|
#define KEY_j 58
|
|
#define KEY_k 59
|
|
#define KEY_l 60
|
|
#define KEY_m 61
|
|
#define KEY_n 62
|
|
#define KEY_o 63
|
|
#define KEY_p 64
|
|
#define KEY_q 65
|
|
#define KEY_r 66
|
|
#define KEY_s 67
|
|
#define KEY_t 68
|
|
#define KEY_u 69
|
|
#define KEY_v 70
|
|
#define KEY_w 71
|
|
#define KEY_x 72
|
|
#define KEY_y 73
|
|
#define KEY_z 74
|
|
#define KEY_KP0 75
|
|
#define KEY_KP1 76
|
|
#define KEY_KP2 77
|
|
#define KEY_KP3 78
|
|
#define KEY_KP4 79
|
|
#define KEY_KP5 80
|
|
#define KEY_KP6 81
|
|
#define KEY_KP7 82
|
|
#define KEY_KP8 83
|
|
#define KEY_KP9 84
|
|
#define KEY_SCROLLOCK 85
|
|
#define KEY_F1 86
|
|
#define KEY_F2 87
|
|
#define KEY_F3 88
|
|
#define KEY_F4 89
|
|
#define KEY_F5 90
|
|
#define KEY_F6 91
|
|
#define KEY_F7 92
|
|
#define KEY_F8 93
|
|
#define KEY_F9 94
|
|
#define KEY_F10 95
|
|
#define KEY_F11 96
|
|
#define KEY_F12 97
|
|
// end of KEY definitions for others
|
|
#endif
|
|
|
|
/// Indicates "no keyboard shortcut".
|
|
#define KEY_NONE 0
|
|
|
|
#if defined(USE_SDL)
|
|
///
|
|
/// This is the "key identifier" for the mouse 3rd button.
|
|
/// It was chosen to not conflict with any SDL key number.
|
|
#define KEY_MOUSEMIDDLE (SDLK_LAST+1)
|
|
///
|
|
/// This is the "key identifier" for the mouse wheelup.
|
|
/// It was chosen to not conflict with any SDL key number.
|
|
#define KEY_MOUSEWHEELUP (SDLK_LAST+2)
|
|
///
|
|
/// This is the "key identifier" for the mouse wheeldown.
|
|
/// It was chosen to not conflict with any SDL key number.
|
|
#define KEY_MOUSEWHEELDOWN (SDLK_LAST+3)
|
|
///
|
|
/// This is the "key identifier" for joystick button number 0.
|
|
/// All numbers starting with this one are reserved for joystick buttons
|
|
/// (since their is an unknown number of them, and for example 18 on GP2X)
|
|
/// It was chosen to not conflict with any SDL key number.
|
|
#define KEY_JOYBUTTON (SDLK_LAST+4)
|
|
|
|
#else
|
|
// Not SDL 1.2
|
|
#define KEY_MOUSEMIDDLE 0x0210
|
|
#define KEY_MOUSEX1 0x0211
|
|
#define KEY_MOUSEX2 0x0212
|
|
#define KEY_MOUSEWHEELUP 0x0200
|
|
#define KEY_MOUSEWHEELDOWN 0x0201
|
|
#define KEY_MOUSEWHEELLEFT 0x0202
|
|
#define KEY_MOUSEWHEELRIGHT 0x0203
|
|
#define KEY_JOYBUTTON 0x0100
|
|
#endif
|
|
|
|
/// The joystick axis are {X,Y} - on all platforms so far.
|
|
/// If there is ever a platform where they are reversed, put
|
|
/// these lines in each platform "case" below.
|
|
#define JOYSTICK_AXIS_X (0)
|
|
#define JOYSTICK_AXIS_Y (1)
|
|
|
|
#ifdef __GP2X__
|
|
|
|
#define JOYSTICK_THRESHOLD (4096)
|
|
|
|
/// Button definitions for the gp2x
|
|
#define JOY_BUTTON_UP (0)
|
|
#define JOY_BUTTON_DOWN (4)
|
|
#define JOY_BUTTON_LEFT (2)
|
|
#define JOY_BUTTON_RIGHT (6)
|
|
#define JOY_BUTTON_UPLEFT (1)
|
|
#define JOY_BUTTON_UPRIGHT (7)
|
|
#define JOY_BUTTON_DOWNLEFT (3)
|
|
#define JOY_BUTTON_DOWNRIGHT (5)
|
|
#define JOY_BUTTON_CLICK (18)
|
|
#define JOY_BUTTON_A (12)
|
|
#define JOY_BUTTON_B (13)
|
|
#define JOY_BUTTON_Y (14)
|
|
#define JOY_BUTTON_X (15)
|
|
#define JOY_BUTTON_L (10)
|
|
#define JOY_BUTTON_R (11)
|
|
#define JOY_BUTTON_START (8)
|
|
#define JOY_BUTTON_SELECT (9)
|
|
#define JOY_BUTTON_VOLUP (16)
|
|
#define JOY_BUTTON_VOLDOWN (17)
|
|
|
|
#define KEY_ESC (KEY_JOYBUTTON+JOY_BUTTON_X)
|
|
#elif defined(__WIZ__)
|
|
/// Button definitions for the Wiz
|
|
#define JOY_BUTTON_UP (0)
|
|
#define JOY_BUTTON_DOWN (4)
|
|
#define JOY_BUTTON_LEFT (2)
|
|
#define JOY_BUTTON_RIGHT (6)
|
|
#define JOY_BUTTON_UPLEFT (1)
|
|
#define JOY_BUTTON_UPRIGHT (7)
|
|
#define JOY_BUTTON_DOWNLEFT (3)
|
|
#define JOY_BUTTON_DOWNRIGHT (5)
|
|
#define JOY_BUTTON_L (10)
|
|
#define JOY_BUTTON_R (11)
|
|
#define JOY_BUTTON_A (12)
|
|
#define JOY_BUTTON_B (13)
|
|
#define JOY_BUTTON_X (14)
|
|
#define JOY_BUTTON_Y (15)
|
|
#define JOY_BUTTON_MENU (8)
|
|
#define JOY_BUTTON_SELECT (9)
|
|
#define JOY_BUTTON_VOLUP (16)
|
|
#define JOY_BUTTON_VOLDOWN (17)
|
|
|
|
#define KEY_ESC (KEY_JOYBUTTON+JOY_BUTTON_X)
|
|
#elif defined (__CAANOO__)
|
|
|
|
#define JOYSTICK_THRESHOLD (4096)
|
|
|
|
/// Button definitions for the Caanoo
|
|
#define JOY_BUTTON_A (0)
|
|
#define JOY_BUTTON_X (1)
|
|
#define JOY_BUTTON_B (2)
|
|
#define JOY_BUTTON_Y (3)
|
|
#define JOY_BUTTON_L (4)
|
|
#define JOY_BUTTON_R (5)
|
|
#define JOY_BUTTON_HOME (6)
|
|
#define JOY_BUTTON_HOLD (7)
|
|
#define JOY_BUTTON_I (8)
|
|
#define JOY_BUTTON_II (9)
|
|
#define JOY_BUTTON_JOY (10)
|
|
|
|
#define KEY_ESC (KEY_JOYBUTTON+JOY_BUTTON_HOME)
|
|
#else
|
|
///
|
|
/// This is the key identifier for ESC. When hard-coding keyboard shortcuts
|
|
/// for buttons, etc. we use this instead of SDLK_ESCAPE,
|
|
/// so the console ports can get a joybutton equivalent of it.
|
|
#define KEY_ESC KEY_ESCAPE
|
|
#endif
|
|
|
|
#endif
|