00001 /*---------------------------------------------------------------------------- 00002 ** jsmenuevent.h 00003 ** GPL license; Original copyright 2004 Jeremy White <jwhite@whitesen.org> 00004 ** although this is largely a derivative of lircevent.h 00005 **--------------------------------------------------------------------------*/ 00006 #ifndef JSMENUEVENT_H_ 00007 #define JSMENUEVENT_H_ 00008 00009 const int kJoystickKeycodeEventType = 24425; 00010 const int kJoystickMuteEventType = 24426; 00011 00012 class JoystickKeycodeEvent : public QCustomEvent 00013 { 00014 public: 00015 JoystickKeycodeEvent(const QString &jsmenuevent_text, int key_code, bool key_down) : 00016 QCustomEvent(kJoystickKeycodeEventType), jsmenueventtext(jsmenuevent_text), 00017 keycode(key_code), keydown(key_down) {} 00018 00019 QString getJoystickMenuText() 00020 { 00021 return jsmenueventtext; 00022 } 00023 00024 int getKeycode() 00025 { 00026 return keycode; 00027 } 00028 00029 bool isKeyDown() 00030 { 00031 return keydown; 00032 } 00033 00034 private: 00035 QString jsmenueventtext; 00036 int keycode; 00037 bool keydown; 00038 }; 00039 00040 class JoystickMenuMuteEvent : public QCustomEvent 00041 { 00042 public: 00043 JoystickMenuMuteEvent(bool mute_events) : QCustomEvent(kJoystickMuteEventType), 00044 mute_jsmenu_events(mute_events) {} 00045 00046 bool eventsMuted() 00047 { 00048 return mute_jsmenu_events; 00049 } 00050 00051 private: 00052 bool mute_jsmenu_events; 00053 }; 00054 00055 class JoystickMenuEventLock 00056 { 00057 public: 00058 JoystickMenuEventLock(bool lock_events = true); 00059 ~JoystickMenuEventLock(); 00060 void lock(); 00061 void unlock(); 00062 00063 private: 00064 bool events_locked; 00065 }; 00066 00067 #endif 00068
1.5.5