|
|
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.1.3 ! root 24: #define DLGKEY_SWAP 8
! 25: #define DLGKEY_EXIT 20
1.1 root 26:
27:
28: /* The keyboard dialog: */
29: static SGOBJ keyboarddlg[] =
30: {
1.1.1.2 root 31: { SGBOX, 0, 0, 0,0, 47,28, NULL },
32: { SGTEXT, 0, 0, 15,1, 16,1, "Keyboard options" },
33:
34: { SGBOX, 0, 0, 2,3, 21,7, NULL },
35: { SGTEXT, 0, 0, 4,4, 17,1, "Keyboard mapping:" },
36: { SGRADIOBUT, 0, 0, 6,6, 10,1, "Scancode" },
37: { SGRADIOBUT, 0, 0, 6,8, 10,1, "Symbolic" },
38:
39: { SGBOX, 0, 0, 24,3, 21,7, NULL },
40: { SGTEXT, 0, 0, 26,4, 12,1, "Key options:" },
1.1.1.3 ! root 41: { SGCHECKBOX, 0, 0, 26,6, 18,1, "Swap cmd and alt" },
1.1.1.2 root 42:
43: { SGBOX, 0, 0, 2,11, 43,12, NULL },
44: { SGTEXT, 0, 0, 4,12, 10,1, "Shortcuts:" },
45: { SGTEXT, 0, 0, 17,12, 10,1, "ctrl-alt-X (Fn)" },
46: { SGTEXT, 0, 0, 6,14, 17,1, "Show main menu -O (F12)" },
47: { SGTEXT, 0, 0, 6,15, 17,1, "Pause -P" },
48: { SGTEXT, 0, 0, 6,16, 17,1, "Cold reset -C" },
49: { SGTEXT, 0, 0, 6,17, 17,1, "Lock/unlock mouse -M" },
50: { SGTEXT, 0, 0, 6,18, 17,1, "Screen toggle -N" },
51: { SGTEXT, 0, 0, 6,19, 17,1, "Fullscreen on/off -F" },
52: { SGTEXT, 0, 0, 6,20, 17,1, "Sound on/off -S" },
53: { SGTEXT, 0, 0, 6,21, 17,1, "Quit -Q" },
54:
55: { SGBUTTON, SG_DEFAULT, 0, 13,25, 21,1, "Back to main menu" },
1.1 root 56: { -1, 0, 0, 0,0, 0,0, NULL }
57: };
58:
59:
60: /*-----------------------------------------------------------------------*/
61: /**
62: * Show and process the "Keyboard" dialog.
63: */
64: void Dialog_KeyboardDlg(void)
65: {
1.1.1.2 root 66: int but;
67: #if ENABLE_LOADED_OPTION
1.1 root 68: char dlgmapfile[44];
1.1.1.2 root 69: #endif
1.1 root 70: SDLGui_CenterDlg(keyboarddlg);
71:
72: /* Set up dialog from actual values: */
1.1.1.2 root 73: keyboarddlg[DLGKEY_SCANCODE].state &= ~SG_SELECTED;
74: keyboarddlg[DLGKEY_SYMBOLIC].state &= ~SG_SELECTED;
75:
76: switch (ConfigureParams.Keyboard.nKeymapType) {
77: case KEYMAP_SCANCODE:
78: keyboarddlg[DLGKEY_SCANCODE].state |= SG_SELECTED;
79: break;
80: case KEYMAP_SYMBOLIC:
81: keyboarddlg[DLGKEY_SYMBOLIC].state |= SG_SELECTED;
82: break;
83:
84: default:
85: break;
86: }
87: #if ENABLE_LOADED_OPTION
88: File_ShrinkName(dlgmapfile, ConfigureParams.Keyboard.szMappingFileName, keyboarddlg[DLGKEY_MAPNAME].w);
1.1 root 89: keyboarddlg[DLGKEY_MAPNAME].txt = dlgmapfile;
1.1.1.2 root 90: #endif
91:
92: if (ConfigureParams.Keyboard.bSwapCmdAlt)
93: keyboarddlg[DLGKEY_SWAP].state |= SG_SELECTED;
94: else
95: keyboarddlg[DLGKEY_SWAP].state &= ~SG_SELECTED;
1.1 root 96:
97: /* Show the dialog: */
98: do
99: {
100: but = SDLGui_DoDialog(keyboarddlg, NULL);
1.1.1.2 root 101: #if ENABLE_LOADED_OPTION
1.1 root 102: if (but == DLGKEY_MAPBROWSE)
103: {
104: SDLGui_FileConfSelect(dlgmapfile,
105: ConfigureParams.Keyboard.szMappingFileName,
106: keyboarddlg[DLGKEY_MAPNAME].w, false);
107: }
1.1.1.2 root 108: #endif
1.1 root 109: }
110: while (but != DLGKEY_EXIT && but != SDLGUI_QUIT
111: && but != SDLGUI_ERROR && !bQuitProgram);
112:
113: /* Read values from dialog: */
1.1.1.2 root 114: if (keyboarddlg[DLGKEY_SCANCODE].state & SG_SELECTED)
1.1 root 115: ConfigureParams.Keyboard.nKeymapType = KEYMAP_SCANCODE;
116: else
1.1.1.2 root 117: ConfigureParams.Keyboard.nKeymapType = KEYMAP_SYMBOLIC;
118: #if ENABLE_LOADED_OPTION
119: else
1.1 root 120: ConfigureParams.Keyboard.nKeymapType = KEYMAP_LOADED;
1.1.1.2 root 121: #endif
122: ConfigureParams.Keyboard.bSwapCmdAlt = (keyboarddlg[DLGKEY_SWAP].state & SG_SELECTED);
1.1 root 123: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.