Line data Source code
1 0 : /* 2 : 3 : PlayerEntityKeyMapper.h 4 : 5 : Joystick support for SDL implementation of Oolite. 6 : 7 : Oolite 8 : Copyright (C) 2004-2013 Giles C Williams and contributors 9 : 10 : This program is free software; you can redistribute it and/or 11 : modify it under the terms of the GNU General Public License 12 : as published by the Free Software Foundation; either version 2 13 : of the License, or (at your option) any later version. 14 : 15 : This program is distributed in the hope that it will be useful, 16 : but WITHOUT ANY WARRANTY; without even the implied warranty of 17 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 : GNU General Public License for more details. 19 : 20 : You should have received a copy of the GNU General Public License 21 : along with this program; if not, write to the Free Software 22 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 23 : MA 02110-1301, USA. 24 : 25 : */ 26 : 27 : #import "PlayerEntity.h" 28 : #import "GuiDisplayGen.h" 29 : #import "MyOpenGLView.h" 30 : #import "Universe.h" 31 : 32 0 : #define MAX_ROWS_KC_FUNCTIONS 12 33 : 34 0 : #define GUI_ROW_KC_SELECTKBD 1 35 0 : #define GUI_ROW_KC_HEADING 4 36 0 : #define GUI_ROW_KC_FUNCSTART 5 37 0 : #define GUI_ROW_KC_FUNCEND (GUI_ROW_KC_FUNCSTART + MAX_ROWS_KC_FUNCTIONS - 1) 38 0 : #define GUI_ROW_KC_ERROR 17 39 0 : #define GUI_ROW_KC_INSTRUCT 18 40 : 41 : 42 0 : #define GUI_ROW_KC_CONFIRMCLEAR 5 43 0 : #define GUI_ROW_KC_CONFIRMCLEAR_YES 8 44 0 : #define GUI_ROW_KC_CONFIRMCLEAR_NO 9 45 : 46 0 : #define GUI_ROW_KC_UPDATE_FUNCNAME 1 47 0 : #define GUI_ROW_KC_KEY 3 48 0 : #define GUI_ROW_KC_SHIFT 4 49 0 : #define GUI_ROW_KC_MOD1 5 50 0 : #define GUI_ROW_KC_MOD2 6 51 0 : #define GUI_ROW_KC_UPDATE_INFO 13 52 0 : #define GUI_ROW_KC_VALIDATION 16 53 0 : #define GUI_ROW_KC_SAVE 17 54 0 : #define GUI_ROW_KC_CANCEL 18 55 : 56 0 : #define GUI_ROW_KC_ENTRY_INFO 2 57 : 58 : // Dictionary keys 59 0 : #define KEY_KC_GUIDESC @"guiDesc" 60 0 : #define KEY_KC_DEFINITION @"keyDef" 61 0 : #define KEY_KC_HEADER @"header" 62 : 63 : // Dictionary keys - used in the defaults file 64 0 : #define KEYCONFIG_OVERRIDES @"KeyConfigOverrides" // NSUserDefaults 65 : 66 : @interface PlayerEntity (KeyMapper) 67 0 : - (void) resetKeyFunctions; 68 0 : - (void) initCheckingDictionary; 69 : 70 0 : - (void) setGuiToKeyMapperScreen:(unsigned)skip resetCurrentRow:(BOOL)resetCurrentRow; 71 0 : - (void) setGuiToKeyMapperScreen:(unsigned)skip; 72 0 : - (void) keyMapperInputHandler:(GuiDisplayGen *)gui view:(MyOpenGLView *)gameView; 73 : 74 0 : - (void) setGuiToKeyConfigScreen; 75 0 : - (void) setGuiToKeyConfigScreen:(BOOL) resetSelectedRow; 76 0 : - (void) handleKeyConfigKeys:(GuiDisplayGen *)gui view:(MyOpenGLView *)gameView; 77 0 : - (void) outputKeyDefinition:(NSString *)key shift:(NSString *)shift mod1:(NSString *)mod1 mod2:(NSString *)mod2 skiprows:(NSUInteger)skiprows; 78 : 79 0 : - (void) setGuiToKeyConfigEntryScreen; 80 0 : - (void) handleKeyConfigEntryKeys:(GuiDisplayGen *)gui view:(MyOpenGLView *)gameView; 81 : 82 0 : - (void) setGuiToConfirmClearScreen; 83 0 : - (void) handleKeyMapperConfirmClearKeys:(GuiDisplayGen *)gui view:(MyOpenGLView *)gameView; 84 : 85 0 : - (void) setGuiToKeyboardLayoutScreen:(unsigned)skip; 86 0 : - (void) setGuiToKeyboardLayoutScreen:(unsigned)skip resetCurrentRow:(BOOL)resetCurrentRow; 87 0 : - (void) handleKeyboardLayoutEntryKeys:(GuiDisplayGen *)gui view:(MyOpenGLView *)gameView; 88 : 89 0 : - (NSString *)validateKey:(NSString*)key checkKeys:(NSArray*)check_keys; 90 : 91 0 : - (NSDictionary *)makeKeyGuiDict:(NSString *)what keyDef:(NSString *)keyDef; 92 0 : - (NSDictionary *)makeKeyGuiDictHeader:(NSString *)header; 93 : 94 : @end