diff options
author | Richard Hult <richard@imendio.com> | 2006-09-06 17:29:28 +0000 |
---|---|---|
committer | Richard Hult <rhult@src.gnome.org> | 2006-09-06 17:29:28 +0000 |
commit | 7724832996d33324a7d235f7ec6d59d1227e2ddf (patch) | |
tree | 3decc240442a3c31c1bd92579f410acb338938c5 | |
parent | 0f830ba9d932c5ab123beb27baa6cd72889f6454 (diff) | |
download | gtk+-7724832996d33324a7d235f7ec6d59d1227e2ddf.tar.gz |
Special-case shift-tab and map it to GDK_ISO_Left_Tab, fixes bug #350806.
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gdk/quartz/gdkkeys-quartz.c | 14 |
2 files changed, 15 insertions, 4 deletions
@@ -1,3 +1,8 @@ +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-09-04 Kristian Rietveld <kris@imendio.com> * gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb): diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index c148c6d861..9d62b43508 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -206,7 +206,7 @@ maybe_update_keymap (void) for (i = 0; i < NUM_KEYCODES; i++) { int j; - UInt32 modifiers[] = {0, shiftKey, optionKey, shiftKey|optionKey}; + UInt32 modifiers[] = {0, shiftKey, optionKey, shiftKey | optionKey}; p = keyval_array + i * KEYVALS_PER_KEYCODE; @@ -216,7 +216,7 @@ maybe_update_keymap (void) UInt16 key_code; UniChar uc; - key_code = modifiers[j]|i; + key_code = modifiers[j] | i; c = KeyTranslate (chr_data, key_code, &state); if (state != 0) @@ -248,6 +248,12 @@ maybe_update_keymap (void) } } + /* Special-case shift-tab since GTK+ expects + * GDK_ISO_Left_Tab for that. + */ + if (found && p[j] == GDK_Tab && modifiers[j] == shiftKey) + p[j] = GDK_ISO_Left_Tab; + if (!found) p[j] = gdk_unicode_to_keyval (uc); } @@ -275,7 +281,7 @@ maybe_update_keymap (void) for (i = 0; i < NUM_KEYCODES; i++) { int j; - UInt32 modifiers[] = {0, shiftKey, optionKey, shiftKey|optionKey}; + UInt32 modifiers[] = {0, shiftKey, optionKey, shiftKey | optionKey}; UniChar chars[4]; UniCharCount nChars; @@ -288,7 +294,7 @@ maybe_update_keymap (void) UInt16 key_code; UniChar uc; - key_code = modifiers[j]|i; + key_code = modifiers[j] | i; err = UCKeyTranslate (chr_data, i, kUCKeyActionDown, (modifiers[j] >> 8) & 0xFF, LMGetKbdType(), |