E:/Download/ois-1.0RC1/includes/win32/Win32KeyBoard.h

Go to the documentation of this file.
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_

Generated on Sat Dec 1 20:13:51 2007 for OIS by  doxygen 1.5.4