forked from Mirrors/openclonk
Compare commits
8 Commits
master
...
scancodes-
Author | SHA1 | Date |
---|---|---|
Tobias Zwick | d8a4b2a7bf | |
Armin Burgmeier | 12f10f070d | |
Tobias Zwick | 3cbd53bada | |
Tobias Zwick | 120cff1262 | |
Tobias Zwick | 5877cab4c7 | |
Martin Plicht | 3d2a1ce9a3 | |
Tobias Zwick | e000b268dd | |
Tobias Zwick | 40547be458 |
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -2707,7 +2707,7 @@ bool C4Game::InitKeyboard()
|
|||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_F3 ), "MusicToggle", C4KeyScope(KEYSCOPE_Generic | KEYSCOPE_Gui), new C4KeyCB <C4MusicSystem> (Application.MusicSystem, &C4MusicSystem::ToggleOnOff)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_F9 ), "Screenshot", C4KeyScope(KEYSCOPE_Fullscreen | KEYSCOPE_Gui), new C4KeyCBEx<C4GraphicsSystem, bool>(GraphicsSystem, false, &C4GraphicsSystem::SaveScreenshot)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_F9, KEYS_Control), "ScreenshotEx", KEYSCOPE_Fullscreen, new C4KeyCBEx<C4GraphicsSystem, bool>(GraphicsSystem, true, &C4GraphicsSystem::SaveScreenshot)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(KEY_C, KEYS_Alt), "ToggleChat", C4KeyScope(KEYSCOPE_Generic | KEYSCOPE_Gui), new C4KeyCB <C4Game> (*this, &C4Game::ToggleChat)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_C, KEYS_Alt), "ToggleChat", C4KeyScope(KEYSCOPE_Generic | KEYSCOPE_Gui), new C4KeyCB <C4Game> (*this, &C4Game::ToggleChat)));
|
||||
|
||||
// main ingame
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_F1 ), "ToggleShowHelp", KEYSCOPE_Generic, new C4KeyCB <C4GraphicsSystem>(GraphicsSystem, &C4GraphicsSystem::ToggleShowHelp)));
|
||||
|
@ -2778,10 +2778,10 @@ bool C4Game::InitKeyboard()
|
|||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_SPACE ), "EditCursorModeToggle", KEYSCOPE_Console, new C4KeyCB <C4EditCursor>(Console.EditCursor, &C4EditCursor::ToggleMode)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_ADD ), "ToolsDlgGradeUp", KEYSCOPE_Console, new C4KeyCBEx<C4ToolsDlg, int32_t>(Console.ToolsDlg, +5, &C4ToolsDlg::ChangeGrade)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_SUBTRACT ), "ToolsDlgGradeDown", KEYSCOPE_Console, new C4KeyCBEx<C4ToolsDlg, int32_t>(Console.ToolsDlg, -5, &C4ToolsDlg::ChangeGrade)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(KEY_M, KEYS_Control), "ToolsDlgPopMaterial", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::PopMaterial)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(KEY_T, KEYS_Control), "ToolsDlgPopTextures", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::PopTextures)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(KEY_I, KEYS_Control), "ToolsDlgIFTToggle", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::ToggleIFT)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(KEY_W, KEYS_Control), "ToolsDlgToolToggle", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::ToggleTool)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_M, KEYS_Control), "ToolsDlgPopMaterial", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::PopMaterial)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_T, KEYS_Control), "ToolsDlgPopTextures", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::PopTextures)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_I, KEYS_Control), "ToolsDlgIFTToggle", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::ToggleIFT)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_W, KEYS_Control), "ToolsDlgToolToggle", KEYSCOPE_Console, new C4KeyCB <C4ToolsDlg>(Console.ToolsDlg, &C4ToolsDlg::ToggleTool)));
|
||||
KeyboardInput.RegisterKey(new C4CustomKey(C4KeyCodeEx(K_DELETE ), "EditCursorDelete", KEYSCOPE_Console, new C4KeyCB <C4EditCursor>(Console.EditCursor, &C4EditCursor::Delete)));
|
||||
|
||||
// no default keys assigned
|
||||
|
|
|
@ -80,13 +80,13 @@ namespace C4GUI
|
|||
pKeyCursorEnd = RegisterCursorOp(COP_END , K_END , "GUIEditCursorEnd", eKeyPrio);
|
||||
pKeyEnter = new C4KeyBinding(C4KeyCodeEx(K_RETURN), "GUIEditConfirm", KEYSCOPE_Gui,
|
||||
new ControlKeyCB<Edit>(*this, &Edit::KeyEnter), eKeyPrio);
|
||||
pKeyCopy = new C4KeyBinding(C4KeyCodeEx(KEY_C, KEYS_Control), "GUIEditCopy", KEYSCOPE_Gui,
|
||||
pKeyCopy = new C4KeyBinding(C4KeyCodeEx(K_C, KEYS_Control), "GUIEditCopy", KEYSCOPE_Gui,
|
||||
new ControlKeyCB<Edit>(*this, &Edit::KeyCopy), eKeyPrio);
|
||||
pKeyPaste = new C4KeyBinding(C4KeyCodeEx(KEY_V, KEYS_Control), "GUIEditPaste", KEYSCOPE_Gui,
|
||||
pKeyPaste = new C4KeyBinding(C4KeyCodeEx(K_V, KEYS_Control), "GUIEditPaste", KEYSCOPE_Gui,
|
||||
new ControlKeyCB<Edit>(*this, &Edit::KeyPaste), eKeyPrio);
|
||||
pKeyCut = new C4KeyBinding(C4KeyCodeEx(KEY_X, KEYS_Control), "GUIEditCut", KEYSCOPE_Gui,
|
||||
pKeyCut = new C4KeyBinding(C4KeyCodeEx(K_X, KEYS_Control), "GUIEditCut", KEYSCOPE_Gui,
|
||||
new ControlKeyCB<Edit>(*this, &Edit::KeyCut), eKeyPrio);
|
||||
pKeySelAll = new C4KeyBinding(C4KeyCodeEx(KEY_A, KEYS_Control), "GUIEditSelAll", KEYSCOPE_Gui,
|
||||
pKeySelAll = new C4KeyBinding(C4KeyCodeEx(K_A, KEYS_Control), "GUIEditSelAll", KEYSCOPE_Gui,
|
||||
new ControlKeyCB<Edit>(*this, &Edit::KeySelectAll), eKeyPrio);
|
||||
}
|
||||
|
||||
|
|
|
@ -112,107 +112,111 @@ struct C4KeyCodeMapEntry
|
|||
|
||||
#if defined(USE_WIN32_WINDOWS) || defined(USE_X11)
|
||||
const C4KeyCodeMapEntry KeyCodeMap[] = {
|
||||
{1, "Escape", "Esc"},
|
||||
{2, "1", NULL},
|
||||
{3, "2", NULL},
|
||||
{4, "3", NULL},
|
||||
{5, "4", NULL},
|
||||
{6, "5", NULL},
|
||||
{7, "6", NULL},
|
||||
{8, "7", NULL},
|
||||
{9, "8", NULL},
|
||||
{10, "9", NULL},
|
||||
{11, "0", NULL},
|
||||
{12, "Minus", "-"},
|
||||
{13, "Equal", "="},
|
||||
{14, "BackSpace", NULL},
|
||||
{15, "Tab", NULL},
|
||||
{16, "Q", NULL},
|
||||
{17, "W", NULL},
|
||||
{18, "E", NULL},
|
||||
{19, "R", NULL},
|
||||
{20, "T", NULL},
|
||||
{21, "Y", NULL},
|
||||
{22, "U", NULL},
|
||||
{23, "I", NULL},
|
||||
{24, "O", NULL},
|
||||
{25, "P", NULL},
|
||||
{26, "LeftBracket", "["},
|
||||
{27, "RightBracket", "]"},
|
||||
{28, "Return", "Ret"},
|
||||
{29, "LeftControl", "LCtrl"},
|
||||
{30, "A", NULL},
|
||||
{31, "S", NULL},
|
||||
{32, "D", NULL},
|
||||
{33, "F", NULL},
|
||||
{34, "G", NULL},
|
||||
{35, "H", NULL},
|
||||
{36, "J", NULL},
|
||||
{37, "K", NULL},
|
||||
{38, "L", NULL},
|
||||
{39, "Semicolon", ";"},
|
||||
{40, "Apostrophe", "'"},
|
||||
{42, "LeftShift", "LShift"},
|
||||
{43, "Backslash", "\\"},
|
||||
{44, "Z", NULL},
|
||||
{45, "X", NULL},
|
||||
{46, "C", NULL},
|
||||
{47, "V", NULL},
|
||||
{48, "B", NULL},
|
||||
{49, "N", NULL},
|
||||
{50, "M", NULL},
|
||||
{51, "Comma", ","},
|
||||
{52, "Period", "."},
|
||||
{53, "Slash", "/"},
|
||||
{54, "RightShift", "RShift"},
|
||||
{55, "Multiply", "N*"},
|
||||
{56, "LeftAlt", "LAlt"},
|
||||
{57, "Space", "Sp"},
|
||||
{58, "Capslock", NULL},
|
||||
{59, "F1", NULL},
|
||||
{60, "F2", NULL},
|
||||
{61, "F3", NULL},
|
||||
{62, "F4", NULL},
|
||||
{63, "F5", NULL},
|
||||
{64, "F6", NULL},
|
||||
{65, "F7", NULL},
|
||||
{66, "F8", NULL},
|
||||
{67, "F9", NULL},
|
||||
{68, "F10", NULL},
|
||||
{69, "NumLock", "NLock"},
|
||||
{71, "Num7", "N7"},
|
||||
{72, "Num8", "N8"},
|
||||
{73, "Num9", "N9"},
|
||||
{74, "Subtract", "N-"},
|
||||
{75, "Num4", "N4"},
|
||||
{76, "Num5", "N5"},
|
||||
{77, "Num6", "N6"},
|
||||
{78, "Add", "N+"},
|
||||
{79, "Num1", "N1"},
|
||||
{80, "Num2", "N2"},
|
||||
{81, "Num3", "N3"},
|
||||
{82, "Num0", "N0"},
|
||||
{83, "Decimal", "N,"},
|
||||
{86, "|<>", NULL},
|
||||
{87, "F11", NULL},
|
||||
{88, "F12", NULL},
|
||||
{96, "NumReturn", "NRet"},
|
||||
{97, "RightControl", "RCtrl"},
|
||||
{98, "Divide", "N/"},
|
||||
{100, "RightAlt", "RAlt"},
|
||||
{102, "Home", NULL},
|
||||
{103, "Up", NULL},
|
||||
{104, "PageUp", NULL},
|
||||
{105, "Left", NULL},
|
||||
{106, "Right", NULL},
|
||||
{107, "End", NULL},
|
||||
{108, "Down", NULL},
|
||||
{109, "PageDown", NULL},
|
||||
{110, "Insert", "Ins"},
|
||||
{111, "Delete", "Del"},
|
||||
{119, "Pause", NULL},
|
||||
{125, "LeftWin", "LWin"},
|
||||
{127, "Menu", NULL},
|
||||
{K_ESCAPE, "Escape", "Esc"},
|
||||
{K_1, "1", NULL},
|
||||
{K_2, "2", NULL},
|
||||
{K_3, "3", NULL},
|
||||
{K_4, "4", NULL},
|
||||
{K_5, "5", NULL},
|
||||
{K_6, "6", NULL},
|
||||
{K_7, "7", NULL},
|
||||
{K_8, "8", NULL},
|
||||
{K_9, "9", NULL},
|
||||
{K_0, "0", NULL},
|
||||
{K_MINUS, "Minus", "-"},
|
||||
{K_EQUAL, "Equal", "="},
|
||||
{K_BACK, "BackSpace", NULL},
|
||||
{K_TAB, "Tab", NULL},
|
||||
{K_Q, "Q", NULL},
|
||||
{K_W, "W", NULL},
|
||||
{K_E, "E", NULL},
|
||||
{K_R, "R", NULL},
|
||||
{K_T, "T", NULL},
|
||||
{K_Y, "Y", NULL},
|
||||
{K_U, "U", NULL},
|
||||
{K_I, "I", NULL},
|
||||
{K_O, "O", NULL},
|
||||
{K_P, "P", NULL},
|
||||
{K_LEFT_BRACKET,"LeftBracket", "["},
|
||||
{K_RIGHT_BRACKET,"RightBracket","]"},
|
||||
{K_RETURN, "Return", "Ret"},
|
||||
{K_CONTROL_L, "LeftControl", "LCtrl"},
|
||||
{K_A, "A", NULL},
|
||||
{K_S, "S", NULL},
|
||||
{K_D, "D", NULL},
|
||||
{K_F, "F", NULL},
|
||||
{K_G, "G", NULL},
|
||||
{K_H, "H", NULL},
|
||||
{K_J, "J", NULL},
|
||||
{K_K, "K", NULL},
|
||||
{K_L, "L", NULL},
|
||||
{K_SEMICOLON, "Semicolon", ";"},
|
||||
{K_APOSTROPHE, "Apostrophe", "'"},
|
||||
{K_GRAVE_ACCENT,"GraveAccent", "`"},
|
||||
{K_SHIFT_L, "LeftShift", "LShift"},
|
||||
{K_BACKSLASH, "Backslash", "\\"},
|
||||
{K_Z, "Z", NULL},
|
||||
{K_X, "X", NULL},
|
||||
{K_C, "C", NULL},
|
||||
{K_V, "V", NULL},
|
||||
{K_B, "B", NULL},
|
||||
{K_N, "N", NULL},
|
||||
{K_M, "M", NULL},
|
||||
{K_COMMA, "Comma", ","},
|
||||
{K_PERIOD, "Period", "."},
|
||||
{K_SLASH, "Slash", "/"},
|
||||
{K_SHIFT_R, "RightShift", "RShift"},
|
||||
{K_MULTIPLY, "Multiply", "N*"},
|
||||
{K_ALT_L, "LeftAlt", "LAlt"},
|
||||
{K_SPACE, "Space", "Sp"},
|
||||
{K_CAPS, "Capslock", NULL},
|
||||
{K_F1, "F1", NULL},
|
||||
{K_F2, "F2", NULL},
|
||||
{K_F3, "F3", NULL},
|
||||
{K_F4, "F4", NULL},
|
||||
{K_F5, "F5", NULL},
|
||||
{K_F6, "F6", NULL},
|
||||
{K_F7, "F7", NULL},
|
||||
{K_F8, "F8", NULL},
|
||||
{K_F9, "F9", NULL},
|
||||
{K_F10, "F10", NULL},
|
||||
{K_NUM, "NumLock", "NLock"},
|
||||
{K_SCROLL, "ScrollLock", "SLock"},
|
||||
{K_NUM7, "Num7", "N7"},
|
||||
{K_NUM8, "Num8", "N8"},
|
||||
{K_NUM9, "Num9", "N9"},
|
||||
{K_SUBTRACT, "Subtract", "N-"},
|
||||
{K_NUM4, "Num4", "N4"},
|
||||
{K_NUM5, "Num5", "N5"},
|
||||
{K_NUM6, "Num6", "N6"},
|
||||
{K_ADD, "Add", "N+"},
|
||||
{K_NUM1, "Num1", "N1"},
|
||||
{K_NUM2, "Num2", "N2"},
|
||||
{K_NUM3, "Num3", "N3"},
|
||||
{K_NUM0, "Num0", "N0"},
|
||||
{K_DECIMAL, "Decimal", "N,"},
|
||||
{K_86, "|<>", NULL},
|
||||
{K_F11, "F11", NULL},
|
||||
{K_F12, "F12", NULL},
|
||||
{K_NUM_RETURN, "NumReturn", "NRet"},
|
||||
{K_CONTROL_R, "RightControl", "RCtrl"},
|
||||
{K_DIVIDE, "Divide", "N/"},
|
||||
{K_ALT_R, "RightAlt", "RAlt"},
|
||||
{K_HOME, "Home", NULL},
|
||||
{K_UP, "Up", NULL},
|
||||
{K_PAGEUP, "PageUp", NULL},
|
||||
{K_LEFT, "Left", NULL},
|
||||
{K_RIGHT, "Right", NULL},
|
||||
{K_END, "End", NULL},
|
||||
{K_DOWN, "Down", NULL},
|
||||
{K_PAGEDOWN, "PageDown", NULL},
|
||||
{K_INSERT, "Insert", "Ins"},
|
||||
{K_DELETE, "Delete", "Del"},
|
||||
{K_PAUSE, "Pause", NULL},
|
||||
{K_WIN_L, "LeftWin", "LWin"},
|
||||
{K_WIN_R, "RightWin", "RWin"},
|
||||
{K_MENU, "Menu", NULL},
|
||||
{K_PRINT, "Print", NULL},
|
||||
{0x00, NULL, NULL}
|
||||
};
|
||||
#elif defined(USE_COCOA)
|
||||
|
@ -832,6 +836,8 @@ void C4KeyboardInput::UnregisterKeyBinding(C4CustomKey *pUnregKey)
|
|||
|
||||
bool C4KeyboardInput::DoInput(const C4KeyCodeEx &InKey, C4KeyEventType InEvent, DWORD InScope, int32_t iStrength)
|
||||
{
|
||||
LogF("%d",InKey.Key);
|
||||
|
||||
// store last-key-info
|
||||
LastKeyExtraData.iStrength = (iStrength >= 0) ? iStrength : ((InEvent != KEYEV_Up) * 100);
|
||||
LastKeyExtraData.game_x = LastKeyExtraData.game_y = LastKeyExtraData.vp_x = LastKeyExtraData.vp_y = 0;
|
||||
|
|
|
@ -1427,7 +1427,7 @@ C4StartupScenSelDlg::C4StartupScenSelDlg(bool fNetwork) : C4StartupDlg(LoadResSt
|
|||
new C4GUI::ControlKeyDlgCB<C4StartupScenSelDlg>(pScenSelList, *this, &C4StartupScenSelDlg::KeyRename), C4CustomKey::PRIO_CtrlOverride);
|
||||
pKeyDelete = new C4KeyBinding(C4KeyCodeEx(K_DELETE), "StartupScenSelDelete", KEYSCOPE_Gui,
|
||||
new C4GUI::ControlKeyDlgCB<C4StartupScenSelDlg>(pScenSelList, *this, &C4StartupScenSelDlg::KeyDelete), C4CustomKey::PRIO_CtrlOverride);
|
||||
pKeyCheat = new C4KeyBinding(C4KeyCodeEx(KEY_M, KEYS_Alt), "StartupScenSelCheat", KEYSCOPE_Gui,
|
||||
pKeyCheat = new C4KeyBinding(C4KeyCodeEx(K_M, KEYS_Alt), "StartupScenSelCheat", KEYSCOPE_Gui,
|
||||
new C4GUI::ControlKeyDlgCB<C4StartupScenSelDlg>(pScenSelList, *this, &C4StartupScenSelDlg::KeyCheat), C4CustomKey::PRIO_CtrlOverride);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,11 +29,65 @@
|
|||
|
||||
#include <StdBuf.h>
|
||||
|
||||
#if defined(USE_WIN32_WINDOWS) || defined(USE_X11)
|
||||
#if defined(USE_WIN32_WINDOWS) || defined(USE_X11) || defined(USE_CONSOLE)
|
||||
#define K_ESCAPE 1
|
||||
#define K_1 2
|
||||
#define K_2 3
|
||||
#define K_3 4
|
||||
#define K_4 5
|
||||
#define K_5 6
|
||||
#define K_6 7
|
||||
#define K_7 8
|
||||
#define K_8 9
|
||||
#define K_9 10
|
||||
#define K_0 11
|
||||
#define K_MINUS 12
|
||||
#define K_EQUAL 13
|
||||
#define K_BACK 14
|
||||
#define K_TAB 15
|
||||
#define K_Q 16
|
||||
#define K_W 17
|
||||
#define K_E 18
|
||||
#define K_R 19
|
||||
#define K_T 20
|
||||
#define K_Y 21
|
||||
#define K_U 22
|
||||
#define K_I 23
|
||||
#define K_O 24
|
||||
#define K_P 25
|
||||
#define K_LEFT_BRACKET 26
|
||||
#define K_RIGHT_BRACKET 27
|
||||
#define K_RETURN 28
|
||||
#define K_CONTROL_L 29
|
||||
#define K_A 30
|
||||
#define K_S 31
|
||||
#define K_D 32
|
||||
#define K_F 33
|
||||
#define K_G 34
|
||||
#define K_H 35
|
||||
#define K_J 36
|
||||
#define K_K 37
|
||||
#define K_L 38
|
||||
#define K_SEMICOLON 39
|
||||
#define K_APOSTROPHE 40
|
||||
#define K_GRAVE_ACCENT 41
|
||||
#define K_SHIFT_L 42
|
||||
#define K_BACKSLASH 43
|
||||
#define K_Z 44
|
||||
#define K_X 45
|
||||
#define K_C 46
|
||||
#define K_V 47
|
||||
#define K_B 48
|
||||
#define K_N 49
|
||||
#define K_M 50
|
||||
#define K_COMMA 51
|
||||
#define K_PERIOD 52
|
||||
#define K_SLASH 53
|
||||
#define K_SHIFT_R 54
|
||||
#define K_ALT_L 56
|
||||
#define K_ALT_R 100
|
||||
#define K_MULTIPLY 55
|
||||
#define K_ALT_L 56
|
||||
#define K_SPACE 57
|
||||
#define K_CAPS 58
|
||||
#define K_F1 59
|
||||
#define K_F2 60
|
||||
#define K_F3 61
|
||||
|
@ -44,39 +98,89 @@
|
|||
#define K_F8 66
|
||||
#define K_F9 67
|
||||
#define K_F10 68
|
||||
#define K_NUM 69
|
||||
#define K_SCROLL 70
|
||||
#define K_SUBTRACT 74
|
||||
#define K_ADD 78
|
||||
#define K_86 86
|
||||
#define K_F11 87
|
||||
#define K_F12 88
|
||||
#define K_ADD 78
|
||||
#define K_SUBTRACT 74
|
||||
#define K_MULTIPLY 55
|
||||
#define K_ESCAPE 1
|
||||
#define K_PAUSE 119
|
||||
#define K_TAB 15
|
||||
#define K_RETURN 28
|
||||
#define K_DELETE 111
|
||||
#define K_INSERT 110
|
||||
#define K_BACK 14
|
||||
#define K_SPACE 57
|
||||
|
||||
/*
|
||||
// starting from here, scancodes between windows and linux differ
|
||||
// this is not used because the windows scancodes are converted to
|
||||
// unix scancodes in C4WindowWin32.cpp ConvertToUnixScancode
|
||||
#if defined(USE_WIN32_WINDOWS)
|
||||
#define K_HOME 71
|
||||
#define K_UP 72
|
||||
#define K_PAGEUP 73
|
||||
#define K_LEFT 75
|
||||
#define K_CENTER 76
|
||||
#define K_RIGHT 77
|
||||
#define K_END 79
|
||||
#define K_DOWN 80
|
||||
#define K_PAGEDOWN 81
|
||||
#define K_INSERT 82
|
||||
#define K_DELETE 83
|
||||
#define K_WIN_L 91
|
||||
#define K_WIN_R 92
|
||||
#define K_MENU 93
|
||||
#define K_PAUSE 69 // same as numlock?!
|
||||
#define K_PRINT 55 // same as multiply?!
|
||||
#define K_ALT_R K_ALT_L // 29 56
|
||||
#define K_CONTROL_R K_CONTROL_L // 29 29
|
||||
#define K_NUM_RETURN K_RETURN // 28 57
|
||||
#define K_NUM7 K_HOME
|
||||
#define K_NUM8 K_UP
|
||||
#define K_NUM9 K_PAGEUP
|
||||
#define K_NUM4 K_LEFT
|
||||
#define K_NUM5 K_CENTER
|
||||
#define K_NUM6 K_RIGHT
|
||||
#define K_NUM1 K_END
|
||||
#define K_NUM2 K_DOWN
|
||||
#define K_NUM3 K_PAGEDOWN
|
||||
#define K_NUM0 K_INSERT
|
||||
#define K_DECIMAL K_DELETE
|
||||
#define K_DIVIDE K_SLASH
|
||||
#elif defined(USE_X11) || defined(USE_CONSOLE)
|
||||
*/
|
||||
#define K_NUM7 71
|
||||
#define K_NUM8 72
|
||||
#define K_NUM9 73
|
||||
#define K_NUM4 75
|
||||
#define K_NUM5 76
|
||||
#define K_NUM6 77
|
||||
#define K_NUM1 79
|
||||
#define K_NUM2 80
|
||||
#define K_NUM3 81
|
||||
#define K_NUM0 82
|
||||
#define K_DECIMAL 83
|
||||
#define K_DIVIDE 98
|
||||
|
||||
#define K_ALT_R 100
|
||||
#define K_CONTROL_R 97
|
||||
#define K_NUM_RETURN 96
|
||||
|
||||
#define K_HOME 102
|
||||
#define K_UP 103
|
||||
#define K_DOWN 108
|
||||
#define K_PAGEUP 104
|
||||
#define K_LEFT 105
|
||||
#define K_RIGHT 106
|
||||
#define K_HOME 102
|
||||
#define K_END 107
|
||||
#define K_SCROLL 70
|
||||
#define K_MENU 127
|
||||
#define K_PAGEUP 104
|
||||
#define K_DOWN 108
|
||||
#define K_PAGEDOWN 109
|
||||
#define KEY_A 30 // select all in GUI-editbox
|
||||
#define KEY_C 46 // copy in GUI-editbox
|
||||
#define KEY_I 23 // console mode control key
|
||||
#define KEY_M 50 // console mode control key
|
||||
#define KEY_T 20 // console mode control key
|
||||
#define KEY_V 47 // paste in GUI-editbox
|
||||
#define KEY_W 17 // console mode control key
|
||||
#define KEY_X 45 // cut from GUI-editbox
|
||||
#define K_INSERT 110
|
||||
#define K_DELETE 111
|
||||
#define K_WIN_L 125
|
||||
#define K_WIN_R 126
|
||||
#define K_MENU 127
|
||||
#define K_PAUSE 119
|
||||
#define K_PRINT 99
|
||||
#define K_CENTER 76
|
||||
|
||||
#elif defined(USE_SDL_MAINLOOP)
|
||||
#include <SDL.h>
|
||||
// FIXME
|
||||
#define K_SHIFT_L SDLK_LSHIFT
|
||||
#define K_SHIFT_R SDLK_RSHIFT
|
||||
#define K_ALT_L SDLK_LALT
|
||||
|
@ -114,62 +218,17 @@
|
|||
#define K_MENU SDLK_MENU
|
||||
#define K_PAGEUP SDLK_PAGEUP
|
||||
#define K_PAGEDOWN SDLK_PAGEDOWN
|
||||
#define KEY_M SDLK_m
|
||||
#define KEY_T SDLK_t
|
||||
#define KEY_W SDLK_w
|
||||
#define KEY_I SDLK_i
|
||||
#define KEY_C SDLK_c
|
||||
#define KEY_V SDLK_v
|
||||
#define KEY_X SDLK_x
|
||||
#define KEY_A SDLK_a
|
||||
#elif defined(USE_CONSOLE)
|
||||
#define K_SHIFT_L 0
|
||||
#define K_SHIFT_R 0
|
||||
#define K_ALT_L 0
|
||||
#define K_ALT_R 0
|
||||
#define K_F1 0
|
||||
#define K_F2 0
|
||||
#define K_F3 0
|
||||
#define K_F4 0
|
||||
#define K_F5 0
|
||||
#define K_F6 0
|
||||
#define K_F7 0
|
||||
#define K_F8 0
|
||||
#define K_F9 0
|
||||
#define K_F10 0
|
||||
#define K_F11 0
|
||||
#define K_F12 0
|
||||
#define K_ADD 0
|
||||
#define K_SUBTRACT 0
|
||||
#define K_MULTIPLY 0
|
||||
#define K_ESCAPE 0
|
||||
#define K_PAUSE 0
|
||||
#define K_TAB 0
|
||||
#define K_RETURN 0
|
||||
#define K_DELETE 0
|
||||
#define K_INSERT 0
|
||||
#define K_BACK 0
|
||||
#define K_SPACE 0
|
||||
#define K_UP 0
|
||||
#define K_DOWN 0
|
||||
#define K_LEFT 0
|
||||
#define K_RIGHT 0
|
||||
#define K_HOME 0
|
||||
#define K_END 0
|
||||
#define K_SCROLL 0
|
||||
#define K_MENU 0
|
||||
#define K_PAGEUP 0
|
||||
#define K_PAGEDOWN 0
|
||||
#define KEY_M 0
|
||||
#define KEY_T 0
|
||||
#define KEY_W 0
|
||||
#define KEY_I 0
|
||||
#define KEY_C 0
|
||||
#define KEY_V 0
|
||||
#define KEY_X 0
|
||||
#define KEY_A 0
|
||||
#define K_M SDLK_m
|
||||
#define K_T SDLK_t
|
||||
#define K_W SDLK_w
|
||||
#define K_I SDLK_i
|
||||
#define K_C SDLK_c
|
||||
#define K_V SDLK_v
|
||||
#define K_X SDLK_x
|
||||
#define K_A SDLK_a
|
||||
#elif defined(USE_COCOA)
|
||||
#import "ObjectiveCAssociated.h"
|
||||
// FIXME
|
||||
// declare as extern variables and initialize them in StdMacWindow.mm so as to not include objc headers
|
||||
const int CocoaKeycodeOffset = 300;
|
||||
extern C4KeyCode K_SHIFT_L;
|
||||
|
@ -209,14 +268,14 @@ extern C4KeyCode K_SCROLL;
|
|||
extern C4KeyCode K_MENU;
|
||||
extern C4KeyCode K_PAGEUP;
|
||||
extern C4KeyCode K_PAGEDOWN;
|
||||
extern C4KeyCode KEY_M;
|
||||
extern C4KeyCode KEY_T;
|
||||
extern C4KeyCode KEY_W;
|
||||
extern C4KeyCode KEY_I;
|
||||
extern C4KeyCode KEY_C;
|
||||
extern C4KeyCode KEY_V;
|
||||
extern C4KeyCode KEY_X;
|
||||
extern C4KeyCode KEY_A;
|
||||
extern C4KeyCode K_M;
|
||||
extern C4KeyCode K_T;
|
||||
extern C4KeyCode K_W;
|
||||
extern C4KeyCode K_I;
|
||||
extern C4KeyCode K_C;
|
||||
extern C4KeyCode K_V;
|
||||
extern C4KeyCode K_X;
|
||||
extern C4KeyCode K_A;
|
||||
#endif
|
||||
|
||||
#ifdef USE_X11
|
||||
|
|
|
@ -171,14 +171,14 @@ C4KeyCode K_SCROLL = 1000 + CocoaKeycodeOffset;
|
|||
C4KeyCode K_MENU = 1000 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_PAGEUP = 116 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_PAGEDOWN = 121 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_M = 46 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_T = 17 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_W = 13 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_I = 34 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_C = 8 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_V = 9 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_X = 7 + CocoaKeycodeOffset;
|
||||
C4KeyCode KEY_A = 0 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_M = 46 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_T = 17 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_W = 13 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_I = 34 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_C = 8 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_V = 9 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_X = 7 + CocoaKeycodeOffset;
|
||||
C4KeyCode K_A = 0 + CocoaKeycodeOffset;
|
||||
int MK_SHIFT = NSShiftKeyMask;
|
||||
int MK_CONTROL = NSControlKeyMask;
|
||||
int MK_ALT = NSAlternateKeyMask;
|
||||
|
|
|
@ -56,6 +56,44 @@
|
|||
#define ConsoleDlgClassName L"C4GUIdlg"
|
||||
#define ConsoleDlgWindowStyle (WS_VISIBLE | WS_POPUP | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX)
|
||||
|
||||
/** Convert certain keys to unix scancodes (those that differ from unix scancodes) */
|
||||
static void ConvertToUnixScancode(WPARAM wParam, C4KeyCode *scancode)
|
||||
{
|
||||
C4KeyCode &s = *scancode;
|
||||
|
||||
switch(wParam)
|
||||
{
|
||||
case VK_HOME: s = K_HOME; break;
|
||||
case VK_END: s = K_END; break;
|
||||
case VK_PRIOR: s = K_PAGEUP; break;
|
||||
case VK_NEXT: s = K_PAGEDOWN; break;
|
||||
case VK_UP: s = K_UP; break;
|
||||
case VK_DOWN: s = K_DOWN; break;
|
||||
case VK_LEFT: s = K_LEFT; break;
|
||||
case VK_RIGHT: s = K_RIGHT; break;
|
||||
case VK_CLEAR: s = K_CENTER; break;
|
||||
case VK_INSERT: s = K_INSERT; break;
|
||||
case VK_DELETE: s = K_DELETE; break;
|
||||
case VK_LWIN: s = K_WIN_L; break;
|
||||
case VK_RWIN: s = K_WIN_R; break;
|
||||
case VK_MENU: s = K_MENU; break;
|
||||
case VK_PAUSE: s = K_PAUSE; break;
|
||||
case VK_PRINT: s = K_PRINT; break;
|
||||
case VK_RCONTROL: s = K_CONTROL_R; break;
|
||||
case VK_NUMLOCK: s = K_NUM; break;
|
||||
case VK_NUMPAD1: s = K_NUM1; break;
|
||||
case VK_NUMPAD2: s = K_NUM2; break;
|
||||
case VK_NUMPAD3: s = K_NUM3; break;
|
||||
case VK_NUMPAD4: s = K_NUM4; break;
|
||||
case VK_NUMPAD5: s = K_NUM5; break;
|
||||
case VK_NUMPAD6: s = K_NUM6; break;
|
||||
case VK_NUMPAD7: s = K_NUM7; break;
|
||||
case VK_NUMPAD8: s = K_NUM8; break;
|
||||
case VK_NUMPAD9: s = K_NUM9; break;
|
||||
case VK_NUMPAD0: s = K_NUM0; break;
|
||||
}
|
||||
}
|
||||
|
||||
LRESULT APIENTRY FullScreenWinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static bool NativeCursorShown = true;
|
||||
|
@ -66,6 +104,7 @@ LRESULT APIENTRY FullScreenWinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l
|
|||
|
||||
// compute scancode
|
||||
C4KeyCode scancode = (((unsigned int)lParam) >> 16) & 0xFF;
|
||||
ConvertToUnixScancode(wParam, &scancode);
|
||||
|
||||
// Process message
|
||||
switch (uMsg)
|
||||
|
|
Loading…
Reference in New Issue