|
|
1.1 root 1: /* 1.1.1.2 ! root 2: Previous - dlgKeyboard.c 1.1 root 3: 4: This file is distributed under the GNU Public License, version 2 or at 5: your option any later version. Read the file gpl.txt for details. 6: */ 1.1.1.2 ! root 7: const char DlgKeyboard_fileid[] = "Previous dlgKeyboard.c : " __DATE__ " " __TIME__; 1.1 root 8: 9: #include <unistd.h> 10: 11: #include "main.h" 12: #include "configuration.h" 13: #include "dialog.h" 14: #include "sdlgui.h" 15: #include "file.h" 16: #include "screen.h" 1.1.1.2 ! root 17: #include "dimension.h" 1.1 root 18: 19: 1.1.1.2 ! root 20: #define ENABLE_LOADED_OPTION 0 ! 21: 1.1 root 22: #define DLGKEY_SCANCODE 4 1.1.1.2 ! root 23: #define DLGKEY_SYMBOLIC 5 1.1 root 24: #define DLGKEY_FROMFILE 5 25: #define DLGKEY_MAPNAME 7 26: #define DLGKEY_MAPBROWSE 8 1.1.1.2 ! root 27: #define DLGKEY_DISREPEAT 8 ! 28: #define DLGKEY_SWAP 9 ! 29: #define DLGKEY_EXIT 21 1.1 root 30: 31: 32: /* The keyboard dialog: */ 33: static SGOBJ keyboarddlg[] = 34: { 1.1.1.2 ! root 35: #if ENABLE_DIMENSION ! 36: { SGBOX, 0, 0, 0,0, 47,28, NULL }, ! 37: #else ! 38: { SGBOX, 0, 0, 0,0, 47,27, NULL }, ! 39: #endif ! 40: { SGTEXT, 0, 0, 15,1, 16,1, "Keyboard options" }, ! 41: ! 42: { SGBOX, 0, 0, 2,3, 21,7, NULL }, ! 43: { SGTEXT, 0, 0, 4,4, 17,1, "Keyboard mapping:" }, ! 44: { SGRADIOBUT, 0, 0, 6,6, 10,1, "Scancode" }, ! 45: { SGRADIOBUT, 0, 0, 6,8, 10,1, "Symbolic" }, ! 46: ! 47: { SGBOX, 0, 0, 24,3, 21,7, NULL }, ! 48: { SGTEXT, 0, 0, 26,4, 12,1, "Key options:" }, ! 49: { SGCHECKBOX, 0, 0, 26,6, 16,1, "Disable repeat" }, ! 50: { SGCHECKBOX, 0, 0, 26,8, 18,1, "Swap cmd and alt" }, ! 51: ! 52: #if ENABLE_DIMENSION ! 53: { SGBOX, 0, 0, 2,11, 43,12, NULL }, ! 54: #else ! 55: { SGBOX, 0, 0, 2,11, 43,11, NULL }, ! 56: #endif ! 57: { SGTEXT, 0, 0, 4,12, 10,1, "Shortcuts:" }, ! 58: { SGTEXT, 0, 0, 17,12, 10,1, "ctrl-alt-X (Fn)" }, ! 59: { SGTEXT, 0, 0, 6,14, 17,1, "Show main menu -O (F12)" }, ! 60: { SGTEXT, 0, 0, 6,15, 17,1, "Pause -P" }, ! 61: { SGTEXT, 0, 0, 6,16, 17,1, "Cold reset -C" }, ! 62: { SGTEXT, 0, 0, 6,17, 17,1, "Lock/unlock mouse -M" }, ! 63: #if ENABLE_DIMENSION ! 64: { SGTEXT, 0, 0, 6,18, 17,1, "Screen toggle -N" }, ! 65: { SGTEXT, 0, 0, 6,19, 17,1, "Fullscreen on/off -F" }, ! 66: { SGTEXT, 0, 0, 6,20, 17,1, "Sound on/off -S" }, ! 67: { SGTEXT, 0, 0, 6,21, 17,1, "Quit -Q" }, ! 68: ! 69: { SGBUTTON, SG_DEFAULT, 0, 13,25, 21,1, "Back to main menu" }, ! 70: #else ! 71: { SGTEXT, 0, 0, 6,1, 17,1, "" }, ! 72: { SGTEXT, 0, 0, 6,18, 17,1, "Fullscreen on/off -F" }, ! 73: { SGTEXT, 0, 0, 6,19, 17,1, "Sound on/off -S" }, ! 74: { SGTEXT, 0, 0, 6,20, 17,1, "Quit -Q" }, ! 75: ! 76: { SGBUTTON, SG_DEFAULT, 0, 13,24, 21,1, "Back to main menu" }, ! 77: #endif 1.1 root 78: { -1, 0, 0, 0,0, 0,0, NULL } 79: }; 80: 81: 82: /*-----------------------------------------------------------------------*/ 83: /** 84: * Show and process the "Keyboard" dialog. 85: */ 86: void Dialog_KeyboardDlg(void) 87: { 1.1.1.2 ! root 88: int but; ! 89: #if ENABLE_LOADED_OPTION 1.1 root 90: char dlgmapfile[44]; 1.1.1.2 ! root 91: #endif 1.1 root 92: SDLGui_CenterDlg(keyboarddlg); 93: 94: /* Set up dialog from actual values: */ 1.1.1.2 ! root 95: keyboarddlg[DLGKEY_SCANCODE].state &= ~SG_SELECTED; ! 96: keyboarddlg[DLGKEY_SYMBOLIC].state &= ~SG_SELECTED; ! 97: ! 98: switch (ConfigureParams.Keyboard.nKeymapType) { ! 99: case KEYMAP_SCANCODE: ! 100: keyboarddlg[DLGKEY_SCANCODE].state |= SG_SELECTED; ! 101: break; ! 102: case KEYMAP_SYMBOLIC: ! 103: keyboarddlg[DLGKEY_SYMBOLIC].state |= SG_SELECTED; ! 104: break; ! 105: ! 106: default: ! 107: break; ! 108: } ! 109: #if ENABLE_LOADED_OPTION ! 110: File_ShrinkName(dlgmapfile, ConfigureParams.Keyboard.szMappingFileName, keyboarddlg[DLGKEY_MAPNAME].w); 1.1 root 111: keyboarddlg[DLGKEY_MAPNAME].txt = dlgmapfile; 1.1.1.2 ! root 112: #endif 1.1 root 113: if (ConfigureParams.Keyboard.bDisableKeyRepeat) 114: keyboarddlg[DLGKEY_DISREPEAT].state |= SG_SELECTED; 115: else 116: keyboarddlg[DLGKEY_DISREPEAT].state &= ~SG_SELECTED; 1.1.1.2 ! root 117: ! 118: if (ConfigureParams.Keyboard.bSwapCmdAlt) ! 119: keyboarddlg[DLGKEY_SWAP].state |= SG_SELECTED; ! 120: else ! 121: keyboarddlg[DLGKEY_SWAP].state &= ~SG_SELECTED; 1.1 root 122: 123: /* Show the dialog: */ 124: do 125: { 126: but = SDLGui_DoDialog(keyboarddlg, NULL); 1.1.1.2 ! root 127: #if ENABLE_LOADED_OPTION 1.1 root 128: if (but == DLGKEY_MAPBROWSE) 129: { 130: SDLGui_FileConfSelect(dlgmapfile, 131: ConfigureParams.Keyboard.szMappingFileName, 132: keyboarddlg[DLGKEY_MAPNAME].w, false); 133: } 1.1.1.2 ! root 134: #endif 1.1 root 135: } 136: while (but != DLGKEY_EXIT && but != SDLGUI_QUIT 137: && but != SDLGUI_ERROR && !bQuitProgram); 138: 139: /* Read values from dialog: */ 1.1.1.2 ! root 140: if (keyboarddlg[DLGKEY_SCANCODE].state & SG_SELECTED) 1.1 root 141: ConfigureParams.Keyboard.nKeymapType = KEYMAP_SCANCODE; 142: else 1.1.1.2 ! root 143: ConfigureParams.Keyboard.nKeymapType = KEYMAP_SYMBOLIC; ! 144: #if ENABLE_LOADED_OPTION ! 145: else 1.1 root 146: ConfigureParams.Keyboard.nKeymapType = KEYMAP_LOADED; 1.1.1.2 ! root 147: #endif 1.1 root 148: ConfigureParams.Keyboard.bDisableKeyRepeat = (keyboarddlg[DLGKEY_DISREPEAT].state & SG_SELECTED); 1.1.1.2 ! root 149: ConfigureParams.Keyboard.bSwapCmdAlt = (keyboarddlg[DLGKEY_SWAP].state & SG_SELECTED); 1.1 root 150: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.