bug #240 Instead of both Meta keys generating Meta_L, and both Alt keys

generating Alt_L, etc, fix the implementation so that you get Meta_L
    for the left Meta key and Meta_R for the right Meta key. Ditto for Alt,
    Control, and Shift.
This commit is contained in:
Kaleb Keithley 2004-02-29 20:11:11 +00:00
parent bb93fef987
commit f81d63ec53
11 changed files with 151 additions and 39 deletions

View File

@ -5,7 +5,18 @@
\vieww9000\viewh9000\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -151,4 +162,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww5160\viewh6300\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -151,4 +162,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww5160\viewh4480\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -149,4 +160,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Int\'8egration dans le projet XFree86 pour la version 4.0.2}
\f2\i Int\'8egration dans le projet XFree86 pour la version 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww5160\viewh6300\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -151,4 +162,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww13980\viewh11160\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper
@ -164,4 +175,4 @@ Dave Zarzycki\
\f1 \
Torrey T. Lyons\
XFree86 4.0.2
\f3 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67\'82\'d6\'82\'cc\'93\'9d\'8d\'87}
\f3 \'83\'76\'83\'8d\'83\'57\'83\'46\'83\'4e\'83\'67\'82\'d6\'82\'cc\'93\'9d\'8d\'87}

View File

@ -5,7 +5,18 @@
\vieww5140\viewh4980\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -156,4 +167,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integra\'8d\'8bo dentro do Projeto XFree86 na vers\'8bo 4.0.2}
\f2\i Integra\'8d\'8bo dentro do Projeto XFree86 na vers\'8bo 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww5160\viewh6300\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -151,4 +162,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww5160\viewh6300\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -151,4 +162,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -5,7 +5,18 @@
\vieww5160\viewh6300\viewkind0
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\b\fs24 \cf0 Contributors to XFree86 4.4:
\f0\b\fs24 \cf0 Contributors to X.Org Foundation Release:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 Kaleb KEITHLEY\
\f2\i Working Left and Right Meta (Command), Alt, Control, and Shift keys
\f1\i0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\f0\b \cf0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\cf0 Contributors to XFree86 4.4:
\f1\b0 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 John Harper\
@ -151,4 +162,4 @@ Dave Zarzycki\
\f1\i0 \
Torrey T. Lyons\
\f2\i Integration into XFree86 Project for 4.0.2}
\f2\i Integration into XFree86 Project for 4.0.2}

View File

