This function is not needed in wxGTK2 as GTK+ sets detectable auto-repeat on
its own in gdk_display_open() anyhow, so move its implementation to
src/x11/utilsx.cpp where it can be used by wxX11 and wxMotif which do need it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62001
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#if wxUSE_GUI
-#ifndef __WXGTK__
+// this function is only really implemented for X11-based ports, including GTK1
+// (GTK2 sets detectable auto-repeat automatically anyhow)
+#if !(defined(__WXX11__) || defined(__WXMOTIF__) || \
+ (defined(__WXGTK__) && !defined(__WXGTK20__)))
bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) )
{
- return true; // detectable auto-repeat is the only mode MSW supports
+ return true;
}
-#endif // !wxGTK
+#endif // !X11-based port
// ----------------------------------------------------------------------------
// Launch default browser
// we can not enter threads before gtk_init is done
gdk_threads_enter();
- wxSetDetectableAutoRepeat( true );
-
#if wxUSE_INTL
wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding());
#endif
#include "gtk/gtk.h"
#include "gdk/gdkx.h"
-#ifdef HAVE_X11_XKBLIB_H
- /* under HP-UX and Solaris 2.6, at least, XKBlib.h defines structures with
- * field named "explicit" - which is, of course, an error for a C++
- * compiler. To be on the safe side, just redefine it everywhere. */
- #define explicit __wx_explicit
-
- #include "X11/XKBlib.h"
-
- #undef explicit
-#endif // HAVE_X11_XKBLIB_H
-
-
#if wxUSE_DETECT_SM
#include "X11/Xlib.h"
#include "X11/SM/SMlib.h"
}
#endif
-/* Don't synthesize KeyUp events holding down a key and producing
- KeyDown events with autorepeat. */
-#ifdef HAVE_X11_XKBLIB_H
-bool wxSetDetectableAutoRepeat( bool flag )
-{
- Bool result;
- XkbSetDetectableAutoRepeat( GDK_DISPLAY(), flag, &result );
- return result; /* true if keyboard hardware supports this mode */
-}
-#else
-bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) )
-{
- return false;
-}
-#endif
-
// ----------------------------------------------------------------------------
// display characterstics
// ----------------------------------------------------------------------------
#include "wx/dcmemory.h"
#endif
+#ifdef HAVE_X11_XKBLIB_H
+ /* under HP-UX and Solaris 2.6, at least, XKBlib.h defines structures with
+ * field named "explicit" - which is, of course, an error for a C++
+ * compiler. To be on the safe side, just redefine it everywhere. */
+ #define explicit __wx_explicit
+
+ #include "X11/XKBlib.h"
+
+ #undef explicit
+#endif // HAVE_X11_XKBLIB_H
+
+
// ----------------------------------------------------------------------------
// XShape code
// ----------------------------------------------------------------------------
}
#endif // !wxUSE_NANOX
+
+/* Don't synthesize KeyUp events holding down a key and producing
+ KeyDown events with autorepeat. */
+bool wxSetDetectableAutoRepeat( bool flag )
+{
+#ifdef HAVE_X11_XKBLIB_H
+ Bool result;
+ XkbSetDetectableAutoRepeat( (Display *)wxGetDisplay(), flag, &result );
+ return result; /* true if keyboard hardware supports this mode */
+#else
+ wxUnusedVar(flag);
+ return false;
+#endif
+}
+