quartz: resolve the modifier confusion on the Mac

- map Alt/Option to MOD1
- map Command to MOD2
- map MOD2 to the virtual Meta
- improve/fix (?) group handling in gdkkeys-quartz.c
This commit is contained in:
Michael Natterer
2011-09-16 15:54:03 +02:00
committed by Michael Natterer
parent c50063397f
commit a99d14f61c
2 changed files with 18 additions and 8 deletions

View File

@ -223,8 +223,10 @@ get_keyboard_modifiers_from_ns_event (NSEvent *nsevent)
modifiers |= GDK_SHIFT_MASK;
if (nsflags & NSControlKeyMask)
modifiers |= GDK_CONTROL_MASK;
if (nsflags & NSCommandKeyMask)
if (nsflags & NSAlternateKeyMask)
modifiers |= GDK_MOD1_MASK;
if (nsflags & NSCommandKeyMask)
modifiers |= GDK_MOD2_MASK;
return modifiers;
}
@ -912,7 +914,7 @@ fill_key_event (GdkWindow *window,
{
case GDK_KEY_Meta_R:
case GDK_KEY_Meta_L:
mask = GDK_MOD1_MASK;
mask = GDK_MOD2_MASK;
break;
case GDK_KEY_Shift_R:
case GDK_KEY_Shift_L:
@ -923,7 +925,7 @@ fill_key_event (GdkWindow *window,
break;
case GDK_KEY_Alt_R:
case GDK_KEY_Alt_L:
mask = GDK_MOD5_MASK;
mask = GDK_MOD1_MASK;
break;
case GDK_KEY_Control_R:
case GDK_KEY_Control_L: