// Return a string with the current date/time
WXDLLEXPORT wxString wxNow();
+// Synthesize KeyUp events holding down a key and producing
+// KeyDown events with autorepeat. On by default an always
+// on in wxMSW.
+WXDLLEXPORT bool wxSetDetectableAutoRepeat( bool flag );
+
// ----------------------------------------------------------------------------
// Window ID management
// ----------------------------------------------------------------------------
return FALSE;
}
+// Synthesize KeyUp events holding down a key and producing
+// KeyDown events with autorepeat. On by default an always
+// on in wxMSW. wxGTK version in utilsgtk.cpp.
+#ifndef __WXGTK__
+bool wxSetDetectableAutoRepeat( bool WXUNUSED(flag) )
+{
+ return TRUE; // detectable auto-repeat is the only mode MSW supports
+}
+#endif
+
// Return the current date/time
// [volatile]
wxString wxNow( void )
gtk_init( &argc, &argv );
+ wxSetDetectableAutoRepeat( TRUE );
+
if (!wxApp::Initialize())
return -1;
#include <gtk/gtk.h>
#include <gtk/gtkfeatures.h>
#include <gdk/gdkx.h>
+#include "X11/XKBlib.h"
// ----------------------------------------------------------------------------
// misc.
gdk_beep();
}
+// Synthesize KeyUp events holding down a key and producing
+// KeyDown events with autorepeat.
+bool wxSetDetectableAutoRepeat( bool flag )
+{
+ Bool result;
+ XkbSetDetectableAutoRepeat( GDK_DISPLAY(), flag, &result );
+ return result; // true if keyboard hardware supports this mode
+}
+
// ----------------------------------------------------------------------------
// display characterstics
// ----------------------------------------------------------------------------
printf( "\n" );
*/
- bool ret = FALSE;
-
int x = 0;
int y = 0;
GdkModifierType state;
long key_code = get_unmodified_wx_keysym( gdk_event );
+ /* sending unknown key events doesn't really make sense */
+ if (key_code == 0) return FALSE;
+
+ bool ret = FALSE;
+
wxKeyEvent event( wxEVT_KEY_DOWN );
event.SetTimestamp( gdk_event->time );
event.m_shiftDown = (gdk_event->state & GDK_SHIFT_MASK);
*/
long key_code = get_unmodified_wx_keysym( gdk_event );
+
+ /* sending unknown key events doesn't really make sense */
+ if (key_code == 0) return FALSE;
int x = 0;
int y = 0;
gtk_init( &argc, &argv );
+ wxSetDetectableAutoRepeat( TRUE );
+
if (!wxApp::Initialize())
return -1;
#include <gtk/gtk.h>
#include <gtk/gtkfeatures.h>
#include <gdk/gdkx.h>
+#include "X11/XKBlib.h"
// ----------------------------------------------------------------------------
// misc.
gdk_beep();
}
+// Synthesize KeyUp events holding down a key and producing
+// KeyDown events with autorepeat.
+bool wxSetDetectableAutoRepeat( bool flag )
+{
+ Bool result;
+ XkbSetDetectableAutoRepeat( GDK_DISPLAY(), flag, &result );
+ return result; // true if keyboard hardware supports this mode
+}
+
// ----------------------------------------------------------------------------
// display characterstics
// ----------------------------------------------------------------------------
printf( "\n" );
*/
- bool ret = FALSE;
-
int x = 0;
int y = 0;
GdkModifierType state;
long key_code = get_unmodified_wx_keysym( gdk_event );
+ /* sending unknown key events doesn't really make sense */
+ if (key_code == 0) return FALSE;
+
+ bool ret = FALSE;
+
wxKeyEvent event( wxEVT_KEY_DOWN );
event.SetTimestamp( gdk_event->time );
event.m_shiftDown = (gdk_event->state & GDK_SHIFT_MASK);
*/
long key_code = get_unmodified_wx_keysym( gdk_event );
+
+ /* sending unknown key events doesn't really make sense */
+ if (key_code == 0) return FALSE;
int x = 0;
int y = 0;