mirror of https://github.com/stella-emu/stella.git
Added all typical keys from a 104-key keyboard to the StellaEvent class.
Updated the SDL port to bind to those keys. Cleaned up the SDL port event handling method a bit. By the time I'm finished, I hope that almost all event mapping/lookups will be constant time by using simple array lookup. Next thing to do is to add all possible remappings to the UserInterface, get the joystick remapping working, and then get to the Windows port. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@194 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
4b7a2c475c
commit
bbd7a69179
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: StellaEvent.hxx,v 1.5 2003-09-28 21:59:24 stephena Exp $
|
// $Id: StellaEvent.hxx,v 1.6 2003-09-29 18:10:56 stephena Exp $
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#ifndef STELLAEVENT_HXX
|
#ifndef STELLAEVENT_HXX
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
by the frontends directly.
|
by the frontends directly.
|
||||||
|
|
||||||
@author Stephen Anthony
|
@author Stephen Anthony
|
||||||
@version $Id: StellaEvent.hxx,v 1.5 2003-09-28 21:59:24 stephena Exp $
|
@version $Id: StellaEvent.hxx,v 1.6 2003-09-29 18:10:56 stephena Exp $
|
||||||
*/
|
*/
|
||||||
class StellaEvent
|
class StellaEvent
|
||||||
{
|
{
|
||||||
|
@ -55,15 +55,21 @@ class StellaEvent
|
||||||
KCODE_KP_MULTIPLY, KCODE_KP_MINUS, KCODE_KP_PLUS, KCODE_KP_ENTER,
|
KCODE_KP_MULTIPLY, KCODE_KP_MINUS, KCODE_KP_PLUS, KCODE_KP_ENTER,
|
||||||
KCODE_KP_EQUALS,
|
KCODE_KP_EQUALS,
|
||||||
|
|
||||||
KCODE_BACKSPACE, KCODE_TAB, KCODE_RETURN, KCODE_PAUSE, KCODE_ESCAPE,
|
KCODE_BACKSPACE, KCODE_TAB, KCODE_CLEAR, KCODE_RETURN,
|
||||||
KCODE_COMMA, KCODE_PERIOD, KCODE_SLASH, KCODE_SEMICOLON, KCODE_BACKSLASH,
|
KCODE_ESCAPE, KCODE_SPACE, KCODE_COMMA, KCODE_MINUS, KCODE_PERIOD,
|
||||||
KCODE_QUOTE, KCODE_LEFTBRACKET, KCODE_RIGHTBRACKET, KCODE_BACKQUOTE,
|
KCODE_SLASH, KCODE_BACKSLASH, KCODE_SEMICOLON, KCODE_EQUALS,
|
||||||
|
KCODE_QUOTE, KCODE_BACKQUOTE, KCODE_LEFTBRACKET, KCODE_RIGHTBRACKET,
|
||||||
|
|
||||||
KCODE_CTRL, KCODE_ALT, KCODE_UP, KCODE_DOWN, KCODE_LEFT, KCODE_RIGHT,
|
KCODE_PRTSCREEN, KCODE_SCRLOCK, KCODE_PAUSE,
|
||||||
KCODE_SPACE,
|
KCODE_INSERT, KCODE_HOME, KCODE_PAGEUP,
|
||||||
|
KCODE_DELETE, KCODE_END, KCODE_PAGEDOWN,
|
||||||
|
|
||||||
|
KCODE_LCTRL, KCODE_RCTRL, KCODE_LALT, KCODE_RALT, KCODE_LWIN,
|
||||||
|
KCODE_RWIN, KCODE_MENU, KCODE_UP, KCODE_DOWN, KCODE_LEFT, KCODE_RIGHT,
|
||||||
|
|
||||||
KCODE_F1, KCODE_F2, KCODE_F3, KCODE_F4, KCODE_F5, KCODE_F6, KCODE_F7,
|
KCODE_F1, KCODE_F2, KCODE_F3, KCODE_F4, KCODE_F5, KCODE_F6, KCODE_F7,
|
||||||
KCODE_F8, KCODE_F9, KCODE_F10, KCODE_F11, KCODE_F12,
|
KCODE_F8, KCODE_F9, KCODE_F10, KCODE_F11, KCODE_F12, KCODE_F13,
|
||||||
|
KCODE_F14, KCODE_F15,
|
||||||
|
|
||||||
LastKCODE
|
LastKCODE
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: UserInterface.cxx,v 1.5 2003-09-28 21:59:24 stephena Exp $
|
// $Id: UserInterface.cxx,v 1.6 2003-09-29 18:10:56 stephena Exp $
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include "bspf.hxx"
|
#include "bspf.hxx"
|
||||||
|
@ -510,11 +510,15 @@ const char* UserInterface::ourEventName[StellaEvent::LastKCODE] = {
|
||||||
"KP 0", "KP 1", "KP 2", "KP 3", "KP 4", "KP 5", "KP 6", "KP 7", "KP 8",
|
"KP 0", "KP 1", "KP 2", "KP 3", "KP 4", "KP 5", "KP 6", "KP 7", "KP 8",
|
||||||
"KP 9", "KP .", "KP /", "KP *", "KP -", "KP +", "KP ENTER", "KP =",
|
"KP 9", "KP .", "KP /", "KP *", "KP -", "KP +", "KP ENTER", "KP =",
|
||||||
|
|
||||||
"BACKSP", "TAB", "ENTER", "PAUSE", "ESC", ",", ".", "/", ";", "\\", "\"",
|
"BACKSP", "TAB", "CLEAR", "ENTER", "ESC", "SPACE", ",", "-", ".",
|
||||||
"[", "]", "`",
|
"/", "\\", ";", "=", "\"", "`", "[", "]",
|
||||||
|
|
||||||
"CTRL", "ALT", "UP", "DOWN", "LEFT", "RIGHT", "SPACE",
|
"PRT SCRN", "SCR LOCK", "PAUSE", "INS", "HOME", "PGUP",
|
||||||
|
"DEL", "END", "PGDN",
|
||||||
|
|
||||||
"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"
|
"LCTRL", "RCTRL", "LALT", "RALT", "LWIN", "RWIN", "MENU",
|
||||||
|
"UP", "DOWN", "LEFT", "RIGHT",
|
||||||
|
|
||||||
|
"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10",
|
||||||
|
"F11", "F12", "F13", "F14", "F15",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: mainSDL.cxx,v 1.53 2003-09-23 17:27:11 stephena Exp $
|
// $Id: mainSDL.cxx,v 1.54 2003-09-29 18:10:56 stephena Exp $
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
@ -147,6 +147,8 @@ struct Switches
|
||||||
};
|
};
|
||||||
|
|
||||||
// Place the most used keys first to speed up access
|
// Place the most used keys first to speed up access
|
||||||
|
// Todo - initialize this array in the same order as the SDLK
|
||||||
|
// keys are defined, so it can be a constant-time LUT
|
||||||
static Switches keyList[] = {
|
static Switches keyList[] = {
|
||||||
{ SDLK_F1, StellaEvent::KCODE_F1 },
|
{ SDLK_F1, StellaEvent::KCODE_F1 },
|
||||||
{ SDLK_F2, StellaEvent::KCODE_F2 },
|
{ SDLK_F2, StellaEvent::KCODE_F2 },
|
||||||
|
@ -160,16 +162,22 @@ static Switches keyList[] = {
|
||||||
{ SDLK_F10, StellaEvent::KCODE_F10 },
|
{ SDLK_F10, StellaEvent::KCODE_F10 },
|
||||||
{ SDLK_F11, StellaEvent::KCODE_F11 },
|
{ SDLK_F11, StellaEvent::KCODE_F11 },
|
||||||
{ SDLK_F12, StellaEvent::KCODE_F12 },
|
{ SDLK_F12, StellaEvent::KCODE_F12 },
|
||||||
|
{ SDLK_F13, StellaEvent::KCODE_F13 },
|
||||||
|
{ SDLK_F14, StellaEvent::KCODE_F14 },
|
||||||
|
{ SDLK_F15, StellaEvent::KCODE_F15 },
|
||||||
|
|
||||||
{ SDLK_UP, StellaEvent::KCODE_UP },
|
{ SDLK_UP, StellaEvent::KCODE_UP },
|
||||||
{ SDLK_DOWN, StellaEvent::KCODE_DOWN },
|
{ SDLK_DOWN, StellaEvent::KCODE_DOWN },
|
||||||
{ SDLK_LEFT, StellaEvent::KCODE_LEFT },
|
{ SDLK_LEFT, StellaEvent::KCODE_LEFT },
|
||||||
{ SDLK_RIGHT, StellaEvent::KCODE_RIGHT },
|
{ SDLK_RIGHT, StellaEvent::KCODE_RIGHT },
|
||||||
{ SDLK_SPACE, StellaEvent::KCODE_SPACE },
|
{ SDLK_SPACE, StellaEvent::KCODE_SPACE },
|
||||||
{ SDLK_LCTRL, StellaEvent::KCODE_CTRL },
|
{ SDLK_LCTRL, StellaEvent::KCODE_LCTRL },
|
||||||
{ SDLK_RCTRL, StellaEvent::KCODE_CTRL },
|
{ SDLK_RCTRL, StellaEvent::KCODE_RCTRL },
|
||||||
{ SDLK_LALT, StellaEvent::KCODE_ALT },
|
{ SDLK_LALT, StellaEvent::KCODE_LALT },
|
||||||
{ SDLK_RALT, StellaEvent::KCODE_ALT },
|
{ SDLK_RALT, StellaEvent::KCODE_RALT },
|
||||||
|
{ SDLK_LSUPER, StellaEvent::KCODE_LWIN },
|
||||||
|
{ SDLK_RSUPER, StellaEvent::KCODE_RWIN },
|
||||||
|
{ SDLK_MENU, StellaEvent::KCODE_MENU },
|
||||||
|
|
||||||
{ SDLK_a, StellaEvent::KCODE_a },
|
{ SDLK_a, StellaEvent::KCODE_a },
|
||||||
{ SDLK_b, StellaEvent::KCODE_b },
|
{ SDLK_b, StellaEvent::KCODE_b },
|
||||||
|
@ -229,18 +237,31 @@ static Switches keyList[] = {
|
||||||
|
|
||||||
{ SDLK_BACKSPACE, StellaEvent::KCODE_BACKSPACE },
|
{ SDLK_BACKSPACE, StellaEvent::KCODE_BACKSPACE },
|
||||||
{ SDLK_TAB, StellaEvent::KCODE_TAB },
|
{ SDLK_TAB, StellaEvent::KCODE_TAB },
|
||||||
|
{ SDLK_CLEAR, StellaEvent::KCODE_CLEAR },
|
||||||
{ SDLK_RETURN, StellaEvent::KCODE_RETURN },
|
{ SDLK_RETURN, StellaEvent::KCODE_RETURN },
|
||||||
{ SDLK_PAUSE, StellaEvent::KCODE_PAUSE },
|
|
||||||
{ SDLK_ESCAPE, StellaEvent::KCODE_ESCAPE },
|
{ SDLK_ESCAPE, StellaEvent::KCODE_ESCAPE },
|
||||||
|
{ SDLK_SPACE, StellaEvent::KCODE_SPACE },
|
||||||
{ SDLK_COMMA, StellaEvent::KCODE_COMMA },
|
{ SDLK_COMMA, StellaEvent::KCODE_COMMA },
|
||||||
|
{ SDLK_MINUS, StellaEvent::KCODE_MINUS },
|
||||||
{ SDLK_PERIOD, StellaEvent::KCODE_PERIOD },
|
{ SDLK_PERIOD, StellaEvent::KCODE_PERIOD },
|
||||||
{ SDLK_SLASH, StellaEvent::KCODE_SLASH },
|
{ SDLK_SLASH, StellaEvent::KCODE_SLASH },
|
||||||
{ SDLK_BACKSLASH, StellaEvent::KCODE_BACKSLASH },
|
{ SDLK_BACKSLASH, StellaEvent::KCODE_BACKSLASH },
|
||||||
{ SDLK_SEMICOLON, StellaEvent::KCODE_SEMICOLON },
|
{ SDLK_SEMICOLON, StellaEvent::KCODE_SEMICOLON },
|
||||||
|
{ SDLK_EQUALS, StellaEvent::KCODE_EQUALS },
|
||||||
{ SDLK_QUOTE, StellaEvent::KCODE_QUOTE },
|
{ SDLK_QUOTE, StellaEvent::KCODE_QUOTE },
|
||||||
{ SDLK_BACKQUOTE, StellaEvent::KCODE_BACKQUOTE },
|
{ SDLK_BACKQUOTE, StellaEvent::KCODE_BACKQUOTE },
|
||||||
{ SDLK_LEFTBRACKET, StellaEvent::KCODE_LEFTBRACKET},
|
{ SDLK_LEFTBRACKET, StellaEvent::KCODE_LEFTBRACKET},
|
||||||
{ SDLK_RIGHTBRACKET,StellaEvent::KCODE_RIGHTBRACKET}
|
{ SDLK_RIGHTBRACKET,StellaEvent::KCODE_RIGHTBRACKET},
|
||||||
|
|
||||||
|
{ SDLK_PRINT, StellaEvent::KCODE_PRTSCREEN },
|
||||||
|
{ SDLK_MODE, StellaEvent::KCODE_SCRLOCK },
|
||||||
|
{ SDLK_PAUSE, StellaEvent::KCODE_PAUSE },
|
||||||
|
{ SDLK_INSERT, StellaEvent::KCODE_INSERT },
|
||||||
|
{ SDLK_HOME, StellaEvent::KCODE_HOME },
|
||||||
|
{ SDLK_PAGEUP, StellaEvent::KCODE_PAGEUP },
|
||||||
|
{ SDLK_DELETE, StellaEvent::KCODE_DELETE },
|
||||||
|
{ SDLK_END, StellaEvent::KCODE_END },
|
||||||
|
{ SDLK_PAGEDOWN, StellaEvent::KCODE_PAGEDOWN }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Lookup table for joystick numbers and events
|
// Lookup table for joystick numbers and events
|
||||||
|
@ -841,99 +862,102 @@ void handleEvents()
|
||||||
mod = event.key.keysym.mod;
|
mod = event.key.keysym.mod;
|
||||||
type = event.type;
|
type = event.type;
|
||||||
|
|
||||||
if(key == SDLK_EQUALS)
|
// An attempt to speed up event processing
|
||||||
|
// All SDL-specific event actions are accessed by either
|
||||||
|
// Control or Alt keys. So we quickly check for those.
|
||||||
|
if(mod & KMOD_ALT)
|
||||||
{
|
{
|
||||||
resizeWindow(1);
|
if(key == SDLK_EQUALS)
|
||||||
}
|
resizeWindow(1);
|
||||||
else if(key == SDLK_MINUS)
|
else if(key == SDLK_MINUS)
|
||||||
{
|
resizeWindow(0);
|
||||||
resizeWindow(0);
|
else if(key == SDLK_RETURN)
|
||||||
}
|
toggleFullscreen();
|
||||||
else if((mod & KMOD_ALT) && key == SDLK_RETURN)
|
|
||||||
{
|
|
||||||
toggleFullscreen();
|
|
||||||
}
|
|
||||||
else if((mod & KMOD_CTRL) && key == SDLK_g)
|
|
||||||
{
|
|
||||||
// don't change grabmouse in fullscreen mode
|
|
||||||
if(!isFullscreen)
|
|
||||||
{
|
|
||||||
theGrabMouseIndicator = !theGrabMouseIndicator;
|
|
||||||
grabMouse(theGrabMouseIndicator);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if((mod & KMOD_CTRL) && key == SDLK_h)
|
|
||||||
{
|
|
||||||
// don't change hidecursor in fullscreen mode
|
|
||||||
if(!isFullscreen)
|
|
||||||
{
|
|
||||||
theHideCursorIndicator = !theHideCursorIndicator;
|
|
||||||
showCursor(!theHideCursorIndicator);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifdef DEVELOPER_SUPPORT
|
#ifdef DEVELOPER_SUPPORT
|
||||||
else if((mod & KMOD_ALT) && key == SDLK_f) // Alt-f switches between NTSC and PAL
|
else if(key == SDLK_END) // Alt-End increases XStart
|
||||||
{
|
{
|
||||||
theConsole->toggleFormat();
|
|
||||||
|
|
||||||
// update the palette
|
|
||||||
setupPalette();
|
|
||||||
}
|
|
||||||
else if(key == SDLK_END) // End decreases XStart
|
|
||||||
{ // Alt-End decreases Width
|
|
||||||
if(mod & KMOD_ALT)
|
|
||||||
theConsole->changeWidth(0);
|
|
||||||
else
|
|
||||||
theConsole->changeXStart(0);
|
|
||||||
|
|
||||||
// Make sure changes to the properties are reflected onscreen
|
|
||||||
resizeWindow(-1);
|
|
||||||
}
|
|
||||||
else if(key == SDLK_HOME) // Home increases XStart
|
|
||||||
{ // Alt-Home increases Width
|
|
||||||
if(mod & KMOD_ALT)
|
|
||||||
theConsole->changeWidth(1);
|
|
||||||
else
|
|
||||||
theConsole->changeXStart(1);
|
theConsole->changeXStart(1);
|
||||||
|
resizeWindow(-1);
|
||||||
// Make sure changes to the properties are reflected onscreen
|
}
|
||||||
resizeWindow(-1);
|
else if(key == SDLK_HOME) // Alt-Home decreases XStart
|
||||||
}
|
{
|
||||||
else if(key == SDLK_PAGEDOWN) // PageDown decreases YStart
|
theConsole->changeXStart(0);
|
||||||
{ // Alt-PageDown decreases Height
|
resizeWindow(-1);
|
||||||
if(mod & KMOD_ALT)
|
}
|
||||||
theConsole->changeHeight(0);
|
else if(key == SDLK_PAGEUP) // Alt-PageUp increases YStart
|
||||||
else
|
{
|
||||||
theConsole->changeYStart(0);
|
|
||||||
|
|
||||||
// Make sure changes to the properties are reflected onscreen
|
|
||||||
resizeWindow(-1);
|
|
||||||
}
|
|
||||||
else if(key == SDLK_PAGEUP) // PageUp increases YStart
|
|
||||||
{ // Alt-PageUp increases Height
|
|
||||||
if(mod & KMOD_ALT)
|
|
||||||
theConsole->changeHeight(1);
|
|
||||||
else
|
|
||||||
theConsole->changeYStart(1);
|
theConsole->changeYStart(1);
|
||||||
|
resizeWindow(-1);
|
||||||
// Make sure changes to the properties are reflected onscreen
|
|
||||||
resizeWindow(-1);
|
|
||||||
}
|
|
||||||
else if((mod & KMOD_ALT) && key == SDLK_s) // Alt-s saves properties to a file
|
|
||||||
{
|
|
||||||
if(theConsole->settings().getBool("mergeprops")) // Attempt to merge with propertiesSet
|
|
||||||
{
|
|
||||||
theConsole->saveProperties(theSettings->userPropertiesFilename(), true);
|
|
||||||
}
|
}
|
||||||
else // Save to file in home directory
|
else if(key == SDLK_PAGEDOWN) // Alt-PageDown decreases YStart
|
||||||
{
|
{
|
||||||
string newPropertiesFile = theConsole->settings().baseDir() + "/" + \
|
theConsole->changeYStart(0);
|
||||||
theConsole->properties().get("Cartridge.Name") + ".pro";
|
resizeWindow(-1);
|
||||||
replace(newPropertiesFile.begin(), newPropertiesFile.end(), ' ', '_');
|
|
||||||
theConsole->saveProperties(newPropertiesFile);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
else if(mod & KMOD_CTRL)
|
||||||
|
{
|
||||||
|
if(key == SDLK_g)
|
||||||
|
{
|
||||||
|
// don't change grabmouse in fullscreen mode
|
||||||
|
if(!isFullscreen)
|
||||||
|
{
|
||||||
|
theGrabMouseIndicator = !theGrabMouseIndicator;
|
||||||
|
grabMouse(theGrabMouseIndicator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(key == SDLK_h)
|
||||||
|
{
|
||||||
|
// don't change hidecursor in fullscreen mode
|
||||||
|
if(!isFullscreen)
|
||||||
|
{
|
||||||
|
theHideCursorIndicator = !theHideCursorIndicator;
|
||||||
|
showCursor(!theHideCursorIndicator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#ifdef DEVELOPER_SUPPORT
|
||||||
|
else if(key == SDLK_f) // Ctrl-f toggles NTSC/PAL mode
|
||||||
|
{
|
||||||
|
theConsole->toggleFormat();
|
||||||
|
setupPalette();
|
||||||
|
}
|
||||||
|
else if(key == SDLK_END) // Ctrl-End increases Width
|
||||||
|
{
|
||||||
|
theConsole->changeWidth(1);
|
||||||
|
resizeWindow(-1);
|
||||||
|
}
|
||||||
|
else if(key == SDLK_HOME) // Ctrl-Home decreases Width
|
||||||
|
{
|
||||||
|
theConsole->changeWidth(0);
|
||||||
|
resizeWindow(-1);
|
||||||
|
}
|
||||||
|
else if(key == SDLK_PAGEUP) // Ctrl-PageUp increases Height
|
||||||
|
{
|
||||||
|
theConsole->changeHeight(1);
|
||||||
|
resizeWindow(-1);
|
||||||
|
}
|
||||||
|
else if(key == SDLK_PAGEDOWN) // Ctrl-PageDown decreases Height
|
||||||
|
{
|
||||||
|
theConsole->changeHeight(0);
|
||||||
|
resizeWindow(-1);
|
||||||
|
}
|
||||||
|
else if(key == SDLK_s) // Ctrl-s saves properties to a file
|
||||||
|
{
|
||||||
|
if(theConsole->settings().getBool("mergeprops")) // Attempt to merge with propertiesSet
|
||||||
|
{
|
||||||
|
theConsole->saveProperties(theSettings->userPropertiesFilename(), true);
|
||||||
|
}
|
||||||
|
else // Save to file in home directory
|
||||||
|
{
|
||||||
|
string newPropertiesFile = theConsole->settings().baseDir() + "/" + \
|
||||||
|
theConsole->properties().get("Cartridge.Name") + ".pro";
|
||||||
|
replace(newPropertiesFile.begin(), newPropertiesFile.end(), ' ', '_');
|
||||||
|
theConsole->saveProperties(newPropertiesFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else // check all the other keys
|
else // check all the other keys
|
||||||
{
|
{
|
||||||
for(unsigned int i = 0; i < sizeof(keyList) / sizeof(Switches); ++i)
|
for(unsigned int i = 0; i < sizeof(keyList) / sizeof(Switches); ++i)
|
||||||
|
|
Loading…
Reference in New Issue