summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2012-09-25 20:51:31 -0700
committerSam Lantinga <slouken@libsdl.org>2012-09-25 20:51:31 -0700
commitc0bfdea2c020aa93aaad6516a3c5bd071bd2d2d5 (patch)
tree873bac6107194b2d3538df917fadf85ecb39e505
parent1fe4f35c63d6a6854cafe1dcc1aced4c92a4a6bf (diff)
downloadsdl-c0bfdea2c020aa93aaad6516a3c5bd071bd2d2d5.tar.gz
NetBSD wscons support by wiz
-rw-r--r--src/video/wscons/SDL_wsconsevents.c8
-rw-r--r--src/video/wscons/SDL_wsconsvideo.c12
2 files changed, 18 insertions, 2 deletions
diff --git a/src/video/wscons/SDL_wsconsevents.c b/src/video/wscons/SDL_wsconsevents.c
index 635b972f0..b7c0d1ec7 100644
--- a/src/video/wscons/SDL_wsconsevents.c
+++ b/src/video/wscons/SDL_wsconsevents.c
@@ -146,8 +146,11 @@ void WSCONS_InitOSKeymap(_THIS)
}
switch (private->kbdType) {
-#ifdef WSKBD_TYPE_ZAURUS
+#if defined(__NetBSD__) || !defined(WSKBD_TYPE_ZAURUS)
+ default:
+#else
case WSKBD_TYPE_ZAURUS:
+#endif
/* top row */
keymap[2] = SDLK_1;
keymap[3] = SDLK_2;
@@ -220,12 +223,13 @@ void WSCONS_InitOSKeymap(_THIS)
keymap[77] = SDLK_RIGHT;
keymap[80] = SDLK_DOWN;
break;
-#endif /* WSKBD_TYPE_ZAURUS */
+#if !defined(__NetBSD__) && defined(WSKBD_TYPE_ZAURUS)
default:
WSCONS_ReportError("Unable to map keys for keyboard type %u",
private->kbdType);
break;
+#endif
}
}
diff --git a/src/video/wscons/SDL_wsconsvideo.c b/src/video/wscons/SDL_wsconsvideo.c
index 0e850d13e..2ef404eda 100644
--- a/src/video/wscons/SDL_wsconsvideo.c
+++ b/src/video/wscons/SDL_wsconsvideo.c
@@ -141,7 +141,13 @@ VideoBootStrap WSCONS_bootstrap = {
WSCONS_CreateDevice
};
+#ifdef __NetBSD__
+#define WSCONSDEV_FORMAT "/dev/ttyE%01x"
+#endif
+
+#ifdef __OpenBSD__
#define WSCONSDEV_FORMAT "/dev/ttyC%01x"
+#endif
int WSCONS_VideoInit(_THIS, SDL_PixelFormat *vformat)
{
@@ -184,6 +190,11 @@ int WSCONS_VideoInit(_THIS, SDL_PixelFormat *vformat)
return -1;
}
if (private->info.depth > 8) {
+#ifdef __NetBSD__
+ private->greenMask = 0x00ff00;
+ private->blueMask = 0x0000ff;
+ private->redMask = 0xff0000;
+#else
if (wstype == WSDISPLAY_TYPE_SUN24 ||
wstype == WSDISPLAY_TYPE_SUNCG12 ||
wstype == WSDISPLAY_TYPE_SUNCG14 ||
@@ -202,6 +213,7 @@ int WSCONS_VideoInit(_THIS, SDL_PixelFormat *vformat)
WSCONS_ReportError("Unknown video hardware");
return -1;
}
+#endif
} else {
WSCONS_ReportError("Displays with 8 bpp or less are not supported");
return -1;