1 /* 2 * Copyright 2011-2012 Arx Libertatis Team (see the AUTHORS file) 3 * 4 * This file is part of Arx Libertatis. 5 * 6 * Arx Libertatis is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * Arx Libertatis is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with Arx Libertatis. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef ARX_INPUT_INPUTKEY_H 21 #define ARX_INPUT_INPUTKEY_H 22 23 #include <string> 24 25 typedef int InputKeyId; 26 27 #define INPUT_KEYBOARD_MASK 0x0000ffff 28 #define INPUT_MOUSE_MASK 0x2000000f 29 #define INPUT_MOUSEWHEEL_MASK 0x1000000f 30 #define INPUT_MASK (INPUT_KEYBOARD_MASK | INPUT_MOUSE_MASK | INPUT_MOUSEWHEEL_MASK) 31 #define INPUT_COMBINATION_MASK (~INPUT_MASK) 32 33 struct KeyDescription { 34 InputKeyId id; 35 std::string name; 36 }; 37 38 #endif // ARX_INPUT_INPUTKEY_H 39