Skip to content

Commit b4248f1

Browse files
committed
Fixes to input events
1 parent 95e4459 commit b4248f1

File tree

4 files changed

+72
-5
lines changed

4 files changed

+72
-5
lines changed

Xsdl

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
hw/kdrive/sdl/Xsdl

conf.sh

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
env SDL=yes CFLAGS="-O0 -g" \
3+
./configure --prefix=/usr \
4+
--enable-debug \
5+
--disable-xorg --disable-dmx --disable-xvfb --disable-xnest --disable-xquartz --disable-xwin \
6+
--disable-xephyr --disable-xfake --disable-xfbdev --disable-unit-tests \
7+
--disable-shm --disable-mitshm --disable-dri --disable-dri2 --disable-glx --disable-xf86vidmode \
8+
--enable-xsdl --enable-kdrive --enable-kdrive-kbd --enable-kdrive-mouse --enable-kdrive-evdev \
9+
10+
nice -n19 make -j8

hw/kdrive/sdl/sdl.c

+58-5
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,25 @@
3030
#include <SDL/SDL.h>
3131
#include <X11/keysym.h>
3232

33+
#define DEBUG 1
34+
#define printf(...) fprintf(stderr, __VA_ARGS__)
35+
3336
static void xsdlFini(void);
3437
static Bool sdlScreenInit(KdScreenInfo *screen);
3538
static Bool sdlFinishInitScreen(ScreenPtr pScreen);
3639
static Bool sdlCreateRes(ScreenPtr pScreen);
3740

3841
static void sdlKeyboardFini(KdKeyboardInfo *ki);
39-
static Bool sdlKeyboardInit(KdKeyboardInfo *ki);
42+
static Status sdlKeyboardInit(KdKeyboardInfo *ki);
43+
static Status sdlKeyboardEnable (KdKeyboardInfo *ki);
44+
static void sdlKeyboardDisable (KdKeyboardInfo *ki);
45+
static void sdlKeyboardLeds (KdKeyboardInfo *ki, int leds);
46+
static void sdlKeyboardBell (KdKeyboardInfo *ki, int volume, int frequency, int duration);
4047

4148
static Bool sdlMouseInit(KdPointerInfo *pi);
4249
static void sdlMouseFini(KdPointerInfo *pi);
50+
static Status sdlMouseEnable (KdPointerInfo *pi);
51+
static void sdlMouseDisable (KdPointerInfo *pi);
4352

4453
void *sdlShadowWindow (ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, CARD32 *size, void *closure);
4554
void sdlShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf);
@@ -53,12 +62,18 @@ KdKeyboardDriver sdlKeyboardDriver = {
5362
.name = "keyboard",
5463
.Init = sdlKeyboardInit,
5564
.Fini = sdlKeyboardFini,
65+
.Enable = sdlKeyboardEnable,
66+
.Disable = sdlKeyboardDisable,
67+
.Leds = sdlKeyboardLeds,
68+
.Bell = sdlKeyboardBell,
5669
};
5770

5871
KdPointerDriver sdlMouseDriver = {
5972
.name = "mouse",
6073
.Init = sdlMouseInit,
6174
.Fini = sdlMouseFini,
75+
.Enable = sdlMouseEnable,
76+
.Disable = sdlMouseDisable,
6277
};
6378

6479

@@ -182,30 +197,68 @@ static Bool sdlFinishInitScreen(ScreenPtr pScreen)
182197

183198
static void sdlKeyboardFini(KdKeyboardInfo *ki)
184199
{
200+
#ifdef DEBUG
201+
printf("sdlKeyboardFini() %p\n", ki);
202+
#endif
185203
sdlKeyboard = NULL;
186204
}
187205

188-
static Bool sdlKeyboardInit(KdKeyboardInfo *ki)
206+
static Status sdlKeyboardInit(KdKeyboardInfo *ki)
189207
{
190208
ki->minScanCode = 8;
191209
ki->maxScanCode = 255;
192210

193211
sdlKeyboard = ki;
212+
#ifdef DEBUG
213+
printf("sdlKeyboardInit() %p\n", ki);
214+
#endif
215+
return Success;
216+
}
217+
218+
static Status sdlKeyboardEnable (KdKeyboardInfo *ki)
219+
{
220+
return Success;
221+
}
194222

195-
return TRUE;
223+
static void sdlKeyboardDisable (KdKeyboardInfo *ki)
224+
{
196225
}
197226

198-
static Bool sdlMouseInit (KdPointerInfo *pi)
227+
static void sdlKeyboardLeds (KdKeyboardInfo *ki, int leds)
228+
{
229+
}
230+
231+
static void sdlKeyboardBell (KdKeyboardInfo *ki, int volume, int frequency, int duration)
232+
{
233+
}
234+
235+
static Status sdlMouseInit (KdPointerInfo *pi)
199236
{
200237
sdlPointer = pi;
201-
return TRUE;
238+
#ifdef DEBUG
239+
printf("sdlMouseInit() %p\n", pi);
240+
#endif
241+
return Success;
202242
}
203243

204244
static void sdlMouseFini(KdPointerInfo *pi)
205245
{
246+
#ifdef DEBUG
247+
printf("sdlMouseFini() %p\n", pi);
248+
#endif
206249
sdlPointer = NULL;
207250
}
208251

252+
static Status sdlMouseEnable (KdPointerInfo *pi)
253+
{
254+
return Success;
255+
}
256+
257+
static void sdlMouseDisable (KdPointerInfo *pi)
258+
{
259+
return;
260+
}
261+
209262

210263
void InitCard(char *name)
211264
{

start.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
./Xsdl :1111 -screen 640x480x24 # -mouse mouse -keybd keyboard

0 commit comments

Comments
 (0)