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