@ -3,6 +3,7 @@
*/
/*
Copyright (c) 2002 Torrey T. Lyons. All Rights Reserved.
Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved.
This file is based on mieq.c by Keith Packard,
which contains the following copyright:
@ -108,16 +109,20 @@ static void DarwinUpdateModifiers(
DarwinPressModifierMask(xe, NX_ALPHASHIFTMASK);
}
if (flags & NX_COMMANDMASK) {
DarwinPressModifierMask(xe, NX_COMMANDMASK);
DarwinPressModifierMask(xe,
flags & (NX_DEVICELCMDKEYMASK|NX_DEVICERCMDKEYMASK));
}
if (flags & NX_CONTROLMASK) {
DarwinPressModifierMask(xe, NX_CONTROLMASK);
DarwinPressModifierMask(xe,
flags & (NX_DEVICELCTLKEYMASK|NX_DEVICERCTLKEYMASK));
}
if (flags & NX_ALTERNATEMASK) {
DarwinPressModifierMask(xe, NX_ALTERNATEMASK);
DarwinPressModifierMask(xe,
flags & (NX_DEVICELALTKEYMASK|NX_DEVICERALTKEYMASK));
}
if (flags & NX_SHIFTMASK) {
DarwinPressModifierMask(xe, NX_SHIFTMASK);
DarwinPressModifierMask(xe,
flags & (NX_DEVICELSHIFTKEYMASK|NX_DEVICERSHIFTKEYMASK));
}
if (flags & NX_SECONDARYFNMASK) {
DarwinPressModifierMask(xe, NX_SECONDARYFNMASK);

View File

@ -2,6 +2,7 @@
//
// Keyboard support for the Darwin X Server
//
// Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved.
// Copyright (c) 2001-2003 Torrey T. Lyons. All Rights Reserved.
// Copyright (c) 2003 Apple Computer, Inc. All Rights Reserved.
//
@ -684,7 +685,7 @@ DarwinBuildModifierMaps(
break;
case XK_Shift_R:
info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][1] = i;
info->modifierKeycodes[NX_MODIFIERKEY_RSHIFT][0] = i;
info->modMap[MIN_KEYCODE + i] = ShiftMask;
break;
@ -694,7 +695,7 @@ DarwinBuildModifierMaps(
break;
case XK_Control_R:
info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][1] = i;
info->modifierKeycodes[NX_MODIFIERKEY_RCONTROL][0] = i;
info->modMap[MIN_KEYCODE + i] = ControlMask;
break;
@ -709,7 +710,7 @@ DarwinBuildModifierMaps(
break;
case XK_Alt_R:
info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][1] = i;
info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i;
info->modMap[MIN_KEYCODE + i] = Mod1Mask;
break;
@ -723,7 +724,7 @@ DarwinBuildModifierMaps(
break;
case XK_Meta_R:
info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][1] = i;
info->modifierKeycodes[NX_MODIFIERKEY_RCOMMAND][0] = i;
info->modMap[MIN_KEYCODE + i] = Mod2Mask;
break;
@ -750,11 +751,6 @@ DarwinBuildModifierMaps(
break;
}
}
#if ALT_IS_MODE_SWITCH
if (k[0] == XK_Alt_L || k[0] == XK_Alt_R)
k[0] = XK_Mode_switch;
#endif
}
}
@ -844,14 +840,22 @@ int DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide)
int DarwinModifierNXMaskToNXKey(int mask)
{
switch (mask) {
case NX_ALPHASHIFTMASK: return NX_MODIFIERKEY_ALPHALOCK;
case NX_SHIFTMASK: return NX_MODIFIERKEY_SHIFT;
case NX_CONTROLMASK: return NX_MODIFIERKEY_CONTROL;
case NX_ALTERNATEMASK: return NX_MODIFIERKEY_ALTERNATE;
case NX_COMMANDMASK: return NX_MODIFIERKEY_COMMAND;
case NX_NUMERICPADMASK: return NX_MODIFIERKEY_NUMERICPAD;
case NX_HELPMASK: return NX_MODIFIERKEY_HELP;
case NX_SECONDARYFNMASK: return NX_MODIFIERKEY_SECONDARYFN;
case NX_ALPHASHIFTMASK: return NX_MODIFIERKEY_ALPHALOCK;
case NX_SHIFTMASK: return NX_MODIFIERKEY_SHIFT;
case NX_DEVICELSHIFTKEYMASK: return NX_MODIFIERKEY_SHIFT;
case NX_DEVICERSHIFTKEYMASK: return NX_MODIFIERKEY_RSHIFT;
case NX_CONTROLMASK: return NX_MODIFIERKEY_CONTROL;
case NX_DEVICELCTLKEYMASK: return NX_MODIFIERKEY_CONTROL;
case NX_DEVICERCTLKEYMASK: return NX_MODIFIERKEY_RCONTROL;
case NX_ALTERNATEMASK: return NX_MODIFIERKEY_ALTERNATE;
case NX_DEVICELALTKEYMASK: return NX_MODIFIERKEY_ALTERNATE;
case NX_DEVICERALTKEYMASK: return NX_MODIFIERKEY_RALTERNATE;
case NX_COMMANDMASK: return NX_MODIFIERKEY_COMMAND;
case NX_DEVICELCMDKEYMASK: return NX_MODIFIERKEY_COMMAND;
case NX_DEVICERCMDKEYMASK: return NX_MODIFIERKEY_RCOMMAND;
case NX_NUMERICPADMASK: return NX_MODIFIERKEY_NUMERICPAD;
case NX_HELPMASK: return NX_MODIFIERKEY_HELP;
case NX_SECONDARYFNMASK: return NX_MODIFIERKEY_SECONDARYFN;
}
return -1;
}
@ -865,9 +869,13 @@ int DarwinModifierNXKeyToNXMask(int key)
switch (key) {
case NX_MODIFIERKEY_ALPHALOCK: return NX_ALPHASHIFTMASK;
case NX_MODIFIERKEY_SHIFT: return NX_SHIFTMASK;
case NX_MODIFIERKEY_RSHIFT: return NX_SHIFTMASK;
case NX_MODIFIERKEY_CONTROL: return NX_CONTROLMASK;
case NX_MODIFIERKEY_RCONTROL: return NX_CONTROLMASK;
case NX_MODIFIERKEY_ALTERNATE: return NX_ALTERNATEMASK;
case NX_MODIFIERKEY_RALTERNATE: return NX_ALTERNATEMASK;
case NX_MODIFIERKEY_COMMAND: return NX_COMMANDMASK;
case NX_MODIFIERKEY_RCOMMAND: return NX_COMMANDMASK;
case NX_MODIFIERKEY_NUMERICPAD: return NX_NUMERICPADMASK;
case NX_MODIFIERKEY_HELP: return NX_HELPMASK;
case NX_MODIFIERKEY_SECONDARYFN: return NX_SECONDARYFNMASK;