bug #357. Fix XDarwin so it builds on Mac OS X 10.2 and earlier. Merged
down from -RELEASE-1-TM and -RELEASE-1
This commit is contained in:
parent
122be5328f
commit
3c2e2d9ae0
|
@ -94,6 +94,29 @@ static void DarwinPressModifierMask(
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef NX_DEVICELCTLKEYMASK
|
||||
#define CONTROL_MASK(flags) (flags & (NX_DEVICELCTLKEYMASK|NX_DEVICERCTLKEYMASK))
|
||||
#else
|
||||
#define CONTROL_MASK(flags) (NX_CONTROLMASK)
|
||||
#endif /* NX_DEVICELCTLKEYMASK */
|
||||
|
||||
#ifdef NX_DEVICELSHIFTKEYMASK
|
||||
#define SHIFT_MASK(flags) (flags & (NX_DEVICELSHIFTKEYMASK|NX_DEVICERSHIFTKEYMASK))
|
||||
#else
|
||||
#define SHIFT_MASK(flags) (NX_SHIFTMASK)
|
||||
#endif /* NX_DEVICELSHIFTKEYMASK */
|
||||
|
||||
#ifdef NX_DEVICELCMDKEYMASK
|
||||
#define COMMAND_MASK(flags) (flags & (NX_DEVICELCMDKEYMASK|NX_DEVICERCMDKEYMASK))
|
||||
#else
|
||||
#define COMMAND_MASK(flags) (NX_COMMANDMASK)
|
||||
#endif /* NX_DEVICELCMDKEYMASK */
|
||||
|
||||
#ifdef NX_DEVICELALTKEYMASK
|
||||
#define ALTERNATE_MASK(flags) (flags & (NX_DEVICELALTKEYMASK|NX_DEVICERALTKEYMASK))
|
||||
#else
|
||||
#define ALTERNATE_MASK(flags) (NX_ALTERNATEMASK)
|
||||
#endif /* NX_DEVICELALTKEYMASK */
|
||||
|
||||
/*
|
||||
* DarwinUpdateModifiers
|
||||
|
@ -109,20 +132,16 @@ static void DarwinUpdateModifiers(
|
|||
DarwinPressModifierMask(xe, NX_ALPHASHIFTMASK);
|
||||
}
|
||||
if (flags & NX_COMMANDMASK) {
|
||||
DarwinPressModifierMask(xe,
|
||||
flags & (NX_DEVICELCMDKEYMASK|NX_DEVICERCMDKEYMASK));
|
||||
DarwinPressModifierMask(xe, COMMAND_MASK(flags));
|
||||
}
|
||||
if (flags & NX_CONTROLMASK) {
|
||||
DarwinPressModifierMask(xe,
|
||||
flags & (NX_DEVICELCTLKEYMASK|NX_DEVICERCTLKEYMASK));
|
||||
DarwinPressModifierMask(xe, CONTROL_MASK(flags));
|
||||
}
|
||||
if (flags & NX_ALTERNATEMASK) {
|
||||
DarwinPressModifierMask(xe,
|
||||
flags & (NX_DEVICELALTKEYMASK|NX_DEVICERALTKEYMASK));
|
||||
DarwinPressModifierMask(xe, ALTERNATE_MASK(flags));
|
||||
}
|
||||
if (flags & NX_SHIFTMASK) {
|
||||
DarwinPressModifierMask(xe,
|
||||
flags & (NX_DEVICELSHIFTKEYMASK|NX_DEVICERSHIFTKEYMASK));
|
||||
DarwinPressModifierMask(xe, SHIFT_MASK(flags));
|
||||
}
|
||||
if (flags & NX_SECONDARYFNMASK) {
|
||||
DarwinPressModifierMask(xe, NX_SECONDARYFNMASK);
|
||||
|
|
|
@ -657,7 +657,6 @@ Bool DarwinParseNXKeyMapping(
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* DarwinBuildModifierMaps
|
||||
* Use the keyMap field of keyboard info structure to populate
|
||||
|
@ -685,7 +684,11 @@ DarwinBuildModifierMaps(
|
|||
break;
|
||||
|
||||
case XK_Shift_R:
|
||||
#ifdef NX_MODIFIERKEY_RSHIFT
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_RSHIFT][0] = i;
|
||||
#else
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i;
|
||||
#endif
|
||||
info->modMap[MIN_KEYCODE + i] = ShiftMask;
|
||||
break;
|
||||
|
||||
|
@ -695,7 +698,11 @@ DarwinBuildModifierMaps(
|
|||
break;
|
||||
|
||||
case XK_Control_R:
|
||||
#ifdef NX_MODIFIERKEY_RCONTROL
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_RCONTROL][0] = i;
|
||||
#else
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i;
|
||||
#endif
|
||||
info->modMap[MIN_KEYCODE + i] = ControlMask;
|
||||
break;
|
||||
|
||||
|
@ -710,7 +717,11 @@ DarwinBuildModifierMaps(
|
|||
break;
|
||||
|
||||
case XK_Alt_R:
|
||||
#ifdef NX_MODIFIERKEY_RALTERNATE
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i;
|
||||
#else
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i;
|
||||
#endif
|
||||
info->modMap[MIN_KEYCODE + i] = Mod1Mask;
|
||||
break;
|
||||
|
||||
|
@ -724,7 +735,11 @@ DarwinBuildModifierMaps(
|
|||
break;
|
||||
|
||||
case XK_Meta_R:
|
||||
#ifdef NX_MODIFIERKEY_RCOMMAND
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_RCOMMAND][0] = i;
|
||||
#else
|
||||
info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i;
|
||||
#endif
|
||||
info->modMap[MIN_KEYCODE + i] = Mod2Mask;
|
||||
break;
|
||||
|
||||
|
@ -842,17 +857,25 @@ int DarwinModifierNXMaskToNXKey(int mask)
|
|||
switch (mask) {
|
||||
case NX_ALPHASHIFTMASK: return NX_MODIFIERKEY_ALPHALOCK;
|
||||
case NX_SHIFTMASK: return NX_MODIFIERKEY_SHIFT;
|
||||
#ifdef NX_DEVICELSHIFTKEYMASK
|
||||
case NX_DEVICELSHIFTKEYMASK: return NX_MODIFIERKEY_SHIFT;
|
||||
case NX_DEVICERSHIFTKEYMASK: return NX_MODIFIERKEY_RSHIFT;
|
||||
#endif
|
||||
case NX_CONTROLMASK: return NX_MODIFIERKEY_CONTROL;
|
||||
#ifdef NX_DEVICELCTLKEYMASK
|
||||
case NX_DEVICELCTLKEYMASK: return NX_MODIFIERKEY_CONTROL;
|
||||
case NX_DEVICERCTLKEYMASK: return NX_MODIFIERKEY_RCONTROL;
|
||||
#endif
|
||||
case NX_ALTERNATEMASK: return NX_MODIFIERKEY_ALTERNATE;
|
||||
#ifdef NX_DEVICELALTKEYMASK
|
||||
case NX_DEVICELALTKEYMASK: return NX_MODIFIERKEY_ALTERNATE;
|
||||
case NX_DEVICERALTKEYMASK: return NX_MODIFIERKEY_RALTERNATE;
|
||||
#endif
|
||||
case NX_COMMANDMASK: return NX_MODIFIERKEY_COMMAND;
|
||||
#ifdef NX_DEVICELCMDKEYMASK
|
||||
case NX_DEVICELCMDKEYMASK: return NX_MODIFIERKEY_COMMAND;
|
||||
case NX_DEVICERCMDKEYMASK: return NX_MODIFIERKEY_RCOMMAND;
|
||||
#endif
|
||||
case NX_NUMERICPADMASK: return NX_MODIFIERKEY_NUMERICPAD;
|
||||
case NX_HELPMASK: return NX_MODIFIERKEY_HELP;
|
||||
case NX_SECONDARYFNMASK: return NX_MODIFIERKEY_SECONDARYFN;
|
||||
|
@ -869,13 +892,21 @@ int DarwinModifierNXKeyToNXMask(int key)
|
|||
switch (key) {
|
||||
case NX_MODIFIERKEY_ALPHALOCK: return NX_ALPHASHIFTMASK;
|
||||
case NX_MODIFIERKEY_SHIFT: return NX_SHIFTMASK;
|
||||
#ifdef NX_MODIFIERKEY_RSHIFT
|
||||
case NX_MODIFIERKEY_RSHIFT: return NX_SHIFTMASK;
|
||||
#endif
|
||||
case NX_MODIFIERKEY_CONTROL: return NX_CONTROLMASK;
|
||||
#ifdef NX_MODIFIERKEY_RCONTROL
|
||||
case NX_MODIFIERKEY_RCONTROL: return NX_CONTROLMASK;
|
||||
#endif
|
||||
case NX_MODIFIERKEY_ALTERNATE: return NX_ALTERNATEMASK;
|
||||
#ifdef NX_MODIFIERKEY_RALTERNATE
|
||||
case NX_MODIFIERKEY_RALTERNATE: return NX_ALTERNATEMASK;
|
||||
#endif
|
||||
case NX_MODIFIERKEY_COMMAND: return NX_COMMANDMASK;
|
||||
#ifdef NX_MODIFIERKEY_RCOMMAND
|
||||
case NX_MODIFIERKEY_RCOMMAND: return NX_COMMANDMASK;
|
||||
#endif
|
||||
case NX_MODIFIERKEY_NUMERICPAD: return NX_NUMERICPADMASK;
|
||||
case NX_MODIFIERKEY_HELP: return NX_HELPMASK;
|
||||
case NX_MODIFIERKEY_SECONDARYFN: return NX_SECONDARYFNMASK;
|
||||
|
|
Loading…
Reference in New Issue