phasing out SDL_keysym.h
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#define COMPAT_KEYSYMS
|
||||
#include "GameManager.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
@@ -8,11 +9,10 @@
|
||||
#include "RageLog.h"
|
||||
#include "RageUtil.h"
|
||||
#include "NoteSkinManager.h"
|
||||
#include "SDL_keysym.h" // for SDLKeys
|
||||
#include "RageInputDevice.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "LightsManager.h" // for NUM_CABINET_LIGHTS
|
||||
|
||||
|
||||
GameManager* GAMEMAN = NULL; // global and accessable from anywhere in our program
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "RageInputDevice.h"
|
||||
#include "RageUtil.h"
|
||||
|
||||
#include "SDL_keyboard.h"
|
||||
//#include "SDL_keyboard.h"
|
||||
|
||||
static const char *PumpButtonNames[] = {
|
||||
"UL", "UR", "MID", "DL", "DR", "Esc",
|
||||
@@ -132,8 +132,97 @@ CString DeviceInput::GetDescription()
|
||||
break;
|
||||
|
||||
case DEVICE_KEYBOARD: // keyboard
|
||||
sReturn = ssprintf("Key %s", SDL_GetKeyName((SDLKey)button) );
|
||||
sReturn = "Key ";
|
||||
if( button >= 33 && button < 127 &&
|
||||
!(button >= 'A' && button <= 'Z' ) )
|
||||
{
|
||||
/* All printable ASCII except for uppercase alpha characters line up. */
|
||||
sReturn += ssprintf( "%c", button );
|
||||
break;
|
||||
}
|
||||
|
||||
if( button >= KEY_OTHER_0 && button < KEY_LAST_OTHER )
|
||||
{
|
||||
sReturn += ssprintf( "unk %i", button-KEY_OTHER_0 );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( button )
|
||||
{
|
||||
case KEY_SPACE: sReturn += "space"; break;
|
||||
case KEY_DEL: sReturn += "delete"; break;
|
||||
|
||||
case KEY_BACK: sReturn += "backspace"; break;
|
||||
case KEY_TAB: sReturn += "tab"; break;
|
||||
case KEY_ENTER: sReturn += "enter"; break;
|
||||
case KEY_PAUSE: sReturn += "pause"; break;
|
||||
case KEY_ESC: sReturn += "escape"; break;
|
||||
|
||||
case KEY_F1: sReturn += "F1"; break;
|
||||
case KEY_F2: sReturn += "F2"; break;
|
||||
case KEY_F3: sReturn += "F3"; break;
|
||||
case KEY_F4: sReturn += "F4"; break;
|
||||
case KEY_F5: sReturn += "F5"; break;
|
||||
case KEY_F6: sReturn += "F6"; break;
|
||||
case KEY_F7: sReturn += "F7"; break;
|
||||
case KEY_F8: sReturn += "F8"; break;
|
||||
case KEY_F9: sReturn += "F9"; break;
|
||||
case KEY_F10: sReturn += "F10"; break;
|
||||
case KEY_F11: sReturn += "F11"; break;
|
||||
case KEY_F12: sReturn += "F12"; break;
|
||||
case KEY_F13: sReturn += "F13"; break;
|
||||
case KEY_F14: sReturn += "F14"; break;
|
||||
case KEY_F15: sReturn += "F15"; break;
|
||||
case KEY_F16: sReturn += "F16"; break;
|
||||
|
||||
case KEY_LCTRL: sReturn += "left ctrl"; break;
|
||||
case KEY_RCTRL: sReturn += "right ctrl"; break;
|
||||
case KEY_LSHIFT: sReturn += "left shift"; break;
|
||||
case KEY_RSHIFT: sReturn += "right shift"; break;
|
||||
case KEY_LALT: sReturn += "left alt"; break;
|
||||
case KEY_RALT: sReturn += "right alt"; break;
|
||||
case KEY_LMETA: sReturn += "left meta"; break;
|
||||
case KEY_RMETA: sReturn += "right meta"; break;
|
||||
case KEY_LSUPER: sReturn += "left wnd"; break;
|
||||
case KEY_RSUPER: sReturn += "right wnd"; break;
|
||||
case KEY_MENU: sReturn += "menu"; break;
|
||||
|
||||
case KEY_NUMLOCK: sReturn += "num lock"; break;
|
||||
case KEY_SCRLLOCK: sReturn += "scroll lock"; break;
|
||||
case KEY_CAPSLOCK: sReturn += "caps lock"; break;
|
||||
case KEY_PRTSC: sReturn += "prtsc"; break;
|
||||
|
||||
case KEY_UP: sReturn += "up"; break;
|
||||
case KEY_DOWN: sReturn += "down"; break;
|
||||
case KEY_LEFT: sReturn += "left"; break;
|
||||
case KEY_RIGHT: sReturn += "right"; break;
|
||||
|
||||
case KEY_INSERT: sReturn += "insert"; break;
|
||||
case KEY_HOME: sReturn += "home"; break;
|
||||
case KEY_END: sReturn += "end"; break;
|
||||
case KEY_PGUP: sReturn += "pgup"; break;
|
||||
case KEY_PGDN: sReturn += "pgdn"; break;
|
||||
|
||||
case KEY_KP_C0: sReturn += "KP 0"; break;
|
||||
case KEY_KP_C1: sReturn += "KP 1"; break;
|
||||
case KEY_KP_C2: sReturn += "KP 2"; break;
|
||||
case KEY_KP_C3: sReturn += "KP 3"; break;
|
||||
case KEY_KP_C4: sReturn += "KP 4"; break;
|
||||
case KEY_KP_C5: sReturn += "KP 5"; break;
|
||||
case KEY_KP_C6: sReturn += "KP 6"; break;
|
||||
case KEY_KP_C7: sReturn += "KP 7"; break;
|
||||
case KEY_KP_C8: sReturn += "KP 8"; break;
|
||||
case KEY_KP_C9: sReturn += "KP 9"; break;
|
||||
case KEY_KP_SLASH: sReturn += "KP /"; break;
|
||||
case KEY_KP_ASTERISK: sReturn += "KP *"; break;
|
||||
case KEY_KP_HYPHEN: sReturn += "KP -"; break;
|
||||
case KEY_KP_PLUS: sReturn += "KP +"; break;
|
||||
case KEY_KP_PERIOD: sReturn += "KP ."; break;
|
||||
case KEY_KP_ENTER: sReturn += "KP enter"; break;
|
||||
default: sReturn += "unknown"; break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
ASSERT(0); // what device is this?
|
||||
}
|
||||
|
||||
@@ -1,10 +1,356 @@
|
||||
#ifndef RAGEINPUTDEVICE_H
|
||||
#define RAGEINPUTDEVICE_H 1
|
||||
|
||||
#include "SDL_keysym.h"
|
||||
// #include "SDL_keysym.h"
|
||||
#include "RageTimer.h"
|
||||
|
||||
const int NUM_KEYBOARD_BUTTONS = SDLK_LAST;
|
||||
/* Only raw, unshifted keys go in this table; this doesn't include internationalized
|
||||
* keyboards, only keys that we might actually want to test for programmatically. Any
|
||||
* other keys are mapped to KEY_OTHER_0 and up. (If we want to support real international
|
||||
* input, stick a wchar_t in DeviceInput.) */
|
||||
|
||||
enum RageKeySym
|
||||
{
|
||||
KEY_SPACE = 32,
|
||||
KEY_EXCL = 33,
|
||||
KEY_QUOTE = 34,
|
||||
KEY_HASH = 35,
|
||||
KEY_DOLLAR = 36,
|
||||
KEY_PERCENT = 37,
|
||||
KEY_AMPER = 38,
|
||||
KEY_SQUOTE = 39,
|
||||
KEY_LPAREN = 40,
|
||||
KEY_RPAREN = 41,
|
||||
KEY_ASTERISK= 42,
|
||||
KEY_PLUS = 43,
|
||||
KEY_COMMA = 44,
|
||||
KEY_HYPHEN = 45,
|
||||
KEY_PERIOD = 46,
|
||||
KEY_SLASH = 47,
|
||||
KEY_C0 = 48,
|
||||
KEY_C1 = 49,
|
||||
KEY_C2 = 50,
|
||||
KEY_C3 = 51,
|
||||
KEY_C4 = 52,
|
||||
KEY_C5 = 53,
|
||||
KEY_C6 = 54,
|
||||
KEY_C7 = 55,
|
||||
KEY_C8 = 56,
|
||||
KEY_C9 = 57,
|
||||
KEY_COLON = 58,
|
||||
KEY_SEMICOLON = 59,
|
||||
KEY_LANGLE = 60,
|
||||
KEY_EQUAL = 61,
|
||||
KEY_RANGLE = 62,
|
||||
KEY_QUESTION= 63,
|
||||
KEY_AT = 64,
|
||||
KEY_CA = 65,
|
||||
KEY_CB = 66,
|
||||
KEY_CC = 67,
|
||||
KEY_CD = 68,
|
||||
KEY_CE = 69,
|
||||
KEY_CF = 70,
|
||||
KEY_CG = 71,
|
||||
KEY_CH = 72,
|
||||
KEY_CI = 73,
|
||||
KEY_CJ = 74,
|
||||
KEY_CK = 75,
|
||||
KEY_CL = 76,
|
||||
KEY_CM = 77,
|
||||
KEY_CN = 78,
|
||||
KEY_CO = 79,
|
||||
KEY_CP = 80,
|
||||
KEY_CQ = 81,
|
||||
KEY_CR = 82,
|
||||
KEY_CS = 83,
|
||||
KEY_CT = 84,
|
||||
KEY_CU = 85,
|
||||
KEY_CV = 86,
|
||||
KEY_CW = 87,
|
||||
KEY_CX = 88,
|
||||
KEY_CY = 89,
|
||||
KEY_CZ = 90,
|
||||
KEY_LBRACKET= 91,
|
||||
KEY_BACKSLASH= 92,
|
||||
KEY_RBRACKET= 93,
|
||||
KEY_CARAT = 94,
|
||||
KEY_UNDERSCORE= 95,
|
||||
KEY_ACCENT = 96,
|
||||
KEY_Ca = 97,
|
||||
KEY_Cb = 98,
|
||||
KEY_Cc = 99,
|
||||
KEY_Cd = 100,
|
||||
KEY_Ce = 101,
|
||||
KEY_Cf = 102,
|
||||
KEY_Cg = 103,
|
||||
KEY_Ch = 104,
|
||||
KEY_Ci = 105,
|
||||
KEY_Cj = 106,
|
||||
KEY_Ck = 107,
|
||||
KEY_Cl = 108,
|
||||
KEY_Cm = 109,
|
||||
KEY_Cn = 110,
|
||||
KEY_Co = 111,
|
||||
KEY_Cp = 112,
|
||||
KEY_Cq = 113,
|
||||
KEY_Cr = 114,
|
||||
KEY_Cs = 115,
|
||||
KEY_Ct = 116,
|
||||
KEY_Cu = 117,
|
||||
KEY_Cv = 118,
|
||||
KEY_Cw = 119,
|
||||
KEY_Cx = 120,
|
||||
KEY_Cy = 121,
|
||||
KEY_Cz = 122,
|
||||
KEY_LBRACE = 123,
|
||||
KEY_PIPE = 124,
|
||||
KEY_RBRACE = 125,
|
||||
KEY_DEL = 127,
|
||||
|
||||
KEY_BACK,
|
||||
KEY_TAB,
|
||||
KEY_ENTER,
|
||||
KEY_PAUSE,
|
||||
KEY_ESC,
|
||||
|
||||
KEY_F1,
|
||||
KEY_F2,
|
||||
KEY_F3,
|
||||
KEY_F4,
|
||||
KEY_F5,
|
||||
KEY_F6,
|
||||
KEY_F7,
|
||||
KEY_F8,
|
||||
KEY_F9,
|
||||
KEY_F10,
|
||||
KEY_F11,
|
||||
KEY_F12,
|
||||
KEY_F13,
|
||||
KEY_F14,
|
||||
KEY_F15,
|
||||
KEY_F16,
|
||||
|
||||
KEY_LCTRL,
|
||||
KEY_RCTRL,
|
||||
KEY_LSHIFT,
|
||||
KEY_RSHIFT,
|
||||
KEY_LALT,
|
||||
KEY_RALT,
|
||||
KEY_LMETA,
|
||||
KEY_RMETA,
|
||||
KEY_LSUPER,
|
||||
KEY_RSUPER,
|
||||
KEY_MENU,
|
||||
|
||||
KEY_NUMLOCK,
|
||||
KEY_SCRLLOCK,
|
||||
KEY_CAPSLOCK,
|
||||
KEY_PRTSC,
|
||||
|
||||
KEY_UP,
|
||||
KEY_DOWN,
|
||||
KEY_LEFT,
|
||||
KEY_RIGHT,
|
||||
|
||||
KEY_INSERT,
|
||||
KEY_HOME,
|
||||
KEY_END,
|
||||
KEY_PGUP,
|
||||
KEY_PGDN,
|
||||
|
||||
KEY_KP_C0,
|
||||
KEY_KP_C1,
|
||||
KEY_KP_C2,
|
||||
KEY_KP_C3,
|
||||
KEY_KP_C4,
|
||||
KEY_KP_C5,
|
||||
KEY_KP_C6,
|
||||
KEY_KP_C7,
|
||||
KEY_KP_C8,
|
||||
KEY_KP_C9,
|
||||
KEY_KP_SLASH,
|
||||
KEY_KP_ASTERISK,
|
||||
KEY_KP_HYPHEN,
|
||||
KEY_KP_PLUS,
|
||||
KEY_KP_PERIOD,
|
||||
KEY_KP_ENTER,
|
||||
|
||||
KEY_OTHER_0,
|
||||
/* ... */
|
||||
KEY_LAST_OTHER=512,
|
||||
|
||||
NUM_KEYS,
|
||||
KEY_INVALID
|
||||
};
|
||||
|
||||
#ifdef COMPAT_KEYSYMS
|
||||
/* XXX: remove */
|
||||
#define SDLK_FIRST 0
|
||||
#define SDLK_LAST NUM_KEYS
|
||||
#define SDLKey RageKeySym
|
||||
|
||||
#define SDLK_BACKSPACE KEY_BACK
|
||||
#define SDLK_TAB KEY_TAB
|
||||
#define SDLK_RETURN KEY_ENTER
|
||||
#define SDLK_PAUSE KEY_PAUSE
|
||||
#define SDLK_ESCAPE KEY_ESC
|
||||
#define SDLK_SPACE KEY_SPACE
|
||||
#define SDLK_EXCLAIM KEY_EXCL
|
||||
#define SDLK_QUOTEDBL KEY_QUOTE
|
||||
#define SDLK_HASH KEY_HASH
|
||||
#define SDLK_DOLLAR KEY_DOLLAR
|
||||
#define SDLK_AMPERSAND KEY_AMPER
|
||||
#define SDLK_QUOTE KEY_SQUOTE
|
||||
#define SDLK_LEFTPAREN KEY_LPAREN
|
||||
#define SDLK_RIGHTPAREN KEY_RPAREN
|
||||
#define SDLK_ASTERISK KEY_ASTERISK
|
||||
#define SDLK_PLUS KEY_PLUS
|
||||
#define SDLK_COMMA KEY_COMMA
|
||||
#define SDLK_MINUS KEY_HYPHEN
|
||||
#define SDLK_PERIOD KEY_PERIOD
|
||||
#define SDLK_SLASH KEY_SLASH
|
||||
#define SDLK_0 KEY_C0
|
||||
#define SDLK_1 KEY_C1
|
||||
#define SDLK_2 KEY_C2
|
||||
#define SDLK_3 KEY_C3
|
||||
#define SDLK_4 KEY_C4
|
||||
#define SDLK_5 KEY_C5
|
||||
#define SDLK_6 KEY_C6
|
||||
#define SDLK_7 KEY_C7
|
||||
#define SDLK_8 KEY_C8
|
||||
#define SDLK_9 KEY_C9
|
||||
#define SDLK_COLON KEY_COLON
|
||||
#define SDLK_SEMICOLON KEY_SEMICOLON
|
||||
#define SDLK_LESS KEY_LANGLE
|
||||
#define SDLK_EQUALS KEY_EQUAL
|
||||
#define SDLK_GREATER KEY_RANGLE
|
||||
#define SDLK_QUESTION KEY_QUESTION
|
||||
#define SDLK_AT KEY_AT
|
||||
/*#define KEY_CA
|
||||
#define KEY_CB
|
||||
#define KEY_CC
|
||||
#define KEY_CD
|
||||
#define KEY_CE
|
||||
#define KEY_CF
|
||||
#define KEY_CG
|
||||
#define KEY_CH
|
||||
#define KEY_CI
|
||||
#define KEY_CJ
|
||||
#define KEY_CK
|
||||
#define KEY_CL
|
||||
#define KEY_CM
|
||||
#define KEY_CN
|
||||
#define KEY_CO
|
||||
#define KEY_CP
|
||||
#define KEY_CQ
|
||||
#define KEY_CR
|
||||
#define KEY_CS
|
||||
#define KEY_CT
|
||||
#define KEY_CU
|
||||
#define KEY_CV
|
||||
#define KEY_CW
|
||||
#define KEY_CX
|
||||
#define KEY_CY
|
||||
#define KEY_CZ*/
|
||||
#define SDLK_LEFTBRACKET KEY_LBRACKET
|
||||
#define SDLK_BACKSLASH KEY_BACKSLASH
|
||||
#define SDLK_RIGHTBRACKET KEY_RBRACKET
|
||||
#define SDLK_CARET KEY_CARAT
|
||||
#define SDLK_UNDERSCORE KEY_UNDERSCORE
|
||||
#define SDLK_BACKQUOTE KEY_ACCENT
|
||||
#define SDLK_a KEY_Ca
|
||||
#define SDLK_b KEY_Cb
|
||||
#define SDLK_c KEY_Cc
|
||||
#define SDLK_d KEY_Cd
|
||||
#define SDLK_e KEY_Ce
|
||||
#define SDLK_f KEY_Cf
|
||||
#define SDLK_g KEY_Cg
|
||||
#define SDLK_h KEY_Ch
|
||||
#define SDLK_i KEY_Ci
|
||||
#define SDLK_j KEY_Cj
|
||||
#define SDLK_k KEY_Ck
|
||||
#define SDLK_l KEY_Cl
|
||||
#define SDLK_m KEY_Cm
|
||||
#define SDLK_n KEY_Cn
|
||||
#define SDLK_o KEY_Co
|
||||
#define SDLK_p KEY_Cp
|
||||
#define SDLK_q KEY_Cq
|
||||
#define SDLK_r KEY_Cr
|
||||
#define SDLK_s KEY_Cs
|
||||
#define SDLK_t KEY_Ct
|
||||
#define SDLK_u KEY_Cu
|
||||
#define SDLK_v KEY_Cv
|
||||
#define SDLK_w KEY_Cw
|
||||
#define SDLK_x KEY_Cx
|
||||
#define SDLK_y KEY_Cy
|
||||
#define SDLK_z KEY_Cz
|
||||
#define KEY_PIPE
|
||||
#define SDLK_DELETE KEY_DEL
|
||||
|
||||
#define SDLK_F1 KEY_F1
|
||||
#define SDLK_F2 KEY_F2
|
||||
#define SDLK_F3 KEY_F3
|
||||
#define SDLK_F4 KEY_F4
|
||||
#define SDLK_F5 KEY_F5
|
||||
#define SDLK_F6 KEY_F6
|
||||
#define SDLK_F7 KEY_F7
|
||||
#define SDLK_F8 KEY_F8
|
||||
#define SDLK_F9 KEY_F9
|
||||
#define SDLK_F10 KEY_F10
|
||||
#define SDLK_F11 KEY_F11
|
||||
#define SDLK_F12 KEY_F12
|
||||
#define SDLK_F13 KEY_F13
|
||||
#define SDLK_F14 KEY_F14
|
||||
#define SDLK_F15 KEY_F15
|
||||
|
||||
#define SDLK_LCTRL KEY_LCTRL
|
||||
#define SDLK_RCTRL KEY_RCTRL
|
||||
#define SDLK_LSHIFT KEY_LSHIFT
|
||||
#define SDLK_RSHIFT KEY_RSHIFT
|
||||
#define SDLK_LALT KEY_LALT
|
||||
#define SDLK_RALT KEY_RALT
|
||||
#define SDLK_LMETA KEY_LMETA
|
||||
#define SDLK_RMETA KEY_RMETA
|
||||
#define SDLK_LSUPER KEY_LSUPER
|
||||
#define SDLK_RSUPER KEY_RSUPER
|
||||
#define SDLK_MENU KEY_MENU
|
||||
|
||||
#define SDLK_NUMLOCK KEY_NUMLOCK
|
||||
#define SDLK_SCROLLOCK KEY_SCRLLOCK
|
||||
#define SDLK_CAPSLOCK KEY_CAPSLOCK
|
||||
#define SDLK_PRINT KEY_PRTSC
|
||||
|
||||
#define SDLK_UP KEY_UP
|
||||
#define SDLK_DOWN KEY_DOWN
|
||||
#define SDLK_LEFT KEY_LEFT
|
||||
#define SDLK_RIGHT KEY_RIGHT
|
||||
|
||||
#define SDLK_INSERT KEY_INSERT
|
||||
#define SDLK_HOME KEY_HOME
|
||||
#define SDLK_END KEY_END
|
||||
#define SDLK_PAGEUP KEY_PGUP
|
||||
#define SDLK_PAGEDOWN KEY_PGDN
|
||||
|
||||
#define SDLK_KP0 KEY_KP_C0
|
||||
#define SDLK_KP1 KEY_KP_C1
|
||||
#define SDLK_KP2 KEY_KP_C2
|
||||
#define SDLK_KP3 KEY_KP_C3
|
||||
#define SDLK_KP4 KEY_KP_C4
|
||||
#define SDLK_KP5 KEY_KP_C5
|
||||
#define SDLK_KP6 KEY_KP_C6
|
||||
#define SDLK_KP7 KEY_KP_C7
|
||||
#define SDLK_KP8 KEY_KP_C8
|
||||
#define SDLK_KP9 KEY_KP_C9
|
||||
#define SDLK_KP_DIVIDE KEY_KP_SLASH
|
||||
#define SDLK_KP_MULTIPLY KEY_KP_ASTERISK
|
||||
#define SDLK_KP_MINUS KEY_KP_HYPHEN
|
||||
#define SDLK_KP_PLUS KEY_KP_PLUS
|
||||
#define SDLK_KP_PERIOD KEY_KP_PERIOD
|
||||
#define SDLK_KP_ENTER KEY_KP_ENTER
|
||||
|
||||
#endif
|
||||
|
||||
const int NUM_KEYBOARD_BUTTONS = NUM_KEYS;
|
||||
const int NUM_JOYSTICKS = 6;
|
||||
const int NUM_JOYSTICK_HATS = 1;
|
||||
const int NUM_PUMPS = 2;
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#ifndef SCREEN_H
|
||||
#define SCREEN_H
|
||||
|
||||
#define COMPAT_KEYSYMS
|
||||
|
||||
#include "ActorFrame.h"
|
||||
#include "ScreenMessage.h"
|
||||
#include "InputFilter.h"
|
||||
|
||||
+24
-24
@@ -1273,9 +1273,9 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
|
||||
return false; // Attract need to know because they go to TitleMenu on > 1 credit
|
||||
}
|
||||
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_F2))
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_F2))
|
||||
{
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_LSHIFT) ) )
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT) ) )
|
||||
{
|
||||
// HACK: Also save bookkeeping and profile info for debugging
|
||||
// so we don't have to play through a whole song to get new output.
|
||||
@@ -1305,10 +1305,10 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
|
||||
return true;
|
||||
}
|
||||
#ifndef DARWIN
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_F4))
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_F4))
|
||||
{
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_RALT)) ||
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_LALT)) )
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_RALT)) ||
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LALT)) )
|
||||
{
|
||||
// pressed Alt+F4
|
||||
ExitGame();
|
||||
@@ -1316,10 +1316,10 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
|
||||
}
|
||||
}
|
||||
#else
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_q))
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_Cq))
|
||||
{
|
||||
if(INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_RMETA)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_LMETA)))
|
||||
if(INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, KEY_RMETA)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, KEY_LMETA)))
|
||||
{
|
||||
// pressed CMD-Q
|
||||
ExitGame();
|
||||
@@ -1332,26 +1332,26 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
|
||||
* pressing PrntScrn, or will capture the foregroud with focus upon pressing
|
||||
* Alt+PrntScrn. Windows will do this whether or not we save a screenshot
|
||||
* ourself by dumping the frame buffer. */
|
||||
/* Pressing F13 on an Apple keyboard sends SDLK_PRINT.
|
||||
/* Pressing F13 on an Apple keyboard sends KEY_PRINT.
|
||||
* However, notebooks don't have F13. Use cmd-F12 then*/
|
||||
// "if pressing PrintScreen and not pressing Alt"
|
||||
if( (DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_PRINT) &&
|
||||
!INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_RALT)) &&
|
||||
!INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_LALT))) ||
|
||||
(DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_F12) &&
|
||||
(INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_RMETA)) ||
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_LMETA)))))
|
||||
if( (DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_PRTSC) &&
|
||||
!INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_RALT)) &&
|
||||
!INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LALT))) ||
|
||||
(DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_F12) &&
|
||||
(INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_RMETA)) ||
|
||||
INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LMETA)))))
|
||||
{
|
||||
// If holding LShift save uncompressed, else save compressed
|
||||
bool bSaveCompressed = !INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_LSHIFT) );
|
||||
bool bSaveCompressed = !INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT) );
|
||||
SaveScreenshot( "Screenshots/", bSaveCompressed, false );
|
||||
return true; // handled
|
||||
}
|
||||
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_RETURN))
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_ENTER))
|
||||
{
|
||||
if( INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_RALT)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_LALT)) )
|
||||
if( INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, KEY_RALT)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, KEY_LALT)) )
|
||||
{
|
||||
/* alt-enter */
|
||||
PREFSMAN->m_bWindowed = !PREFSMAN->m_bWindowed;
|
||||
@@ -1360,7 +1360,7 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
|
||||
}
|
||||
}
|
||||
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, SDLK_PAUSE))
|
||||
if(DeviceI == DeviceInput(DEVICE_KEYBOARD, KEY_PAUSE))
|
||||
{
|
||||
static bool bMute = false;
|
||||
bMute = !bMute;
|
||||
@@ -1413,7 +1413,7 @@ static void HandleInputEvents(float fDeltaTime)
|
||||
// Filter out all NumLock repeat messages
|
||||
/* XXX: Is this still needed? If so, it should probably be done in the
|
||||
* affected input driver. */
|
||||
if( DeviceI.device == DEVICE_KEYBOARD && DeviceI.button == SDLK_NUMLOCK && type != IET_FIRST_PRESS )
|
||||
if( DeviceI.device == DEVICE_KEYBOARD && DeviceI.button == KEY_NUMLOCK && type != IET_FIRST_PRESS )
|
||||
continue; // skip
|
||||
|
||||
if( HandleGlobalInputs(DeviceI, type, GameI, MenuI, StyleI ) )
|
||||
@@ -1475,13 +1475,13 @@ static void GameLoop()
|
||||
|
||||
CheckSkips( fDeltaTime );
|
||||
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_TAB) ) ) {
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_BACKQUOTE) ) )
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_TAB) ) ) {
|
||||
if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_ACCENT) ) )
|
||||
fDeltaTime = 0; /* both; stop time */
|
||||
else
|
||||
fDeltaTime *= 4;
|
||||
}
|
||||
else if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, SDLK_BACKQUOTE) ) )
|
||||
else if( INPUTFILTER->IsBeingPressed( DeviceInput(DEVICE_KEYBOARD, KEY_ACCENT) ) )
|
||||
{
|
||||
fDeltaTime /= 4;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "SDL_utils.h"
|
||||
#define COMPAT_KEYSYMS
|
||||
#include "InputHandler_DirectInputHelper.h"
|
||||
#include "RageUtil.h"
|
||||
#include "RageLog.h"
|
||||
#include "SDL_utils.h"
|
||||
|
||||
#pragma comment(lib, "dinput.lib")
|
||||
#if defined(_WINDOWS)
|
||||
|
||||
@@ -15,6 +15,109 @@
|
||||
#include "RageDisplay.h"
|
||||
#include "PrefsManager.h"
|
||||
|
||||
|
||||
static RageKeySym SDLSymToKeySym( SDLKey key )
|
||||
{
|
||||
#define KEY_INV KEY_INVALID
|
||||
const RageKeySym ASCIIKeySyms[] =
|
||||
{
|
||||
KEY_INV, KEY_INV, KEY_INV, KEY_INV, /* 0-3 */
|
||||
KEY_INV, KEY_INV, KEY_INV, KEY_INV, /* 4-7 */
|
||||
KEY_BACK, KEY_TAB, KEY_INV, KEY_INV, /* 8-11 */
|
||||
KEY_INV, KEY_ENTER, KEY_INV, KEY_INV, /* 12-15 */
|
||||
KEY_INV, KEY_INV, KEY_INV, KEY_PAUSE, /* 16-19 */
|
||||
KEY_INV, KEY_INV, KEY_INV, KEY_INV, /* 20-23 */
|
||||
KEY_INV, KEY_INV, KEY_INV, KEY_ESC, /* 24-27 */
|
||||
KEY_INV, KEY_INV, KEY_INV, KEY_INV, /* 28-31 */
|
||||
KEY_SPACE, KEY_EXCL, KEY_QUOTE, KEY_HASH, /* 32-35 */
|
||||
KEY_DOLLAR, KEY_PERCENT,KEY_AMPER, KEY_SQUOTE, /* 36-39 */
|
||||
KEY_LPAREN, KEY_RPAREN, KEY_ASTERISK,KEY_PLUS, /* 40-43 */
|
||||
KEY_COMMA, KEY_HYPHEN, KEY_PERIOD, KEY_SLASH, /* 44-47 */
|
||||
KEY_C0, KEY_C1, KEY_C2, KEY_C3, /* 48-51 */
|
||||
KEY_C4, KEY_C5, KEY_C6, KEY_C7, /* 52-55 */
|
||||
KEY_C8, KEY_C9, KEY_COLON, KEY_SEMICOLON, /* 56-59 */
|
||||
KEY_LANGLE, KEY_EQUAL, KEY_RANGLE, KEY_QUESTION, /* 60-63 */
|
||||
KEY_AT, KEY_CA, KEY_CB, KEY_CC, KEY_CD, KEY_CE, KEY_CF, KEY_CG, KEY_CH, /* 64-72 */
|
||||
KEY_CI, KEY_CJ, KEY_CK, KEY_CL, KEY_CM, KEY_CN, KEY_CO, KEY_CP, KEY_CQ, /* 73-81 */
|
||||
KEY_CR, KEY_CS, KEY_CT, KEY_CU, KEY_CV, KEY_CW, KEY_CX, KEY_CY, KEY_CZ, /* 82-90 */
|
||||
KEY_LBRACKET, KEY_BACKSLASH, KEY_RBRACKET, KEY_CARAT, /* 91-94 */
|
||||
KEY_UNDERSCORE, KEY_ACCENT, KEY_Ca, KEY_Cb, /* 95-98 */
|
||||
KEY_Cc, KEY_Cd, KEY_Ce, KEY_Cf, KEY_Cg, KEY_Ch, KEY_Ci, KEY_Cj, KEY_Ck, /* 99-107 */
|
||||
KEY_Cl, KEY_Cm, KEY_Cn, KEY_Co, KEY_Cp, KEY_Cq, KEY_Cr, KEY_Cs, KEY_Ct, /* 108-116 */
|
||||
KEY_Cu, KEY_Cv, KEY_Cw, KEY_Cx, KEY_Cy, KEY_Cz, /* 117-122 */
|
||||
KEY_LBRACE, KEY_PIPE, KEY_RBRACE, KEY_INV, KEY_DEL /* 123-127 */
|
||||
};
|
||||
|
||||
/* 0...127: */
|
||||
if( key < ARRAYSIZE(ASCIIKeySyms) )
|
||||
return ASCIIKeySyms[key];
|
||||
|
||||
/* SDLK_WORLD_0 ... SDLK_WORLD_95 to KEY_OTHER_0 ... KEY_OTHER_0 + 95 */
|
||||
if( key >= SDLK_WORLD_0 && key <= SDLK_WORLD_95 )
|
||||
return (RageKeySym) (key - SDLK_WORLD_0 + KEY_OTHER_0);
|
||||
|
||||
/* SDLK_KP0 ... SDLK_KP9 to KEY_KP_C0 ... KEY_KP_C9 */
|
||||
if( key >= SDLK_KP0 && key <= SDLK_KP9 )
|
||||
return (RageKeySym) (key - SDLK_KP0 + KEY_KP_C0);
|
||||
|
||||
switch( key )
|
||||
{
|
||||
case SDLK_KP_PERIOD: return KEY_KP_PERIOD;
|
||||
case SDLK_KP_DIVIDE: return KEY_KP_SLASH;
|
||||
case SDLK_KP_MULTIPLY: return KEY_KP_ASTERISK;
|
||||
case SDLK_KP_MINUS: return KEY_KP_HYPHEN;
|
||||
case SDLK_KP_PLUS: return KEY_KP_PLUS;
|
||||
case SDLK_KP_ENTER: return KEY_KP_ENTER;
|
||||
case SDLK_UP: return KEY_UP;
|
||||
case SDLK_DOWN: return KEY_DOWN;
|
||||
case SDLK_RIGHT: return KEY_RIGHT;
|
||||
case SDLK_LEFT: return KEY_LEFT;
|
||||
case SDLK_INSERT: return KEY_INSERT;
|
||||
case SDLK_HOME: return KEY_HOME;
|
||||
case SDLK_END: return KEY_END;
|
||||
case SDLK_PAGEUP: return KEY_PGUP;
|
||||
case SDLK_PAGEDOWN: return KEY_PGDN;
|
||||
case SDLK_F1: return KEY_F1;
|
||||
case SDLK_F2: return KEY_F2;
|
||||
case SDLK_F3: return KEY_F3;
|
||||
case SDLK_F4: return KEY_F4;
|
||||
case SDLK_F5: return KEY_F5;
|
||||
case SDLK_F6: return KEY_F6;
|
||||
case SDLK_F7: return KEY_F7;
|
||||
case SDLK_F8: return KEY_F8;
|
||||
case SDLK_F9: return KEY_F9;
|
||||
case SDLK_F10: return KEY_F10;
|
||||
case SDLK_F11: return KEY_F11;
|
||||
case SDLK_F12: return KEY_F12;
|
||||
case SDLK_F13: return KEY_F13;
|
||||
case SDLK_F14: return KEY_F14;
|
||||
case SDLK_F15: return KEY_F15;
|
||||
|
||||
case SDLK_NUMLOCK: return KEY_NUMLOCK;
|
||||
case SDLK_CAPSLOCK: return KEY_CAPSLOCK;
|
||||
case SDLK_SCROLLOCK: return KEY_SCRLLOCK;
|
||||
case SDLK_SYSREQ: return KEY_PRTSC;
|
||||
case SDLK_PRINT: return KEY_PRTSC;
|
||||
case SDLK_RSHIFT: return KEY_RSHIFT;
|
||||
case SDLK_LSHIFT: return KEY_LSHIFT;
|
||||
case SDLK_RCTRL: return KEY_RCTRL;
|
||||
case SDLK_LCTRL: return KEY_LCTRL;
|
||||
case SDLK_RALT: return KEY_RALT;
|
||||
case SDLK_LALT: return KEY_LALT;
|
||||
case SDLK_RMETA: return KEY_LMETA;
|
||||
case SDLK_LMETA: return KEY_RMETA;
|
||||
case SDLK_LSUPER: return KEY_LSUPER;
|
||||
case SDLK_RSUPER: return KEY_RSUPER;
|
||||
case SDLK_MENU: return KEY_MENU;
|
||||
}
|
||||
|
||||
/* Map anything else to key+KEY_OTHER_0+95. */
|
||||
if( key+KEY_OTHER_0+95 < KEY_LAST_OTHER )
|
||||
return (RageKeySym) (key+KEY_OTHER_0+95);
|
||||
|
||||
return KEY_INVALID;
|
||||
}
|
||||
|
||||
static const Sint8 Handled_SDL_Events[] = {
|
||||
SDL_KEYDOWN, SDL_KEYUP, SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP,
|
||||
SDL_JOYAXISMOTION, SDL_JOYHATMOTION, -1
|
||||
@@ -103,12 +206,7 @@ void InputHandler_SDL::Update(float fDeltaTime)
|
||||
case SDL_KEYDOWN:
|
||||
case SDL_KEYUP:
|
||||
{
|
||||
DeviceInput di(DEVICE_KEYBOARD, event.key.keysym.sym);
|
||||
|
||||
/* SDL is inconsistent about this key: */
|
||||
if( di.button == SDLK_SYSREQ )
|
||||
di.button = SDLK_PRINT;
|
||||
|
||||
DeviceInput di( DEVICE_KEYBOARD, SDLSymToKeySym(event.key.keysym.sym) );
|
||||
ButtonPressed(di, event.key.state == SDL_PRESSED);
|
||||
}
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user