openclonk/src/platform/CocoaKeycodeMap.h

239 lines
10 KiB
C

/*
* OpenClonk, http://www.openclonk.org
*
* Copyright (c) 2010-2016, The OpenClonk Team and contributors
*
* Distributed under the terms of the ISC license; see accompanying file
* "COPYING" for details.
*
* "Clonk" is a registered trademark of Matthes Bender, used with permission.
* See accompanying file "TRADEMARK" for details.
*
* To redistribute this file separately, substitute the full license texts
* for the above references.
*/
#define K(k,s,a) {k+CocoaKeycodeOffset,s,a}
const C4KeyCodeMapEntry KeyCodeMap [] =
{
{ K_BACK , "Backspace" , nullptr },
{ K_TAB , "Tab" , nullptr },
//{ VK_CLEAR , "Clear" , nullptr },
{ K_RETURN , "Return" , nullptr },
{ K_SHIFT_L , "LeftShift" , "LShift" },
{ K_SHIFT_R , "RightShift" , "RShift" },
{ K_CONTROL_L , "LeftControl" , "LCtrl" },
{ K_CONTROL_R , "RightControl" , "RCtrl" },
{ K_ALT_L , "LeftAlt" , "LAlt" },
{ K_ALT_R , "RightAlt" , "RAlt" },
{ K_PAUSE , "Pause" , nullptr },
/* K( VK_CAPITAL , "Capital" , nullptr ),
K( VK_KANA , "Kana" , nullptr ),
K( VK_HANGEUL , "Hangeul" , nullptr ),
K( VK_HANGUL , "Hangul" , nullptr ),
K( VK_JUNJA , "Junja" , nullptr ),
K( VK_FINAL , "Final" , nullptr ),
K( VK_HANJA , "Hanja" , nullptr ),
K( VK_KANJI , "Kanji" , nullptr ),
K( VK_ESCAPE , "Escape" , "Esc" ),
K( VK_ESCAPE , "Esc" ,nullptr ),
K( VK_CONVERT , "Convert" , nullptr ),
K( VK_NONCONVERT , "Noconvert" , nullptr ),
K( VK_ACCEPT , "Accept" , nullptr ),
K( VK_MODECHANGE , "Modechange" , nullptr ),*/
{ K_SPACE , "Space" , "Sp" },
{ K_END , "End" , nullptr },
{ K_HOME , "Home" , nullptr },
{ K_LEFT , "Left" , nullptr },
{ K_UP , "Up" , nullptr },
{ K_RIGHT , "Right" , nullptr },
{ K_DOWN , "Down" , nullptr },
/*{ VK_SELECT , "Select" , nullptr },
{ VK_PRINT , "Print" , nullptr },
{ VK_EXECUTE , "Execute" , nullptr },
{ VK_SNAPSHOT , "Snapshot" , nullptr },
{ VK_INSERT , "Insert" , "Ins" },*/
{ K_DELETE , "Delete" , "Del" },
// { VK_HELP , "Help" , nullptr },
K( 29 , "0" , nullptr ),
K( 18 , "1" , nullptr ),
K( 19 , "2" , nullptr ),
K( 20 , "3" , nullptr ),
K( 21 , "4" , nullptr ),
K( 23 , "5" , nullptr ),
K( 22 , "6" , nullptr ),
K( 26 , "7" , nullptr ),
K( 28 , "8" , nullptr ),
K( 25 , "9" , nullptr ),
K( 0 , "A" , nullptr ),
K( 11 , "B" , nullptr ),
K( 8 , "C" , nullptr ),
K( 2 , "D" , nullptr ),
K( 14 , "E" , nullptr ),
K( 3 , "F" , nullptr ),
K( 5 , "G" , nullptr ),
K( 4 , "H" , nullptr ),
K( 34 , "I" , nullptr ),
K( 38 , "J" , nullptr ),
K( 40 , "K" , nullptr ),
K( 37 , "L" , nullptr ),
K( 46 , "M" , nullptr ),
K( 45 , "N" , nullptr ),
K( 31 , "O" , nullptr ),
K( 35 , "P" , nullptr ),
K( 12 , "Q" , nullptr ),
K( 15 , "R" , nullptr ),
K( 1 , "S" , nullptr ),
K( 17 , "T" , nullptr ),
K( 32 , "U" , nullptr ),
K( 9 , "V" , nullptr ),
K( 13 , "W" , nullptr ),
K( 7 , "X" , nullptr ),
K( 6 , "Y" , nullptr ),
K( 16 , "Z" , nullptr ),
K( 43 , "Comma" , nullptr ),
K( 47 , "Period" , nullptr ),
K( 43 , "Apostrophe", nullptr ),
K( 44 , "Backslash" , nullptr ),
K( 43 , "Comma_US" , nullptr ),
K( 49 , "Less" , nullptr ),
/*K( VK_LWIN , "WinLeft" , nullptr ),
K( VK_RWIN , "WinRight" , nullptr ),*/
//K( VK_APPS , "Apps" , nullptr ),
K( 82 , "Num0" , "N0" ),
K( 83 , "Num1" , "N1" ),
K( 84 , "Num2" , "N2" ),
K( 85 , "Num3" , "N3" ),
K( 86 , "Num4" , "N4" ),
K( 87 , "Num5" , "N5" ),
K( 88 , "Num6" , "N6" ),
K( 89 , "Num7" , "N7" ),
K( 91 , "Num8" , "N8" ),
K( 92 , "Num9" , "N9" ),
K( 67 , "Multiply" , "N*" ),
K( 69 , "Add" , "N+" ),
//K( 65 , "Separator" , "NSep" ),
K( 78 , "Subtract" , "N-" ),
K( 65 , "Decimal" , "N," ),
K( 75 , "Divide" , "N/" ),
{ K_F1 , "F1" , nullptr },
{ K_F2 , "F2" , nullptr },
{ K_F3 , "F3" , nullptr },
{ K_F4 , "F4" , nullptr },
{ K_F5 , "F5" , nullptr },
{ K_F6 , "F6" , nullptr },
{ K_F7 , "F7" , nullptr },
{ K_F8 , "F8" , nullptr },
{ K_F9 , "F9" , nullptr },
{ K_F10 , "F10" , nullptr },
{ K_F11 , "F11" , nullptr },
{ K_F12 , "F12" , nullptr },
/*
{ K_F13 , "F13" , nullptr },
{ K_F14 , "F14" , nullptr },
{ K_F15 , "F15" , nullptr },
{ K_F16 , "F16" , nullptr },
{ K_F17 , "F17" , nullptr },
{ K_F18 , "F18" , nullptr },
{ K_F19 , "F19" , nullptr },
{ K_F20 , "F20" , nullptr },
{ K_F21 , "F21" , nullptr },
{ K_F22 , "F22" , nullptr },
{ K_F23 , "F23" , nullptr },
{ K_F24 , "F24" , nullptr },*/
K( 71 , "NumLock" , "NLock" ),
//K( K_SCROLL , "Scroll" , nullptr ),
//K( VK_PROCESSKEY , "PROCESSKEY" , nullptr ),
/*#if defined VK_SLEEP && defined VK_OEM_NEC_EQUAL
K( VK_SLEEP , "Sleep" , nullptr ),
K( VK_OEM_NEC_EQUAL , "OEM_NEC_EQUAL" , nullptr ),
K( VK_OEM_FJ_JISHO , "OEM_FJ_JISHO" , nullptr ),
K( VK_OEM_FJ_MASSHOU , "OEM_FJ_MASSHOU" , nullptr ),
K( VK_OEM_FJ_TOUROKU , "OEM_FJ_TOUROKU" , nullptr ),
K( VK_OEM_FJ_LOYA , "OEM_FJ_LOYA" , nullptr ),
K( VK_OEM_FJ_ROYA , "OEM_FJ_ROYA" , nullptr ),
K( VK_BROWSER_BACK , "BROWSER_BACK" , nullptr ),
K( VK_BROWSER_FORWARD , "BROWSER_FORWARD" , nullptr ),
K( VK_BROWSER_REFRESH , "BROWSER_REFRESH" , nullptr ),
K( VK_BROWSER_STOP , "BROWSER_STOP" , nullptr ),
K( VK_BROWSER_SEARCH , "BROWSER_SEARCH" , nullptr ),
K( VK_BROWSER_FAVORITES , "BROWSER_FAVORITES" , nullptr ),
K( VK_BROWSER_HOME , "BROWSER_HOME" , nullptr ),
K( VK_VOLUME_MUTE , "VOLUME_MUTE" , nullptr ),
K( VK_VOLUME_DOWN , "VOLUME_DOWN" , nullptr ),
K( VK_VOLUME_UP , "VOLUME_UP" , nullptr ),
K( VK_MEDIA_NEXT_TRACK , "MEDIA_NEXT_TRACK" , nullptr ),
K( VK_MEDIA_PREV_TRACK , "MEDIA_PREV_TRACK" , nullptr ),
K( VK_MEDIA_STOP , "MEDIA_STOP" , nullptr ),
K( VK_MEDIA_PLAY_PAUSE , "MEDIA_PLAY_PAUSE" , nullptr ),
K( VK_LAUNCH_MAIL , "LAUNCH_MAIL" , nullptr ),
K( VK_LAUNCH_MEDIA_SELECT , "LAUNCH_MEDIA_SELECT" , nullptr ),
K( VK_LAUNCH_APP1 , "LAUNCH_APP1" , nullptr ),
K( VK_LAUNCH_APP2 , "LAUNCH_APP2" , nullptr ),
K( VK_OEM_1 , "OEM Ü" , "Ü" ), // German hax
K( VK_OEM_PLUS , "OEM +" , "+" ),
K( VK_OEM_COMMA , "OEM ," , "," ),
K( VK_OEM_MINUS , "OEM -" , "-" ),
K( VK_OEM_PERIOD , "OEM ." , "." ),
K( VK_OEM_2 , "OEM 2" , "2" ),
K( VK_OEM_3 , "OEM Ö" , "Ö" ), // German hax
K( VK_OEM_4 , "OEM 4" , "4" ),
K( VK_OEM_5 , "OEM 5" , "5" ),
K( VK_OEM_6 , "OEM 6" , "6" ),
K( VK_OEM_7 , "OEM Ä" , "Ä" ), // German hax
K( VK_OEM_8 , "OEM 8" , "8" ),
K( VK_OEM_AX , "AX" , "AX" ),
K( VK_OEM_102 , "< > |" , "<" ), // German hax
K( VK_ICO_HELP , "Help" , "Help" ),
K( VK_ICO_00 , "ICO_00" , "00" ),
K( VK_ICO_CLEAR , "ICO_CLEAR" , nullptr ),
K( VK_PACKET , "PACKET" , nullptr ),
K( VK_OEM_RESET , "OEM_RESET" , nullptr ),
K( VK_OEM_JUMP , "OEM_JUMP" , nullptr ),
K( VK_OEM_PA1 , "OEM_PA1" , nullptr ),
K( VK_OEM_PA2 , "OEM_PA2" , nullptr ),
K( VK_OEM_PA3 , "OEM_PA3" , nullptr ),
K( VK_OEM_WSCTRL , "OEM_WSCTRL" , nullptr ),
K( VK_OEM_CUSEL , "OEM_CUSEL" , nullptr ),
K( VK_OEM_ATTN , "OEM_ATTN" , nullptr ),
K( VK_OEM_FINISH , "OEM_FINISH" , nullptr ),
K( VK_OEM_COPY , "OEM_COPY" , nullptr ),
K( VK_OEM_AUTO , "OEM_AUTO" , nullptr ),
K( VK_OEM_ENLW , "OEM_ENLW" , nullptr ),
K( VK_OEM_BACKTAB , "OEM_BACKTAB" , nullptr ),
#endif
K( VK_ATTN , "ATTN" , nullptr ),
K( VK_CRSEL , "CRSEL" , nullptr ),
K( VK_EXSEL , "EXSEL" , nullptr ),
K( VK_EREOF , "EREOF" , nullptr ),
K( VK_PLAY , "PLAY" , nullptr ),
K( VK_ZOOM , "ZOOM" , nullptr ),
K( VK_NONAME , "NONAME" , nullptr ),
K( VK_PA1 , "PA1" , nullptr ),
K( VK_OEM_CLEAR , "OEM_CLEAR" , nullptr ),*/
{ KEY_Any, "Any" , nullptr},
{ KEY_Default, "None", nullptr},
{ KEY_Undefined, nullptr, nullptr}
};
#undef K