diff src/video/ataricommon/SDL_ikbdevents.c @ 1895:c121d94672cb

SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 10 Jul 2006 21:04:37 +0000
parents d910939febfa
children d20f4510c718
line wrap: on
line diff
--- a/src/video/ataricommon/SDL_ikbdevents.c	Thu Jul 06 18:01:37 2006 +0000
+++ b/src/video/ataricommon/SDL_ikbdevents.c	Mon Jul 10 21:04:37 2006 +0000
@@ -38,14 +38,15 @@
 #include "SDL_ikbdinterrupt_s.h"
 
 /* Special keys state */
-enum {
-	K_RSHIFT=0,
-	K_LSHIFT,
-	K_CTRL,
-	K_ALT,
-	K_CAPSLOCK,
-	K_CLRHOME,
-	K_INSERT
+enum
+{
+    K_RSHIFT = 0,
+    K_LSHIFT,
+    K_CTRL,
+    K_ALT,
+    K_CAPSLOCK,
+    K_CLRHOME,
+    K_INSERT
 };
 
 #define ATARIBIOS_MAXKEYS 128
@@ -57,191 +58,201 @@
 /* The translation tables from a console scancode to a SDL keysym */
 #define KT_NOCHANGE -1
 
-enum {
-	KT_UNSHIFT=0,
-	KT_SHIFT=1,
-	KT_CAPS=2
+enum
+{
+    KT_UNSHIFT = 0,
+    KT_SHIFT = 1,
+    KT_CAPS = 2
 };
 
-static Uint16 atari_prevmouseb;	/* save state of mouse buttons */
-static int caps_state;			/* caps lock state */
+static Uint16 atari_prevmouseb; /* save state of mouse buttons */
+static int caps_state;          /* caps lock state */
 _KEYTAB *curtables;
 static unsigned char *tab_unshift, *tab_shift, *tab_caps;
 static SDLKey keymap[ATARIBIOS_MAXKEYS];
 
-static SDL_keysym *TranslateKey(int scancode, int numkeytable, SDL_keysym *keysym,
-	SDL_bool pressed);
+static SDL_keysym *TranslateKey(int scancode, int numkeytable,
+                                SDL_keysym * keysym, SDL_bool pressed);
 
-void AtariIkbd_InitOSKeymap(_THIS)
+void
+AtariIkbd_InitOSKeymap(_THIS)
 {
-	int i;
-
-	SDL_memset(SDL_AtariIkbd_keyboard, KEY_UNDEFINED, ATARIBIOS_MAXKEYS);
-
-	/* Initialize keymap */
-	for ( i=0; i<sizeof(keymap); i++ )
-		keymap[i] = SDLK_UNKNOWN;
+    int i;
 
-	/* Functions keys */
-	for ( i = 0; i<10; i++ )
-		keymap[SCANCODE_F1 + i] = SDLK_F1+i;
+    SDL_memset(SDL_AtariIkbd_keyboard, KEY_UNDEFINED, ATARIBIOS_MAXKEYS);
 
-	/* Cursor keypad */
-	keymap[SCANCODE_HELP] = SDLK_HELP;
-	keymap[SCANCODE_UNDO] = SDLK_UNDO;
-	keymap[SCANCODE_INSERT] = SDLK_INSERT;
-	keymap[SCANCODE_CLRHOME] = SDLK_HOME;
-	keymap[SCANCODE_UP] = SDLK_UP;
-	keymap[SCANCODE_DOWN] = SDLK_DOWN;
-	keymap[SCANCODE_RIGHT] = SDLK_RIGHT;
-	keymap[SCANCODE_LEFT] = SDLK_LEFT;
+    /* Initialize keymap */
+    for (i = 0; i < sizeof(keymap); i++)
+        keymap[i] = SDLK_UNKNOWN;
+
+    /* Functions keys */
+    for (i = 0; i < 10; i++)
+        keymap[SCANCODE_F1 + i] = SDLK_F1 + i;
 
-	/* Special keys */
-	keymap[SCANCODE_ESCAPE] = SDLK_ESCAPE;
-	keymap[SCANCODE_BACKSPACE] = SDLK_BACKSPACE;
-	keymap[SCANCODE_TAB] = SDLK_TAB;
-	keymap[SCANCODE_ENTER] = SDLK_RETURN;
-	keymap[SCANCODE_DELETE] = SDLK_DELETE;
-	keymap[SCANCODE_LEFTCONTROL] = SDLK_LCTRL;
-	keymap[SCANCODE_LEFTSHIFT] = SDLK_LSHIFT;
-	keymap[SCANCODE_RIGHTSHIFT] = SDLK_RSHIFT;
-	keymap[SCANCODE_LEFTALT] = SDLK_LALT;
-	keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
+    /* Cursor keypad */
+    keymap[SCANCODE_HELP] = SDLK_HELP;
+    keymap[SCANCODE_UNDO] = SDLK_UNDO;
+    keymap[SCANCODE_INSERT] = SDLK_INSERT;
+    keymap[SCANCODE_CLRHOME] = SDLK_HOME;
+    keymap[SCANCODE_UP] = SDLK_UP;
+    keymap[SCANCODE_DOWN] = SDLK_DOWN;
+    keymap[SCANCODE_RIGHT] = SDLK_RIGHT;
+    keymap[SCANCODE_LEFT] = SDLK_LEFT;
 
-	/* Read XBIOS tables for scancode -> ascii translation */
-	curtables=Keytbl(KT_NOCHANGE, KT_NOCHANGE, KT_NOCHANGE);
-	tab_unshift=curtables->unshift;
-	tab_shift=curtables->shift;
-	tab_caps=curtables->caps;
+    /* Special keys */
+    keymap[SCANCODE_ESCAPE] = SDLK_ESCAPE;
+    keymap[SCANCODE_BACKSPACE] = SDLK_BACKSPACE;
+    keymap[SCANCODE_TAB] = SDLK_TAB;
+    keymap[SCANCODE_ENTER] = SDLK_RETURN;
+    keymap[SCANCODE_DELETE] = SDLK_DELETE;
+    keymap[SCANCODE_LEFTCONTROL] = SDLK_LCTRL;
+    keymap[SCANCODE_LEFTSHIFT] = SDLK_LSHIFT;
+    keymap[SCANCODE_RIGHTSHIFT] = SDLK_RSHIFT;
+    keymap[SCANCODE_LEFTALT] = SDLK_LALT;
+    keymap[SCANCODE_CAPSLOCK] = SDLK_CAPSLOCK;
 
-	/* Set Caps lock initial state */
-	caps_state=(Kbshift(-1) & (1<<K_CAPSLOCK));
+    /* Read XBIOS tables for scancode -> ascii translation */
+    curtables = Keytbl(KT_NOCHANGE, KT_NOCHANGE, KT_NOCHANGE);
+    tab_unshift = curtables->unshift;
+    tab_shift = curtables->shift;
+    tab_caps = curtables->caps;
 
-	/* Now install our handler */
-	SDL_AtariIkbd_mouseb = SDL_AtariIkbd_mousex = SDL_AtariIkbd_mousey = 0;
-	atari_prevmouseb = 0;
+    /* Set Caps lock initial state */
+    caps_state = (Kbshift(-1) & (1 << K_CAPSLOCK));
 
-	Supexec(SDL_AtariIkbdInstall);
+    /* Now install our handler */
+    SDL_AtariIkbd_mouseb = SDL_AtariIkbd_mousex = SDL_AtariIkbd_mousey = 0;
+    atari_prevmouseb = 0;
+
+    Supexec(SDL_AtariIkbdInstall);
 }
 
-static int atari_GetButton(int button)
+static int
+atari_GetButton(int button)
 {
-	switch(button)
-	{
-		case 0:
-			return SDL_BUTTON_RIGHT;
-			break;
-		case 1:
-		default:
-			return SDL_BUTTON_LEFT;
-			break;
-	}
+    switch (button) {
+    case 0:
+        return SDL_BUTTON_RIGHT;
+        break;
+    case 1:
+    default:
+        return SDL_BUTTON_LEFT;
+        break;
+    }
 }
 
-void AtariIkbd_PumpEvents(_THIS)
+void
+AtariIkbd_PumpEvents(_THIS)
 {
-	int i;
-	SDL_keysym keysym;
-	int specialkeys;
+    int i;
+    SDL_keysym keysym;
+    int specialkeys;
 
-	/*--- Send keyboard events ---*/
+        /*--- Send keyboard events ---*/
+
+    /* Update caps lock state */
+    if (SDL_AtariIkbd_keyboard[SCANCODE_CAPSLOCK] == KEY_PRESSED) {
+        caps_state ^= 1;
+    }
 
-	/* Update caps lock state */
-	if (SDL_AtariIkbd_keyboard[SCANCODE_CAPSLOCK]==KEY_PRESSED) {
-		caps_state ^= 1;
-	}
+    /* Choose the translation table */
+    specialkeys = KT_UNSHIFT;
+    if ((SDL_AtariIkbd_keyboard[SCANCODE_LEFTSHIFT] == KEY_PRESSED)
+        || (SDL_AtariIkbd_keyboard[SCANCODE_RIGHTSHIFT] == KEY_PRESSED)) {
+        specialkeys = KT_SHIFT;
+    }
+    if (caps_state) {
+        specialkeys = KT_CAPS;
+    }
 
-	/* Choose the translation table */
-	specialkeys=KT_UNSHIFT;
-	if ((SDL_AtariIkbd_keyboard[SCANCODE_LEFTSHIFT]==KEY_PRESSED)
-		|| (SDL_AtariIkbd_keyboard[SCANCODE_RIGHTSHIFT]==KEY_PRESSED))
-	{
-		specialkeys = KT_SHIFT;
-	}
-	if (caps_state) {
-		specialkeys = KT_CAPS;
-	}
+    /* Now generate events */
+    for (i = 0; i < ATARIBIOS_MAXKEYS; i++) {
+        /* Key pressed ? */
+        if (SDL_AtariIkbd_keyboard[i] == KEY_PRESSED) {
+            SDL_PrivateKeyboard(SDL_PRESSED,
+                                TranslateKey(i, specialkeys, &keysym,
+                                             SDL_TRUE));
+            SDL_AtariIkbd_keyboard[i] = KEY_UNDEFINED;
+        }
 
-	/* Now generate events */
-	for (i=0; i<ATARIBIOS_MAXKEYS; i++) {
-		/* Key pressed ? */
-		if (SDL_AtariIkbd_keyboard[i]==KEY_PRESSED) {
-			SDL_PrivateKeyboard(SDL_PRESSED,
-				TranslateKey(i, specialkeys, &keysym, SDL_TRUE));
-			SDL_AtariIkbd_keyboard[i]=KEY_UNDEFINED;
-		}
-			
-		/* Key released ? */
-		if (SDL_AtariIkbd_keyboard[i]==KEY_RELEASED) {
-			SDL_PrivateKeyboard(SDL_RELEASED,
-				TranslateKey(i, specialkeys, &keysym, SDL_FALSE));
-			SDL_AtariIkbd_keyboard[i]=KEY_UNDEFINED;
-		}
-	}
+        /* Key released ? */
+        if (SDL_AtariIkbd_keyboard[i] == KEY_RELEASED) {
+            SDL_PrivateKeyboard(SDL_RELEASED,
+                                TranslateKey(i, specialkeys, &keysym,
+                                             SDL_FALSE));
+            SDL_AtariIkbd_keyboard[i] = KEY_UNDEFINED;
+        }
+    }
 
-	/*--- Send mouse events ---*/
+        /*--- Send mouse events ---*/
+
+    /* Mouse motion ? */
+    if (SDL_AtariIkbd_mousex || SDL_AtariIkbd_mousey) {
+        SDL_PrivateMouseMotion(0, 1, SDL_AtariIkbd_mousex,
+                               SDL_AtariIkbd_mousey);
+        SDL_AtariIkbd_mousex = SDL_AtariIkbd_mousey = 0;
+    }
 
-	/* Mouse motion ? */
-	if (SDL_AtariIkbd_mousex || SDL_AtariIkbd_mousey) {
-		SDL_PrivateMouseMotion(0, 1, SDL_AtariIkbd_mousex, SDL_AtariIkbd_mousey);
-		SDL_AtariIkbd_mousex = SDL_AtariIkbd_mousey = 0;
-	}
+    /* Mouse button ? */
+    if (SDL_AtariIkbd_mouseb != atari_prevmouseb) {
+        for (i = 0; i < 2; i++) {
+            int curbutton, prevbutton;
 
-	/* Mouse button ? */
-	if (SDL_AtariIkbd_mouseb != atari_prevmouseb) {
-		for (i=0;i<2;i++) {
-			int curbutton, prevbutton;
+            curbutton = SDL_AtariIkbd_mouseb & (1 << i);
+            prevbutton = atari_prevmouseb & (1 << i);
 
-			curbutton = SDL_AtariIkbd_mouseb & (1<<i);
-			prevbutton = atari_prevmouseb & (1<<i);
-
-			if (curbutton && !prevbutton) {
-				SDL_PrivateMouseButton(SDL_PRESSED, atari_GetButton(i), 0, 0);
-			}
-			if (!curbutton && prevbutton) {
-				SDL_PrivateMouseButton(SDL_RELEASED, atari_GetButton(i), 0, 0);
-			}
-		}
-		atari_prevmouseb = SDL_AtariIkbd_mouseb;
-	}
+            if (curbutton && !prevbutton) {
+                SDL_PrivateMouseButton(SDL_PRESSED, atari_GetButton(i), 0, 0);
+            }
+            if (!curbutton && prevbutton) {
+                SDL_PrivateMouseButton(SDL_RELEASED,
+                                       atari_GetButton(i), 0, 0);
+            }
+        }
+        atari_prevmouseb = SDL_AtariIkbd_mouseb;
+    }
 }
 
-static SDL_keysym *TranslateKey(int scancode, int numkeytable, SDL_keysym *keysym,
-	SDL_bool pressed)
+static SDL_keysym *
+TranslateKey(int scancode, int numkeytable, SDL_keysym * keysym,
+             SDL_bool pressed)
 {
-	unsigned char asciicode;
+    unsigned char asciicode;
 
-	/* Set the keysym information */
-	keysym->scancode = scancode;
+    /* Set the keysym information */
+    keysym->scancode = scancode;
 
-	asciicode=0;
-	switch(numkeytable) {
-		case KT_UNSHIFT:
-			asciicode=tab_unshift[scancode];
-			break;
-		case KT_SHIFT:
-			asciicode=tab_shift[scancode];
-			break;
-		case KT_CAPS:
-			asciicode=tab_caps[scancode];
-			break;
-	}
+    asciicode = 0;
+    switch (numkeytable) {
+    case KT_UNSHIFT:
+        asciicode = tab_unshift[scancode];
+        break;
+    case KT_SHIFT:
+        asciicode = tab_shift[scancode];
+        break;
+    case KT_CAPS:
+        asciicode = tab_caps[scancode];
+        break;
+    }
 
-	if (asciicode)
-		keysym->sym = asciicode;		
-	else
-		keysym->sym = keymap[scancode];
+    if (asciicode)
+        keysym->sym = asciicode;
+    else
+        keysym->sym = keymap[scancode];
 
-	keysym->mod = KMOD_NONE;
-	keysym->unicode = 0;
-	if (SDL_TranslateUNICODE && pressed) {
-		keysym->unicode = SDL_AtariToUnicodeTable[asciicode];
-	}
+    keysym->mod = KMOD_NONE;
+    keysym->unicode = 0;
+    if (SDL_TranslateUNICODE && pressed) {
+        keysym->unicode = SDL_AtariToUnicodeTable[asciicode];
+    }
 
-	return(keysym);
+    return (keysym);
 }
 
-void AtariIkbd_ShutdownEvents(void)
+void
+AtariIkbd_ShutdownEvents(void)
 {
-	Supexec(SDL_AtariIkbdUninstall);
+    Supexec(SDL_AtariIkbdUninstall);
 }
+
+/* vi: set ts=4 sw=4 expandtab: */