summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h
authoralwin <alwin>2005-02-28 09:40:30 (UTC)
committer alwin <alwin>2005-02-28 09:40:30 (UTC)
commit2b64a84d39eeed5681d0ee5068c7d11a01527750 (patch) (side-by-side diff)
treec8693340dbc5ef5e2f9afa90b690829ddff2c4bd /noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h
parent61fa699140c5efbb6ba0bf2a62f7e8fbf62976be (diff)
downloadopie-2b64a84d39eeed5681d0ee5068c7d11a01527750.zip
opie-2b64a84d39eeed5681d0ee5068c7d11a01527750.tar.gz
opie-2b64a84d39eeed5681d0ee5068c7d11a01527750.tar.bz2
other keymapping tool - not working this moment, I have to check it out
- the reason is that the config file is somewhat easier to understand than from zkbapplet and has a nice config tool. Please don't put it into any repositories this moment.
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h b/noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h
new file mode 100644
index 0000000..56d6414
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/misc/KeyRepeater.h
@@ -0,0 +1,86 @@
+#ifndef _KEY_REPEATER_H_
+#define _KEY_REPEATER_H_
+
+#include <qobject.h>
+#include <qtimer.h>
+#include <qvaluelist.h>
+#include <qwindowsystem_qws.h>
+
+#include <syslog.h>
+
+class KeyRepeater : public QObject
+{
+ Q_OBJECT
+public:
+ KeyRepeater();
+ virtual ~KeyRepeater();
+
+ typedef enum {
+ DISABLE=0,
+ ENABLE=1,
+ KILL=2,
+ } RepeaterMode;
+
+ void start(int unicode, int keycode, int modifieres);
+ void stop(int keycode = 0);
+ void reset();
+
+ void setRepeatable(int keycode, bool enable);
+ bool isRepeatable(int keycode);
+
+ void setMode(int mode){
+ switch(mode){
+ case DISABLE:
+ m_mode = DISABLE;
+ break;
+ case ENABLE:
+ m_mode = ENABLE;
+ break;
+ case KILL:
+ m_mode = KILL;
+ break;
+ default:
+ m_mode = ENABLE;
+ break;
+ }
+ }
+ RepeaterMode getMode(){
+ return(m_mode);
+ }
+
+ void setDelay(int msec)
+ {
+ m_repeatdelay = msec;
+ }
+ void setPeriod(int msec)
+ {
+ m_repeatperiod = msec;
+ }
+
+ void statistics();
+private slots:
+ void autoRepeat();
+private:
+ int m_unicode;
+ int m_keycode;
+ int m_modifiers;
+
+ int m_repeatdelay;
+ int m_repeatperiod;
+
+ QCString m_hookChannel;
+
+ RepeaterMode m_mode;
+
+ QValueList<int> m_disablekeys;
+
+ QTimer* m_pTimer;
+
+ void init();
+ void clear();
+signals:
+ void keyEvent(int unicode, int keycode, int modifiers,
+ bool isPress, bool autoRepeat);
+};
+
+#endif /* _KEY_REPEATER_H_ */