From kde-devel Fri Jun 29 22:21:03 2007 From: Stefan Kombrink Date: Fri, 29 Jun 2007 22:21:03 +0000 To: kde-devel Subject: Get global X events and save your environment! Message-Id: <200706300021.03156.katakombi () web ! de> X-MARC-Message: https://marc.info/?l=kde-devel&m=118315572814595 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_PXYhG/GwGLLPd8k" --Boundary-00=_PXYhG/GwGLLPd8k Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi there, For a pretty long time now I was in search for global X events for one of my projects - ksynaptics. KSynaptics runs as a daemon thread and polls the keyboard state to disable the touchpad while typing. I've looked at how other apps implemented it and found that: * indeed quite a few app needs similar functionality * you'll need to code Xlib directly (both Qt and KDE cannot do that) * many implementations seems like copy&paste * apps using low poll intervals rank high on intels powertop I wrote some basic Qt example - SynDock, mostly a thread class which catches global X events via X Event Interception Extension (Xevie) and emits some signals to inform about it. The main issue using Xevie is that only one single client may connect. I'd like to use Xevie since it is a very efficient way for me to get informed about when the user starts and stops typing. Please have a look at the code and try it out for yourself. If you have syndock (ksynaptics) installed compare it to EvieDaemon using powertop My idea is to make a KDE daemon out of this code which could be useful for a bunch of apps (kopete/ksynaptics/kscreensaver/amarok/...) I do not have the necessary KDE knowledge but I am willing to help with what I can. Is there any demand - anyone interested in such a daemon? Who is willing to help? Greetings, Stefan >8^) -- Warning! Insufficient or missing coffee in module "STOMACH". User halted. --Boundary-00=_PXYhG/GwGLLPd8k Content-Type: application/x-tbz; name="SynDock.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="SynDock.tar.bz2" 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 S3AD/4u5IpwoSBmDgXaA --Boundary-00=_PXYhG/GwGLLPd8k Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe << --Boundary-00=_PXYhG/GwGLLPd8k--