XQuartz: Setup the modifier map in the quartz thread

This avoids possible doing it twice which could result in incorrect
keycodes for alt due to our loss of information about its side.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
(cherry picked from commit 6008cc1164)
This commit is contained in:
Jeremy Huddleston 2010-01-11 18:02:55 -08:00 committed by Jeremy Huddleston
parent b852834bb1
commit 268c00d24b

View File

@ -260,6 +260,7 @@ static void DarwinBuildModifierMaps(darwinKeyboardInfo *info) {
break;
case XK_Mode_switch:
ErrorF("DarwinBuildModifierMaps: XK_Mode_switch encountered, unable to determine side.\n");
info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i;
#ifdef NX_MODIFIERKEY_RALTERNATE
info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i;
@ -388,7 +389,6 @@ void DarwinKeyboardReloadHandler(void) {
pthread_mutex_lock(&keyInfo_mutex); {
/* Initialize our keySyms */
DarwinBuildModifierMaps(&keyInfo);
keySyms.map = keyInfo.keyMap;
keySyms.mapWidth = GLYPHS_PER_KEY;
keySyms.minKeyCode = MIN_KEYCODE;
@ -808,5 +808,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
}
}
DarwinBuildModifierMaps(info);
return TRUE;
}