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/gdkkeys-x11.c | |
parent | a859fa13aff7c2ceb848847d58eedf2cfafef54c (diff) | |
download | gdk-pixbuf-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/gdkkeys-x11.c')
-rw-r--r-- | gdk/x11/gdkkeys-x11.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index dc807d849..8d8876a1a 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -82,6 +82,12 @@ get_xkb (void) } #endif /* HAVE_XKB */ +/* Whether we were able to turn on detectable-autorepeat using + * XkbSetDetectableAutorepeat. If FALSE, we'll fall back + * to checking the next event with XPending(). + */ +gboolean _gdk_have_xkb_autorepeat = FALSE; + static KeySym* keymap = NULL; static gint keysyms_per_keycode = 0; static XModifierKeymap* mod_keymap = NULL; |