From: Wouter V. <m97...@us...> - 2002-07-31 14:23:20
|
Update of /cvsroot/openmsx/openMSX/src/ConsoleSource In directory usw-pr-cvs1:/tmp/cvs-serv26011/src/ConsoleSource Modified Files: SDLConsole.cc SDLConsole.hh Log Message: console up -> block keys for MSX-Keyboard Index: SDLConsole.cc =================================================================== RCS file: /cvsroot/openmsx/openMSX/src/ConsoleSource/SDLConsole.cc,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- SDLConsole.cc 15 Jul 2002 12:27:03 -0000 1.27 +++ SDLConsole.cc 31 Jul 2002 14:23:16 -0000 1.28 @@ -52,6 +52,7 @@ ConsoleManager::instance()->registerConsole(this); EventDistributor::instance()->registerEventListener(SDL_KEYDOWN, this); + EventDistributor::instance()->registerEventListener(SDL_KEYUP, this); CommandController::instance()->registerCommand(consoleCmd, "console"); HotKey::instance()->registerHotKeyCommand(Keys::K_F10, "console"); } @@ -61,15 +62,19 @@ HotKey::instance()->unregisterHotKeyCommand(Keys::K_F10, "console"); CommandController::instance()->unregisterCommand("console"); EventDistributor::instance()->unregisterEventListener(SDL_KEYDOWN, this); + EventDistributor::instance()->unregisterEventListener(SDL_KEYUP, this); ConsoleManager::instance()->unregisterConsole(this); delete font; } // Takes keys from the keyboard and inputs them to the console -void SDLConsole::signalEvent(SDL_Event &event) +bool SDLConsole::signalEvent(SDL_Event &event) { - if (!isVisible) return; + if (!isVisible) + return true; + if (event.type == SDL_KEYUP) + return false; Keys::KeyCode key = (Keys::KeyCode)event.key.keysym.sym; switch (key) { @@ -99,6 +104,7 @@ normalKey((char)event.key.keysym.unicode); } updateConsole(); + return false; // don't pass event to MSX-Keyboard } /* setAlphaGL() -- sets the alpha channel of an SDL_Surface to the Index: SDLConsole.hh =================================================================== RCS file: /cvsroot/openmsx/openMSX/src/ConsoleSource/SDLConsole.hh,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- SDLConsole.hh 21 Jun 2002 13:13:24 -0000 1.9 +++ SDLConsole.hh 31 Jul 2002 14:23:16 -0000 1.10 @@ -21,7 +21,7 @@ virtual void drawConsole(); private: - void signalEvent(SDL_Event &event); + virtual bool signalEvent(SDL_Event &event); void alpha(unsigned char alpha); void background(const std::string &image, int x, int y); |