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:
Kaleb Keithley 2004-03-21 22:55:35 +00:00
parent 122be5328f
commit 3c2e2d9ae0
2 changed files with 59 additions and 9 deletions

View File

@ -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);

View File

@ -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;