00001 /* 00002 The zlib/libpng License 00003 00004 Copyright (c) 2006 Phillip Castaneda (pjcast -- www.wreckedgames.com) 00005 00006 This software is provided 'as-is', without any express or implied warranty. In no event will 00007 the authors be held liable for any damages arising from the use of this software. 00008 00009 Permission is granted to anyone to use this software for any purpose, including commercial 00010 applications, and to alter it and redistribute it freely, subject to the following 00011 restrictions: 00012 00013 1. The origin of this software must not be misrepresented; you must not claim that 00014 you wrote the original software. If you use this software in a product, 00015 an acknowledgment in the product documentation would be appreciated but is 00016 not required. 00017 00018 2. Altered source versions must be plainly marked as such, and must not be 00019 misrepresented as being the original software. 00020 00021 3. This notice may not be removed or altered from any source distribution. 00022 */ 00023 #ifndef _OIS_SDLKEYBOARD_H 00024 #define _OIS_SDLKEYBOARD_H 00025 00026 #include "OISKeyboard.h" 00027 #include "SDL/SDLPrereqs.h" 00028 00029 namespace OIS 00030 { 00031 class SDLKeyboard : public Keyboard 00032 { 00033 public: 00040 SDLKeyboard( bool buffered ); 00041 virtual ~SDLKeyboard(); 00042 00044 virtual bool isKeyDown( KeyCode key ); 00045 00047 virtual const std::string& getAsString( KeyCode kc ); 00048 00050 virtual void copyKeyStates( char keys[256] ); 00051 00053 virtual void setBuffered(bool buffered); 00054 00056 virtual void capture(); 00057 00059 virtual Interface* queryInterface(Interface::IType type) {return 0;} 00060 00062 virtual void _initialize(); 00063 00065 virtual void setTextTranslation( TextTranslationMode mode ); 00066 00067 protected: 00068 SDLKeyboard() {} 00069 00070 typedef std::map<SDLKey, KeyCode> KeyMap; 00071 KeyMap mKeyMap; 00072 00073 unsigned char KeyBuffer[256]; 00074 Uint8* mSDLBuff; 00075 00076 std::string mGetString; 00077 }; 00078 } 00079 #endif
1.5.4