[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14515] trunk/blender/intern/ghost/intern/ GHOST_SystemX11.cpp: use detectable autorepeat for X11,

Campbell Barton ideasman42 at gmail.com
Tue Apr 22 16:32:45 CEST 2008


Revision: 14515
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14515
Author:   campbellbarton
Date:     2008-04-22 16:32:45 +0200 (Tue, 22 Apr 2008)

Log Message:
-----------
use detectable autorepeat for X11,
this way, holding a key will only give multiple down events, father then down,up,down,up.... etc.
This is needed for apricot so they can play games in blenders :)

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp	2008-04-22 10:34:41 UTC (rev 14514)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp	2008-04-22 14:32:45 UTC (rev 14515)
@@ -46,6 +46,7 @@
 
 #include <X11/Xatom.h>
 #include <X11/keysym.h>
+#include <X11/XKBlib.h> /* allow detectable autorepeate */
 
 #ifdef __sgi
 
@@ -111,6 +112,18 @@
 	}
 
 	m_start_time = GHOST_TUns64(tv.tv_sec*1000 + tv.tv_usec/1000);
+	
+	
+	/* use detectable autorepeate, mac and windows also do this */
+	int use_xkb;
+	int xkb_opcode, xkb_event, xkb_error;
+	int xkb_major = XkbMajorVersion, xkb_minor = XkbMinorVersion;
+	
+	use_xkb = XkbQueryExtension(m_display, &xkb_opcode, &xkb_event, &xkb_error, &xkb_major, &xkb_minor);
+	if (use_xkb) {
+		XkbSetDetectableAutoRepeat(m_display, true, NULL);
+	}
+	
 }
 
 	GHOST_TSuccess 





More information about the Bf-blender-cvs mailing list