Add enum GdkModifierIntent which identifies use cases for modifier masks
and GdkKeyMap::get_modifier_mask(). Add a default implementation which returns
what is currently hardcoded all over GTK+, and an implementation in the
quartz backend. Also add gtk_widget_get_modifier_mask() which simplifies
things by doing widget->display->keymap->get_modifier_mask().
Handle dead keys in special_ucs_table and have them converted by
UCKeyTranslate(), so all dead key combinations can be entered.
Later, this should be handled in the input method, just as it's
done for X11/Win32.
It turns out that my attempt at handling Super, Hyper and Meta better
is causing problems, mostly because Alt and Meta are commonly colocated
in the modmap, and apps do a check for the Alt modifier regularly.
See e.g bug 607697.
2008-11-12 Richard Hult <richard@imendio.com>
Bug 558586 – handling of keyboard under darwin (quartz)
* gdk/quartz/gdkkeys-quartz.c: Follow up on this bug, only use the
new API when building on 64-bit, since there are still old non-xml
layouts used out there we don't want to break them. (For 64-bit
those layouts doesn't work so we don't have a choice there.)
svn path=/trunk/; revision=21782
2008-11-06 Richard Hult <richard@imendio.com>
Bug 558586 – handling of keyboard under darwin (quartz)
* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Patch from
Arnaud Charlet to replace use of deprecated keyboard layout API
with the new TIS API available in 10.5. The old code is still used
when building for 10.4.
svn path=/trunk/; revision=21763
2008-05-04 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkkeys-quartz.c (maybe_update_keymap): Check if
gdk_unicode_to_keyval() worked before using the result. Makes
function keys work, bug #530156. Also add F16 to the function key
map.
svn path=/trunk/; revision=20071
2007-11-04 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Make shift
tab work with unicode layouts (e.g. all Leopard layouts), fixes
bug #493404.
svn path=/trunk/; revision=18967
2007-04-06 Richard Hult <richard@imendio.com>
* gdk/quartz/: Clean up namespaces to make the code more
maintainable.
* gdk/quartz/gdkdrawable-quartz.c:
* gdk/quartz/gdkgc-quartz.c: Fix bug #418384, alignment of tiled
images, by setting the pattern phase for the CG pattern.
svn path=/trunk/; revision=17584
2006-09-06 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Special-case
shift-tab and map it to GDK_ISO_Left_Tab, fixes bug #350806.
2006-07-24 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Set the
window level depending on the type hint.
* gdk/quartz/gdkevents-quartz.c (gdk_keyboard_grab,
pointer_ungrab_internal): Only break the grab if the new window is
a different one.
(gdk_event_translate): Catch the case where the entire app loses
focus and break any grabs. Only do implicit grabs when the event
mask has both press and release.
* gdk/quartz/gdkkeys-quartz.c (translate_keysym):
* gdk/quartz/gdkselection-quartz.c:
* gdk/quartz/GdkQuartzWindow.c
([GdkQuartzWindow -windowDidResignKey:]): Use this to update the
focus window instead of resignMain, fixes the case where other apps
uses focus follows mouse (like the terminal can).
2006-07-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (create_key_event):
* gdk/quartz/gdkkeys-quartz.c: (_gdk_quartz_key_event_type),
(_gdk_quartz_key_is_modifier):
* gdk/quartz/gdkprivate-quartz.h: Fill in string, length and
is_modifier for key events. Map some more keys into gdk keyvals.
2006-07-07 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: Generate a grab broken event when
appropriate. Fixes bug #346603, patch from Dave Vasilevsky.
* gdk/quartz/gdkevents-quartz.c:
* gdk/quartz/gdkkeys-quartz.c:
* gdk/quartz/gdkprivate-quartz.c: Another patch from Dave Vasilevsky,
fixes bug #346605. Makes modifier key events being sent properly.
2006-01-18 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkkeys-quartz.c:
(maybe_update_keymap):
Support non-MacRoman keyboard layouts.
(#322585, Wolfgang Thaller)