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.
2000-12-03 Havoc Pennington <hp@pobox.com>
* gdk/Makefile.am: add gdkkeys.[hc]
* gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
* acconfig.h, configure.in: add checks and command line options
for XKB
* gdk/x11/gdkkeys-x11.c: Implement the above functions
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
and group in the key event
* gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
field with the low-level hardware key code, and a group
field with the keyboard group
* gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
and declare a couple globals used for keymap handling
* gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
hold down Shift-Control and type a hex number to get a Unicode
character corresponding to the hex number
(gtk_im_context_simple_get_preedit_string): Fix cursor position
(return bytes not chars)