00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef DETECTLINUX_H
00021 #define DETECTLINUX_H
00022
00023 #include "inputdevice.h"
00024 #include "joystick.h"
00025 #include "keyboard.h"
00026 #include "mouse.h"
00027 #include "touch.h"
00028 #include "detect.h"
00029
00030 #include <QtCore/QObject>
00031 #include <QtCore/QList>
00032 #include <QtCore/QSharedData>
00033
00034 namespace GluonInput
00035 {
00036 class DetectLinuxPrivate;
00037
00038 class GLUON_INPUT_EXPORT DetectLinux : public Detect
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 DetectLinux( QObject* parent );
00044 ~DetectLinux();
00045
00046 void detectDevices();
00047 void setAllEnabled( bool enable );
00048
00049 QList<InputDevice*> inputList();
00050 QList<Keyboard*> keyboardList();
00051 QList<Mouse*> mouseList();
00052 QList<Joystick*> joystickList();
00053 QList<Touch*> touchList();
00054 QList<InputDevice*> unknownDeviceList();
00055
00056 void addInput( InputDevice* i );
00057 void addKeyboard( Keyboard* keyboard );
00058 void addMouse( Mouse* mouse );
00059 void addJoystick( Joystick* joystick );
00060 void addTouch( Touch* touch );
00061 void addUnknown( InputDevice* i );
00062
00063 void clear();
00064
00065 private:
00066 QSharedDataPointer<DetectLinuxPrivate> d;
00067 };
00068 }
00069 #endif