Hi Owen et al., over the weekend I tried to implement the recently missing bits in gdk/win32/gdkkeys-win32.c. Wed Feb 20 14:26:47 2002 Owen Taylor <otaylor redhat com> * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups; allow matches on key and level but not group. Also, implement ignoring "consumed modifiers correctly." * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using GtkKeyHash. * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate doc and parameter name changes. IMHO the previously code just worked fine (at least I haven't noticed any pressing problems in this area) but now I'm stumbling over the need of information possibly not even available via the win32 api. If I understand gdk/x11/gdkkeys-x11.c correctly Gdk nowadays needs to know in advance which key combinations will produce which gdkkeyvals (group ??, level?) and vice versa. Especially unclear to me is the "consumed modifiers" idea/implementation. My understanding was that all modifiers needed to create the keyval are 'consumed' but apparently it doesn't work this way. The attached patch does allow some basic keynav again (Tab, Cursors, etc. do work again), but all the 'Hotkeys' - see testgtk::'key lookup' still do not work and I currently have no clue how to fix it. Also in the attachement the file keys.txt, which lists the keyinfo used internally by gdkkeys-win32.c. It is the output of dump_keyinfo() and shows which key combination information is available/used. IMHO the output is quite self-explanatory [... denotes no info available]. Any help is really appreciated - a working patch even more :-) Thanks, Hans
Attachment:
gtk+-keynav-win32-2002-02-26.zip
Description: Zip archive
-------- Hans "at" Breuer "dot" Org ----------- Tell me what you need, and I'll tell you how to get along without it. -- Dilbert