summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-03-15 08:26:58 -0700
committerKeith Packard <keithp@keithp.com>2010-03-15 08:26:58 -0700
commitdf9b6f16b27398545cd4cff8a56dd59a3813351d (patch)
treea2532b6b25b42f7b82fd49c26525477024e08fb3
parent5f169f54936c9868ad0f3778cb95c1f35eef41ea (diff)
parent5172253bae3b9867118c6717434e73c173acd5e9 (diff)
Merge remote branch 'jeremyhu/master'
-rw-r--r--hw/xquartz/GL/capabilities.c4
-rw-r--r--hw/xquartz/GL/indirect.c2
-rw-r--r--hw/xquartz/darwin.c6
-rw-r--r--hw/xquartz/quartzKeyboard.c16
4 files changed, 16 insertions, 12 deletions
diff --git a/hw/xquartz/GL/capabilities.c b/hw/xquartz/GL/capabilities.c
index 5f1f87013..2c5ec658c 100644
--- a/hw/xquartz/GL/capabilities.c
+++ b/hw/xquartz/GL/capabilities.c
@@ -31,6 +31,10 @@
#include "capabilities.h"
+#define Cursor X_Cursor
+#include "os.h"
+#undef Cursor
+
static void handleBufferModes(struct glCapabilitiesConfig *c, GLint bufferModes) {
if(bufferModes & kCGLStereoscopicBit) {
c->stereo = true;
diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
index 44380ffa0..c092c1d17 100644
--- a/hw/xquartz/GL/indirect.c
+++ b/hw/xquartz/GL/indirect.c
@@ -471,7 +471,7 @@ static int __glXAquaContextForceCurrent(__GLXcontext *baseContext)
}
/* Drawing surface notification callbacks */
-static GLboolean __glXAquaDrawableSwapBuffers(__GLXdrawable *base) {
+static GLboolean __glXAquaDrawableSwapBuffers(ClientPtr client, __GLXdrawable *base) {
CGLError err;
__GLXAquaDrawable *drawable;
diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c
index 3feacdc05..066f5a596 100644
--- a/hw/xquartz/darwin.c
+++ b/hw/xquartz/darwin.c
@@ -45,6 +45,7 @@
#include "site.h"
#include "globals.h"
#include "dix.h"
+#include "xkbsrv.h"
#include <X11/extensions/XI.h>
#include <X11/extensions/XIproto.h>
@@ -461,6 +462,11 @@ int DarwinParseModifierList(const char *constmodifiers, int separatelr)
*/
void InitInput( int argc, char **argv )
{
+ XkbRMLVOSet rmlvo = { .rules = "base", .model = "empty", .layout = "empty",
+ .variant = NULL, .options = NULL };
+ /* We need to really have rules... or something... */
+ XkbSetRulesDflts(&rmlvo);
+
darwinKeyboard = AddInputDevice(serverClient, DarwinKeybdProc, TRUE);
RegisterKeyboardDevice( darwinKeyboard );
darwinKeyboard->name = strdup("keyboard");
diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c
index 3b4eac31c..7e36a9aa3 100644
--- a/hw/xquartz/quartzKeyboard.c
+++ b/hw/xquartz/quartzKeyboard.c
@@ -301,9 +301,6 @@ void DarwinKeyboardInit(DeviceIntPtr pDev) {
// for a kIOHIDParamConnectType connection.
assert(darwinParamConnect = NXOpenEventStatus());
- /* We need to really have rules... or something... */
- //XkbSetRulesDflts("base", "pc105", "us", NULL, NULL);
-
InitKeyboardDeviceStruct(pDev, NULL, DarwinKeyboardBell, DarwinChangeKeyboardControl);
DarwinKeyboardReloadHandler();
@@ -775,12 +772,9 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
#endif
}
- // There seems to be an issue with this in 1.5+, shift-space is not
- // producing space, it's sending NoSymbol... ?
- //if (k[3] == k[2]) k[3] = NoSymbol;
- //if (k[1] == k[0]) k[1] = NoSymbol;
- //if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol;
- //if (k[3] == k[0] && k[2] == k[1] && k[2] == NoSymbol) k[3] = NoSymbol;
+ if (k[3] == k[2]) k[3] = NoSymbol;
+ if (k[1] == k[0]) k[1] = NoSymbol;
+ if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol;
}
/* Fix up some things that are normally missing.. */
@@ -791,7 +785,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
if (k[0] == NoSymbol && k[1] == NoSymbol
&& k[2] == NoSymbol && k[3] == NoSymbol)
- k[0] = k[1] = k[2] = k[3] = known_keys[i].keysym;
+ k[0] = known_keys[i].keysym;
}
}
@@ -804,7 +798,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) {
k = info->keyMap + known_numeric_keys[i].keycode * GLYPHS_PER_KEY;
if (k[0] == known_numeric_keys[i].normal)
- k[0] = k[1] = k[2] = k[3] = known_numeric_keys[i].keypad;
+ k[0] = known_numeric_keys[i].keypad;
}
}