E:/Download/ois-1.0RC1/includes/linux/LinuxInputManager.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 OIS_LinuxInputManager_H
00024 #define OIS_LinuxInputManager_H
00025 
00026 #include "linux/LinuxPrereqs.h"
00027 #include "OISInputManager.h"
00028 #include <X11/Xlib.h>
00029 
00030 namespace OIS
00031 {
00035         class LinuxInputManager : public InputManager
00036         {
00037         public:
00038                 LinuxInputManager();
00039                 virtual ~LinuxInputManager();
00040 
00042                 virtual const std::string& inputSystemName() { return iName; }
00043                 
00045                 virtual int numJoysticks();
00047                 virtual int numMice();
00049                 virtual int numKeyBoards();
00050                 
00052                 Object* createInputObject( Type iType, bool bufferMode );
00054                 void destroyInputObject( Object* obj );
00055 
00057                 Window _getWindow() {return window;}
00058 
00060                 void _setGrabState(bool grab) {mGrabs = grab;}
00061                 bool _getGrabState() {return mGrabs;}
00062 
00063         protected:
00065                 void _initialize( ParamList &paramList );
00067                 void _parseConfigSettings( ParamList &paramList );
00069                 void _enumerateDevices();
00070 
00072                 JoyStickInfoList unusedJoyStickList;
00074                 char joySticks;
00075 
00077                 static const std::string iName;
00078 
00080                 Window window;
00081                 
00083                 bool grabMouse, grabKeyboard;
00084                 bool mGrabs;
00085                 bool hideMouse;
00086 
00088                 bool useXRepeat;
00089         };
00090 }
00091 #endif

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