1 /* 2 * Hedgewars, a free turn based strategy game 3 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 */ 18 19 #include "sdlkeys.h" 20 21 #include <QtGlobal> 22 23 char sdlkeys[1024][2][128] = 24 { 25 // Mouse 26 {"mousel", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: Left button")}, 27 {"mousem", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: Middle button")}, 28 {"mouser", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: Right button")}, 29 {"mousex1", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: X1 button ")}, 30 {"mousex2", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: X2 button")}, 31 {"wheelup", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: Wheel up")}, 32 {"wheeldown", QT_TRANSLATE_NOOP("binds (keys)", "Mouse: Wheel down")}, 33 34 // Keyboard 35 {"backspace", QT_TRANSLATE_NOOP("binds (keys)", "Backspace")}, 36 {"tab", QT_TRANSLATE_NOOP("binds (keys)", "Tab")}, 37 {"clear", QT_TRANSLATE_NOOP("binds (keys)", "Clear")}, 38 {"return", QT_TRANSLATE_NOOP("binds (keys)", "Return")}, 39 {"pause", QT_TRANSLATE_NOOP("binds (keys)", "Pause")}, 40 {"escape", QT_TRANSLATE_NOOP("binds (keys)", "Escape")}, 41 {"space", QT_TRANSLATE_NOOP("binds (keys)", "Space")}, 42 {"'", "'"}, 43 {",", ","}, 44 {"-", "-"}, 45 {".", "."}, 46 {"/", "/"}, 47 {"0", "0"}, 48 {"1", "1"}, 49 {"2", "2"}, 50 {"3", "3"}, 51 {"4", "4"}, 52 {"5", "5"}, 53 {"6", "6"}, 54 {"7", "7"}, 55 {"8", "8"}, 56 {"9", "9"}, 57 {";", ";"}, 58 {"[", "["}, 59 {"\\", "\\"}, 60 {"]", "]"}, 61 {"`", "`"}, 62 {"a", "A"}, 63 {"b", "B"}, 64 {"c", "C"}, 65 {"d", "D"}, 66 {"e", "E"}, 67 {"f", "F"}, 68 {"g", "G"}, 69 {"h", "H"}, 70 {"i", "I"}, 71 {"j", "J"}, 72 {"k", "K"}, 73 {"l", "L"}, 74 {"m", "M"}, 75 {"n", "N"}, 76 {"o", "O"}, 77 {"p", "P"}, 78 {"q", "Q"}, 79 {"r", "R"}, 80 {"s", "S"}, 81 {"t", "T"}, 82 {"u", "U"}, 83 {"v", "V"}, 84 {"w", "W"}, 85 {"x", "X"}, 86 {"y", "Y"}, 87 {"z", "Z"}, 88 {"keypad_0", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 0")}, 89 {"keypad_1", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 1")}, 90 {"keypad_2", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 2")}, 91 {"keypad_3", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 3")}, 92 {"keypad_4", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 4")}, 93 {"keypad_5", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 5")}, 94 {"keypad_6", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 6")}, 95 {"keypad_7", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 7")}, 96 {"keypad_8", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 8")}, 97 {"keypad_9", QT_TRANSLATE_NOOP("binds (keys)", "Keypad 9")}, 98 {"keypad_.", QT_TRANSLATE_NOOP("binds (keys)", "Keypad .")}, 99 {"keypad_/", QT_TRANSLATE_NOOP("binds (keys)", "Keypad /")}, 100 {"keypad_*", QT_TRANSLATE_NOOP("binds (keys)", "Keypad *")}, 101 {"keypad_-", QT_TRANSLATE_NOOP("binds (keys)", "Keypad -")}, 102 {"keypad_+", QT_TRANSLATE_NOOP("binds (keys)", "Keypad +")}, 103 {"keypad_enter", QT_TRANSLATE_NOOP("binds (keys)", "Keypad Enter")}, 104 {"up", QT_TRANSLATE_NOOP("binds (keys)", "Up")}, 105 {"down", QT_TRANSLATE_NOOP("binds (keys)", "Down")}, 106 {"right", QT_TRANSLATE_NOOP("binds (keys)", "Right")}, 107 {"left", QT_TRANSLATE_NOOP("binds (keys)", "Left")}, 108 {"insert", QT_TRANSLATE_NOOP("binds (keys)", "Insert")}, 109 {"delete", QT_TRANSLATE_NOOP("binds (keys)", "Delete")}, 110 {"home", QT_TRANSLATE_NOOP("binds (keys)", "Home")}, 111 {"end", QT_TRANSLATE_NOOP("binds (keys)", "End")}, 112 {"pageup", QT_TRANSLATE_NOOP("binds (keys)", "PageUp")}, 113 {"pagedown", QT_TRANSLATE_NOOP("binds (keys)", "PageDown")}, 114 {"f1", "F1"}, 115 {"f2", "F2"}, 116 {"f3", "F3"}, 117 {"f4", "F4"}, 118 {"f5", "F5"}, 119 {"f6", "F6"}, 120 {"f7", "F7"}, 121 {"f8", "F8"}, 122 {"f9", "F9"}, 123 {"f10", "F10"}, 124 {"f11", "F11"}, 125 {"f12", "F12"}, 126 {"f13", "F13"}, 127 {"f14", "F14"}, 128 {"f15", "F15"}, 129 {"numlock", QT_TRANSLATE_NOOP("binds (keys)", "Numlock")}, 130 {"capslock", QT_TRANSLATE_NOOP("binds (keys)", "CapsLock")}, 131 {"scrolllock", QT_TRANSLATE_NOOP("binds (keys)", "ScrollLock")}, 132 {"menu", QT_TRANSLATE_NOOP("binds (keys)", "Menu")}, 133 {"right_shift", QT_TRANSLATE_NOOP("binds (keys)", "Right Shift")}, 134 {"left_shift", QT_TRANSLATE_NOOP("binds (keys)", "Left Shift")}, 135 {"right_ctrl", QT_TRANSLATE_NOOP("binds (keys)", "Right Ctrl")}, 136 {"left_ctrl", QT_TRANSLATE_NOOP("binds (keys)", "Left Ctrl")}, 137 {"right_alt", QT_TRANSLATE_NOOP("binds (keys)", "Right Alt")}, 138 {"left_alt", QT_TRANSLATE_NOOP("binds (keys)", "Left Alt")}, 139 //: Windows key / Command key / Meta key /Super key (right) 140 {"right_gui", QT_TRANSLATE_NOOP("binds (keys)", "Right GUI")}, 141 //: Windows key / Command key / Meta key /Super key (left) 142 {"left_gui", QT_TRANSLATE_NOOP("binds (keys)", "Left GUI")} 143 }; 144 145 // helper list for sdlkeys. true for keyboard keys, false for other 146 bool sdlkeys_iskeyboard[1024]; 147 148 // button name definitions for Microsoft's XBox360 controller 149 // don't modify button order! 150 char xb360buttons[10][128] = 151 { 152 QT_TRANSLATE_NOOP("binds (keys)", "A button"), 153 QT_TRANSLATE_NOOP("binds (keys)", "B button"), 154 QT_TRANSLATE_NOOP("binds (keys)", "X button"), 155 QT_TRANSLATE_NOOP("binds (keys)", "Y button"), 156 QT_TRANSLATE_NOOP("binds (keys)", "LB button"), 157 QT_TRANSLATE_NOOP("binds (keys)", "RB button"), 158 QT_TRANSLATE_NOOP("binds (keys)", "Back button"), 159 QT_TRANSLATE_NOOP("binds (keys)", "Start button"), 160 QT_TRANSLATE_NOOP("binds (keys)", "Left stick"), 161 QT_TRANSLATE_NOOP("binds (keys)", "Right stick") 162 }; 163 164 // axis name definitions for Microsoft's XBox360 controller 165 // don't modify axis order! 166 char xbox360axes[][128] = 167 { 168 QT_TRANSLATE_NOOP("binds (keys)", "Left stick (Right)"), 169 QT_TRANSLATE_NOOP("binds (keys)", "Left stick (Left)"), 170 QT_TRANSLATE_NOOP("binds (keys)", "Left stick (Down)"), 171 QT_TRANSLATE_NOOP("binds (keys)", "Left stick (Up)"), 172 QT_TRANSLATE_NOOP("binds (keys)", "Left trigger"), 173 QT_TRANSLATE_NOOP("binds (keys)", "Right trigger"), 174 QT_TRANSLATE_NOOP("binds (keys)", "Right stick (Down)"), 175 QT_TRANSLATE_NOOP("binds (keys)", "Right stick (Up)"), 176 QT_TRANSLATE_NOOP("binds (keys)", "Right stick (Right)"), 177 QT_TRANSLATE_NOOP("binds (keys)", "Right stick (Left)"), 178 }; 179 char xb360dpad[128] = QT_TRANSLATE_NOOP("binds (keys)", "D-pad"); 180 181 // Generic controller binding names 182 //: Game controller axis direction. %1 = axis number, %2 = direction 183 char controlleraxis[128] = QT_TRANSLATE_NOOP("binds (keys)", "Axis %1 %2"); 184 //: Game controller button. %1 = button number 185 char controllerbutton[128] = QT_TRANSLATE_NOOP("binds (keys)", "Button %1"); 186 //: Game controller D-pad button. %1 = D-pad number, %2 = direction 187 char controllerhat[128] = QT_TRANSLATE_NOOP("binds (keys)", "D-pad %1 %2"); 188 char controllerup[128] = QT_TRANSLATE_NOOP("binds (keys)", "Up"); 189 char controllerdown[128] = QT_TRANSLATE_NOOP("binds (keys)", "Down"); 190 char controllerleft[128] = QT_TRANSLATE_NOOP("binds (keys)", "Left"); 191 char controllerright[128] = QT_TRANSLATE_NOOP("binds (keys)", "Right"); 192 193 //: Special entry in key selection when an action has no control assigned 194 char unboundcontrol[128] = QT_TRANSLATE_NOOP("binds (keys)", "(Don't use)"); 195 196