From linuxhippy at gmail.com Fri Jun 3 10:01:57 2011 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Fri, 3 Jun 2011 19:01:57 +0200 Subject: Howto synthetisize double-clicks? Message-ID: Hi, I wonder how to synthetisize double-click mouse events, I played with it for over a day, and I still can't seem to make it work. For now I have the following (non-)proof-of-concept code, which generates double-click events from pressed/release pairs. EventData data = new EventData(); data.setSource(screen); data.setX(x); data.setY(y); data.setId(down ? MouseEvent.MOUSE_PRESSED : MouseEvent.MOUSE_RELEASED); data.setButton(jsButtonMaskToJava(buttonMask)); data.setModifiers(jsButtonMaskToJavaMask(buttonMask)); data.setTime(System.currentTimeMillis()); if (lastClickedEvent != null && (System.currentTimeMillis() - lastClickedEvent.getTime()) <= 200) { data.setClickCount(2); } else { data.setClickCount(1); } So I actually generate a double-click event, if the last click happend XYms after a first one, including the button-release events in between. Still in client-swing code, the double-click events are not "delivered". Is there something I missed? I ask because most likely I guess its some kind of "yeah, we thad to figure it out too" question ;) Thanks, Clemens PS: Thanks Mario for answering my questions about the event pump. I hope to continue work on that soon. From roman at kennke.org Tue Jun 7 03:32:33 2011 From: roman at kennke.org (Roman Kennke) Date: Tue, 07 Jun 2011 12:32:33 +0200 Subject: Howto synthetisize double-clicks? In-Reply-To: References: Message-ID: <1307442753.2845.4.camel@debian> Hi Clemens, > I wonder how to synthetisize double-click mouse events, I played with > it for over a day, and I still can't seem to make it work. I don't think you need to synthesize double clicks. IIRC, those only matter for MOUSE_CLICKED events, which are generated by AWT anyway. The backend only needs to care about MOUSE_PRESSED and MOUSE_RELEASED for which the click count should always be 1. I might be wrong though... We could sit together on IRC in the evening to figure it out if you like. Best regards, Roman From linuxhippy at gmail.com Tue Jun 7 08:54:01 2011 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Tue, 7 Jun 2011 17:54:01 +0200 Subject: Howto synthetisize double-clicks? In-Reply-To: <1307442753.2845.4.camel@debian> References: <1307442753.2845.4.camel@debian> Message-ID: Hi Roman, > I don't think you need to synthesize double clicks. IIRC, those only > matter for MOUSE_CLICKED events, which are generated by AWT anyway. The > backend only needs to care about MOUSE_PRESSED and MOUSE_RELEASED for > which the click count should always be 1. I might be wrong though... Hmm, good to know. I saw the SDL backend also doesn't care about click events, but on my system double-click was broken with SDL too - thats why I started experimenting. > We could sit together on IRC in the evening to figure it out if you > like. Thanks for your offer :) This week is a bit sub-optimal, we have a university deadline on Sunday - and it doesn't look very promising for now ^^ Thanks, Clemens From linuxhippy at gmail.com Mon Jun 27 05:22:20 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Mon, 27 Jun 2011 12:22:20 +0000 Subject: hg: caciocavallo/ng: 2 new changesets Message-ID: <20110627122221.6DA9E47369@hg.openjdk.java.net> Changeset: c973d5a12d97 Author: ceisserer Date: 2011-06-27 16:11 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/c973d5a12d97 add standalone jetty-based http server to circumvent classloader problems (and as a nice all-in-one demo) + src/web/classes/net/java/openjdk/cacio/server/CacioServer.java Changeset: 01ea96140ab9 Author: ceisserer Date: 2011-06-27 16:12 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/01ea96140ab9 some cleanup in native code ! src/web/native/WebSurfaceData.c From linuxhippy at gmail.com Thu Jun 30 02:21:02 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Thu, 30 Jun 2011 09:21:02 +0000 Subject: hg: caciocavallo/ng: 5 new changesets Message-ID: <20110630092103.7A33D47093@hg.openjdk.java.net> Changeset: b5cbaa8eb4cd Author: ceisserer Date: 2011-06-27 16:32 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/b5cbaa8eb4cd integrate html/javascript part + src/web/servlet/StreamBase.html Changeset: fb87aaacebbc Author: ceisserer Date: 2011-06-29 15:26 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/fb87aaacebbc small updates all over the place ! src/web/classes/net/java/openjdk/awt/peer/web/WebGraphicsDevice.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebGraphicsEnvironment.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebKeyboardStateTracker.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebMouseStateTracker.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSessionState.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSurfaceData.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebToolkit.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebVolativeSurfaceManager.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebWindowFactory.java Changeset: 9ecdf3e8664a Author: ceisserer Date: 2011-06-29 15:28 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/9ecdf3e8664a first AppContext experiments ! src/web/classes/net/java/openjdk/cacio/servlet/AppStarter.java ! src/web/classes/net/java/openjdk/cacio/servlet/Base64Coder.java ! src/web/classes/net/java/openjdk/cacio/servlet/EventReceiver.java ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java Changeset: 0cd1527adad6 Author: ceisserer Date: 2011-06-29 15:30 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/0cd1527adad6 cacio-web specific section in build.xml ! build.properties Changeset: 804e863cbe3a Author: ceisserer Date: 2011-06-29 15:31 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/804e863cbe3a small build.properties cleanup ! build.properties From linuxhippy at gmail.com Thu Jun 30 05:17:10 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Thu, 30 Jun 2011 12:17:10 +0000 Subject: hg: caciocavallo/ng: 2 new changesets Message-ID: <20110630121710.8EE3B4709A@hg.openjdk.java.net> Changeset: c0916fa4b72c Author: ceisserer Date: 2011-06-30 15:59 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/c0916fa4b72c do not grab toolkit lock for damage tracking ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java Changeset: 3f0774f8041c Author: ceisserer Date: 2011-06-30 16:02 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/3f0774f8041c factor session-management out of session-instance-object ! src/web/classes/net/java/openjdk/awt/peer/web/WebGraphicsDevice.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSessionState.java ! src/web/classes/net/java/openjdk/awt/peer/web/WebSurfaceData.java From linuxhippy at gmail.com Thu Jun 30 12:14:24 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Thu, 30 Jun 2011 19:14:24 +0000 Subject: hg: caciocavallo/ng: 6 new changesets Message-ID: <20110630191425.7334D470B1@hg.openjdk.java.net> Changeset: 358f0386e764 Author: ceisserer Date: 2011-06-30 16:46 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/358f0386e764 include license header for base64 de/encoder ! src/web/classes/net/java/openjdk/cacio/servlet/Base64Coder.java Changeset: a5fa75291242 Author: ceisserer Date: 2011-06-30 16:46 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/a5fa75291242 further refactoring of subsession handling ! src/web/classes/net/java/openjdk/cacio/servlet/AppStarter.java ! src/web/classes/net/java/openjdk/cacio/servlet/EventReceiver.java ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java + src/web/classes/net/java/openjdk/cacio/servlet/WebSessionManager.java Changeset: 4cf28dfb807c Author: ceisserer Date: 2011-06-30 16:49 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/4cf28dfb807c no need to grab session lock when looking for dirty areas ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java Changeset: 3504833cba2c Author: ceisserer Date: 2011-06-30 16:56 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/3504833cba2c small clenaup ! src/web/classes/net/java/openjdk/cacio/servlet/ImageStreamer.java Changeset: c039049eb527 Author: ceisserer Date: 2011-06-30 17:03 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/c039049eb527 small typo fixed ! src/web/classes/net/java/openjdk/awt/peer/web/WebEventSource.java Changeset: a2a66bdb4a9e Author: ceisserer Date: 2011-06-30 18:28 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/a2a66bdb4a9e factor AppContext creation out of servlet + src/web/classes/net/java/openjdk/cacio/servlet/AppContextCreator.java ! src/web/classes/net/java/openjdk/cacio/servlet/AppStarter.java From linuxhippy at gmail.com Thu Jun 30 15:09:49 2011 From: linuxhippy at gmail.com (linuxhippy at gmail.com) Date: Thu, 30 Jun 2011 22:09:49 +0000 Subject: hg: caciocavallo/ng: 2 new changesets Message-ID: <20110630220950.435C1470BD@hg.openjdk.java.net> Changeset: b98b7e869094 Author: ceisserer Date: 2011-06-30 23:30 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/b98b7e869094 use global jni reference for classes in native code ! src/web/native/WebSurfaceData.c Changeset: 23a9064d20ff Author: ceisserer Date: 2011-07-01 01:26 +0200 URL: http://hg.openjdk.java.net/caciocavallo/ng/rev/23a9064d20ff free references at surface dispose ! src/web/native/WebSurfaceData.c