1.1 --- a/src/video/ataricommon/SDL_biosevents.c Thu Feb 23 04:16:08 2006 +0000
1.2 +++ b/src/video/ataricommon/SDL_biosevents.c Thu Feb 23 21:51:10 2006 +0000
1.3 @@ -37,6 +37,7 @@
1.4 #include "SDL_atarikeys.h"
1.5 #include "SDL_atarievents_c.h"
1.6 #include "SDL_xbiosevents_c.h"
1.7 +#include "SDL_ataridevmouse_c.h"
1.8
1.9 /* To save state of keyboard */
1.10 #define ATARIBIOS_MAXKEYS 128
1.11 @@ -44,6 +45,7 @@
1.12 static unsigned char bios_currentkeyboard[ATARIBIOS_MAXKEYS];
1.13 static unsigned char bios_previouskeyboard[ATARIBIOS_MAXKEYS];
1.14 static unsigned char bios_currentascii[ATARIBIOS_MAXKEYS];
1.15 +static SDL_bool use_dev_mouse = SDL_FALSE;
1.16
1.17 /* Special keys state */
1.18 enum {
1.19 @@ -101,7 +103,12 @@
1.20 keymap[SCANCODE_LEFTALT] = SDLK_LALT;
1.21 keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
1.22
1.23 - vectors_mask = ATARI_XBIOS_MOUSEEVENTS|ATARI_XBIOS_JOYSTICKEVENTS;
1.24 + use_dev_mouse = (SDL_AtariDevMouse_Open()!=0) ? SDL_TRUE : SDL_FALSE;
1.25 +
1.26 + vectors_mask = ATARI_XBIOS_JOYSTICKEVENTS; /* XBIOS joystick events */
1.27 + if (!use_dev_mouse) {
1.28 + vectors_mask |= ATARI_XBIOS_MOUSEEVENTS; /* XBIOS mouse events */
1.29 + }
1.30 if (Getcookie(C_MiNT, &dummy)==C_FOUND) {
1.31 vectors_mask = 0;
1.32 }
1.33 @@ -146,7 +153,11 @@
1.34 TranslateKey(i, bios_currentascii[i], &keysym, SDL_FALSE));
1.35 }
1.36
1.37 - SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE);
1.38 + if (use_dev_mouse) {
1.39 + SDL_AtariDevMouse_PostMouseEvents(this, SDL_TRUE);
1.40 + } else {
1.41 + SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE);
1.42 + }
1.43
1.44 /* Will be previous table */
1.45 SDL_memcpy(bios_previouskeyboard, bios_currentkeyboard, ATARIBIOS_MAXKEYS);
1.46 @@ -192,4 +203,7 @@
1.47 void AtariBios_ShutdownEvents(void)
1.48 {
1.49 SDL_AtariXbios_RestoreVectors();
1.50 + if (use_dev_mouse) {
1.51 + SDL_AtariDevMouse_Close();
1.52 + }
1.53 }