From 6008cc116493cb2825ad0bda0b407b7aefabb3f4 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Mon, 11 Jan 2010 18:02:55 -0800 Subject: [PATCH] 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 --- hw/xquartz/quartzKeyboard.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c index 62b2ebbdf..96b5fa5b6 100644 --- a/hw/xquartz/quartzKeyboard.c +++ b/hw/xquartz/quartzKeyboard.c @@ -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; }