XQuartz: Don't use NX_SECONDARYFNMASK, NX_NUMERICPADMASK, NX_HELPMASK

We don't have keycodes for them, so don't try to use them
This commit is contained in:
Jeremy Huddleston 2008-12-31 12:40:02 -08:00
parent 3eef78eb32
commit cb912aca3a
2 changed files with 8 additions and 10 deletions

View File

@ -977,13 +977,6 @@ static inline int ensure_flag(int flags, int device_independent, int device_depe
modifierFlags = [e modifierFlags];
/* These are the "only" modifier keys we care about */
modifierFlags &= (NX_COMMANDMASK | NX_CONTROLMASK | NX_ALTERNATEMASK | NX_SHIFTMASK |
NX_SECONDARYFNMASK | NX_ALPHASHIFTMASK | NX_NUMERICPADMASK |
NX_HELPMASK | NX_DEVICELCTLKEYMASK | NX_DEVICELSHIFTKEYMASK |
NX_DEVICERSHIFTKEYMASK | NX_DEVICELCMDKEYMASK | NX_DEVICERCMDKEYMASK |
NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK | NX_DEVICERCTLKEYMASK);
#ifdef NX_DEVICELCMDKEYMASK
/* This is to workaround a bug in the VNC server where we sometimes see the L
* modifier and sometimes see no "side"

View File

@ -147,7 +147,6 @@ static void DarwinPressModifierKey(int pressed, int key) {
*/
static int modifier_mask_list[] = {
NX_SECONDARYFNMASK, NX_NUMERICPADMASK, NX_HELPMASK,
#ifdef NX_DEVICELCMDKEYMASK
NX_DEVICELCTLKEYMASK, NX_DEVICERCTLKEYMASK,
NX_DEVICELSHIFTKEYMASK, NX_DEVICERSHIFTKEYMASK,
@ -164,6 +163,7 @@ static void DarwinUpdateModifiers(
int flags ) // modifier flags that have changed
{
int *f;
int key;
/* Capslock is special. This mask is the state of capslock (on/off),
* not the state of the button. Hopefully we can find a better solution.
@ -174,8 +174,13 @@ static void DarwinUpdateModifiers(
}
for(f=modifier_mask_list; *f; f++)
if(*f & flags)
DarwinPressModifierKey(pressed, DarwinModifierNXMaskToNXKey(*f));
if(*f & flags) {
key = DarwinModifierNXMaskToNXKey(*f);
if(key == -1)
ErrorF("DarwinUpdateModifiers: Unsupported NXMask: 0x%x\n", *f);
else
DarwinPressModifierKey(pressed, key);
}
}
/* Generic handler for Xquartz-specifc events. When possible, these should