kdrive/sdl: fix compilation
This commit is contained in:
parent
988757a441
commit
332f179db7
|
@ -30,7 +30,6 @@
|
||||||
#include "kdrive-config.h"
|
#include "kdrive-config.h"
|
||||||
#endif
|
#endif
|
||||||
#include "kdrive.h"
|
#include "kdrive.h"
|
||||||
#include "kkeymap.h"
|
|
||||||
#include <SDL/SDL.h>
|
#include <SDL/SDL.h>
|
||||||
#include <X11/keysym.h>
|
#include <X11/keysym.h>
|
||||||
|
|
||||||
|
@ -39,20 +38,20 @@ static Bool sdlScreenInit(KdScreenInfo *screen);
|
||||||
static Bool sdlFinishInitScreen(ScreenPtr pScreen);
|
static Bool sdlFinishInitScreen(ScreenPtr pScreen);
|
||||||
static Bool sdlCreateRes(ScreenPtr pScreen);
|
static Bool sdlCreateRes(ScreenPtr pScreen);
|
||||||
|
|
||||||
static void sdlKeyboardBell (int volume, int pitch, int duration);
|
static void sdlKeyboardFini(KdKeyboardInfo *ki);
|
||||||
static void sdlKeyboardLeds (int leds);
|
static Bool sdlKeyboardInit(KdKeyboardInfo *ki);
|
||||||
static void sdlKeyboardFini(void);
|
|
||||||
static void sdlKeyboardLoad (void);
|
|
||||||
static Bool sdlKeyboardInit(void);
|
|
||||||
|
|
||||||
static Bool sdlMouseInit(void);
|
static Bool sdlMouseInit(KdPointerInfo *pi);
|
||||||
static void sdlMouseFini(void);
|
static void sdlMouseFini(KdPointerInfo *pi);
|
||||||
|
|
||||||
void *sdlShadowWindow (ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, CARD32 *size, void *closure);
|
void *sdlShadowWindow (ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, CARD32 *size, void *closure);
|
||||||
void sdlShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf);
|
void sdlShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf);
|
||||||
|
|
||||||
void sdlTimer(void);
|
void sdlTimer(void);
|
||||||
|
|
||||||
|
KdKeyboardInfo *sdlKeyboard = NULL;
|
||||||
|
KdPointerInfo *sdlPointer = NULL;
|
||||||
|
|
||||||
KeySym sdlKeymap[]={
|
KeySym sdlKeymap[]={
|
||||||
0, /* 8 */
|
0, /* 8 */
|
||||||
0,
|
0,
|
||||||
|
@ -168,51 +167,23 @@ KeySym sdlKeymap[]={
|
||||||
NoSymbol, NoSymbol /* 118 */
|
NoSymbol, NoSymbol /* 118 */
|
||||||
};
|
};
|
||||||
|
|
||||||
//KdMouseInfo *kdMouseInfo;
|
KdKeyboardDriver sdlKeyboardDriver = {
|
||||||
|
.name = "keyboard",
|
||||||
KdKeyboardFuncs sdlKeyboardFuncs = {
|
.Init = sdlKeyboardInit,
|
||||||
sdlKeyboardLoad,
|
.Fini = sdlKeyboardFini,
|
||||||
sdlKeyboardInit,
|
|
||||||
sdlKeyboardLeds,
|
|
||||||
sdlKeyboardBell,
|
|
||||||
sdlKeyboardFini,
|
|
||||||
3,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
KdMouseFuncs sdlMouseFuncs = {
|
KdPointerDriver sdlMouseDriver = {
|
||||||
sdlMouseInit,
|
.name = "mouse",
|
||||||
sdlMouseFini,
|
.Init = sdlMouseInit,
|
||||||
|
.Fini = sdlMouseFini,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
KdCardFuncs sdlFuncs = {
|
KdCardFuncs sdlFuncs = {
|
||||||
0, /* cardinit */
|
.scrinit = sdlScreenInit, /* scrinit */
|
||||||
sdlScreenInit, /* scrinit */
|
.finishInitScreen = sdlFinishInitScreen, /* finishInitScreen */
|
||||||
0, /* initScreen */
|
.createRes = sdlCreateRes, /* createRes */
|
||||||
sdlFinishInitScreen, /* finishInitScreen */
|
|
||||||
sdlCreateRes, /* createRes */
|
|
||||||
0, /* preserve */
|
|
||||||
0, /* enable */
|
|
||||||
0, /* dpms */
|
|
||||||
0, /* disable */
|
|
||||||
0, /* restore */
|
|
||||||
0, /* scrfini */
|
|
||||||
0, /* cardfini */
|
|
||||||
|
|
||||||
0, /* initCursor */
|
|
||||||
0, /* enableCursor */
|
|
||||||
0, /* disableCursor */
|
|
||||||
0, /* finiCursor */
|
|
||||||
0, /* recolorCursor */
|
|
||||||
|
|
||||||
0, /* initAccel */
|
|
||||||
0, /* enableAccel */
|
|
||||||
0, /* syncAccel */
|
|
||||||
0, /* disableAccel */
|
|
||||||
0, /* finiAccel */
|
|
||||||
|
|
||||||
0, /* getColors */
|
|
||||||
0 /* putColors */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int mouseState=0;
|
int mouseState=0;
|
||||||
|
@ -327,52 +298,34 @@ static Bool sdlFinishInitScreen(ScreenPtr pScreen)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sdlKeyboardBell (int volume, int pitch, int duration)
|
static void sdlKeyboardFini(KdKeyboardInfo *ki)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG
|
sdlKeyboard = NULL;
|
||||||
printf("a bell would go here\n");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sdlKeyboardLeds (int leds)
|
static Bool sdlKeyboardInit(KdKeyboardInfo *ki)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG
|
ki->minScanCode = 8;
|
||||||
printf("Leds: %d\n", leds);
|
ki->maxScanCode = 255;
|
||||||
#endif
|
ki->keySyms.minKeyCode = 8;
|
||||||
}
|
ki->keySyms.maxKeyCode = 255;
|
||||||
|
ki->keySyms.mapWidth = 2;
|
||||||
|
memcpy(ki->keySyms.map, sdlKeymap, sizeof(sdlKeymap));
|
||||||
|
|
||||||
static void sdlKeyboardLoad(void)
|
sdlKeyboard = ki;
|
||||||
{
|
|
||||||
int x;
|
|
||||||
kdMinScanCode = 8;
|
|
||||||
kdMaxScanCode = 255;
|
|
||||||
kdMinKeyCode = 8;
|
|
||||||
kdMaxKeyCode = 255;
|
|
||||||
kdKeymapWidth = 2;
|
|
||||||
|
|
||||||
memcpy(kdKeymap, sdlKeymap, sizeof(sdlKeymap));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void sdlKeyboardFini(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static Bool sdlKeyboardInit(void)
|
|
||||||
{
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool sdlMouseInit (void)
|
static Bool sdlMouseInit (KdPointerInfo *pi)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG
|
sdlPointer = pi;
|
||||||
printf("kdMouseInfo: 0x%x\n", kdMouseInfo);
|
|
||||||
#endif
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sdlMouseFini(void)
|
static void sdlMouseFini(KdPointerInfo *pi)
|
||||||
{
|
{
|
||||||
|
sdlPointer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -395,8 +348,18 @@ void InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
||||||
|
|
||||||
void InitInput(int argc, char **argv)
|
void InitInput(int argc, char **argv)
|
||||||
{
|
{
|
||||||
/* FIXME: change this to use SDL key/mouse funcs */
|
KdPointerInfo *pi;
|
||||||
KdInitInput(&sdlMouseFuncs, &sdlKeyboardFuncs);
|
KdKeyboardInfo *ki;
|
||||||
|
|
||||||
|
KdAddKeyboardDriver(&sdlKeyboardDriver);
|
||||||
|
KdAddPointerDriver(&sdlMouseDriver);
|
||||||
|
|
||||||
|
ki = KdParseKeyboard("keyboard");
|
||||||
|
KdAddKeyboard(ki);
|
||||||
|
pi = KdParsePointer("mouse");
|
||||||
|
KdAddPointer(pi);
|
||||||
|
|
||||||
|
KdInitInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ddxUseMsg(void)
|
void ddxUseMsg(void)
|
||||||
|
@ -418,7 +381,7 @@ void sdlTimer(void)
|
||||||
while ( SDL_PollEvent(&event) ) {
|
while ( SDL_PollEvent(&event) ) {
|
||||||
switch (event.type) {
|
switch (event.type) {
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
KdEnqueueMouseEvent(kdMouseInfo, mouseState, event.motion.x, event.motion.y);
|
KdEnqueuePointerEvent(sdlPointer, mouseState, event.motion.x, event.motion.y, 0);
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
switch(event.button.button)
|
switch(event.button.button)
|
||||||
|
@ -434,7 +397,7 @@ void sdlTimer(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mouseState|=buttonState;
|
mouseState|=buttonState;
|
||||||
KdEnqueueMouseEvent(kdMouseInfo, mouseState|KD_MOUSE_DELTA, 0, 0);
|
KdEnqueuePointerEvent(sdlPointer, mouseState|KD_MOUSE_DELTA, 0, 0, 0);
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONUP:
|
case SDL_MOUSEBUTTONUP:
|
||||||
switch(event.button.button)
|
switch(event.button.button)
|
||||||
|
@ -450,14 +413,14 @@ void sdlTimer(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mouseState &= ~buttonState;
|
mouseState &= ~buttonState;
|
||||||
KdEnqueueMouseEvent(kdMouseInfo, mouseState|KD_MOUSE_DELTA, 0, 0);
|
KdEnqueuePointerEvent(sdlPointer, mouseState|KD_MOUSE_DELTA, 0, 0, 0);
|
||||||
break;
|
break;
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
case SDL_KEYUP:
|
case SDL_KEYUP:
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("Keycode: %d\n", event.key.keysym.scancode);
|
printf("Keycode: %d\n", event.key.keysym.scancode);
|
||||||
#endif
|
#endif
|
||||||
KdEnqueueKeyboardEvent (event.key.keysym.scancode, event.type==SDL_KEYUP);
|
KdEnqueueKeyboardEvent (sdlKeyboard, event.key.keysym.scancode, event.type==SDL_KEYUP);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_QUIT:
|
case SDL_QUIT:
|
||||||
|
@ -482,12 +445,9 @@ static void xsdlFini(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
KdOsFuncs sdlOsFuncs={
|
KdOsFuncs sdlOsFuncs={
|
||||||
xsdlInit,
|
.Init = xsdlInit,
|
||||||
0,
|
.Fini = xsdlFini,
|
||||||
0,
|
.pollEvents = sdlTimer,
|
||||||
0,
|
|
||||||
xsdlFini,
|
|
||||||
sdlTimer
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void OsVendorInit (void)
|
void OsVendorInit (void)
|
||||||
|
|
Loading…
Reference in New Issue