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 ¶mList ); 00067 void _parseConfigSettings( ParamList ¶mList ); 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
1.5.4