diff options
author | Owen Taylor <otaylor@redhat.com> | 2001-03-03 21:34:19 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2001-03-03 21:34:19 +0000 |
commit | 445e90fa82b1ccccde303754725b0248bb07b622 (patch) | |
tree | b586e8381c7a85d3c3e4ea236c29772874950aec /gdk/x11/gdkprivate-x11.h | |
parent | a859fa13aff7c2ceb848847d58eedf2cfafef54c (diff) | |
download | gtk+-445e90fa82b1ccccde303754725b0248bb07b622.tar.gz |
Detectable auto-repeat - make a repeating key generate
Sat Mar 3 16:26:33 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c
gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
Detectable auto-repeat - make a repeating key generate
press/press/press/release instead of press/release pairs.
If we have Xkb and XkbSetDectableAutoRepeat supports
that, we do it that way. Otherwise, when we get
a release event, we check ahead with XPending to see
if the next key is a KeyPress with the same keycode
and timestamp. (Not 100% reliable, but pretty close.)
Tue Feb 27 02:16:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_propagate_event): Only do special
special key-press grab handling for widgets within
GtkWindows. Otherwise, fall through to normal case.
This prevents key events being sent twice to GtkInvisible
widgets, which can cause all sorts of mischief.
Diffstat (limited to 'gdk/x11/gdkprivate-x11.h')
-rw-r--r-- | gdk/x11/gdkprivate-x11.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 0d03177fd3..24f7075c40 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -113,8 +113,15 @@ extern GdkWindow *gdk_xim_window; /* currently using Window */ /* Used to detect not-up-to-date keymap */ extern guint _gdk_keymap_serial; + #ifdef HAVE_XKB extern gboolean _gdk_use_xkb; #endif +/* Whether we were able to turn on detectable-autorepeat using + * XkbSetDetectableAutorepeat. If FALSE, we'll fall back + * to checking the next event with XPending(). + */ +extern gboolean _gdk_have_xkb_autorepeat; + #endif /* __GDK_PRIVATE_X11_H__ */ |