diff options
| author | Mavridis Philippe <mavridisf@gmail.com> | 2024-06-01 22:46:37 +0300 |
|---|---|---|
| committer | Mavridis Philippe <mavridisf@gmail.com> | 2024-09-08 01:35:16 +0300 |
| commit | 2af9d1ed2ccf0c303df4b6a845395ebd7b099c3b (patch) | |
| tree | e745b4f24bf1a3a4b4ccd8244f82b6d60b744209 /kcontrol/input/syndaemon.h | |
| parent | 63178a8866996791c95b349988a064c26a826025 (diff) | |
| download | tdebase-2af9d1ed.tar.gz tdebase-2af9d1ed.zip | |
KControl: add touchpad configuration module
Supports the Libinput and Synaptics drivers, includes documentation and inpupt-touchpad icon.
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
(cherry picked from commit 8bd4c502f65ad364261913150ce59a74c993ca1c)
Diffstat (limited to 'kcontrol/input/syndaemon.h')
| -rw-r--r-- | kcontrol/input/syndaemon.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/kcontrol/input/syndaemon.h b/kcontrol/input/syndaemon.h new file mode 100644 index 000000000..0556345eb --- /dev/null +++ b/kcontrol/input/syndaemon.h @@ -0,0 +1,78 @@ +/******************************************************************************* + syndaemon - daemon for the Synaptics touchpad driver which disables touchpad + on keyboard input + + Copyright © 2004 Nadeem Hasan <nhasan@kde.org> + Stefan Kombrink <katakombi@web.de> + 2024 Mavridis Philippe <mavridisf@gmail.com> + + This program is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + this program. If not, see <https://www.gnu.org/licenses/>. + +*******************************************************************************/ + +#ifndef __SYNDAEMON_H__ +#define __SYNDAEMON_H__ + +// TQt +#include <tqobject.h> +#include <tqthread.h> + +// DCOP +#include <dcopobject.h> + +// X11 +#include <X11/Xlib.h> +#undef Bool /* fix problems in --enable-final mode */ +#undef None /* fix problems in --enable-final mode */ + +// Syndaemon +#include "syndaemon_iface.h" + + +class TQTimer; + +class SynDaemon : public TQObject, public virtual SynDaemonIface +{ + TQ_OBJECT + + public: + SynDaemon(); + ~SynDaemon(); + + bool touchpadEnabled(); + + public slots: + void poll(); + void setTouchpadOn(bool on); + virtual void stop(); + + protected: + void clearBit(unsigned char* ptr, int bit); + bool hasKeyboardActivity(); + + private: + TouchpadSettings *d_settings; + + TQTimer *m_poll; + TQTime *m_time; + Display *m_display; + bool m_typing; + + static const unsigned int POLL_INTERVAL; + static const unsigned int TIME_OUT; + static const unsigned int KEYMAP_SIZE; + static unsigned char *m_keyboard_mask; +}; + +#endif + |
