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 _WIN32_KEYBOARD_H_EADER_ 00024 #define _WIN32_KEYBOARD_H_EADER_ 00025 00026 #include "OISKeyboard.h" 00027 #include "Win32/Win32Prereqs.h" 00028 00029 namespace OIS 00030 { 00031 class Win32Keyboard : public Keyboard 00032 { 00033 public: 00044 Win32Keyboard( InputManager* creator, IDirectInput8* pDI, bool buffered, DWORD coopSettings ); 00045 virtual ~Win32Keyboard(); 00046 00048 virtual bool isKeyDown( KeyCode key ); 00049 00051 virtual const std::string& getAsString( KeyCode kc ); 00052 00054 virtual void copyKeyStates( char keys[256] ); 00055 00057 virtual void setBuffered(bool buffered); 00058 00060 virtual void capture(); 00061 00063 virtual Interface* queryInterface(Interface::IType type) {return 0;} 00064 00066 virtual void _initialize(); 00067 protected: 00068 Win32Keyboard() {} 00069 00070 void _readBuffered(); 00071 void _read(); 00072 00073 IDirectInput8* mDirectInput; 00074 IDirectInputDevice8* mKeyboard; 00075 DWORD coopSetting; 00076 00077 unsigned char KeyBuffer[256]; 00078 00080 int _translateText( KeyCode kc ); 00081 00083 WCHAR deadKey; 00084 00086 std::string mGetString; 00087 }; 00088 } 00089 #endif //_WIN32_KEYBOARD_H_EADER_
1.5.4