Mercurial > sdl-ios-xcode
diff src/video/ataricommon/SDL_gemdosevents.c @ 1662:782fd950bd46 SDL-1.3
Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.
WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.
The code is now run through a consistent indent format:
indent -i4 -nut -nsc -br -ce
The headers are being converted to automatically generate doxygen documentation.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 28 May 2006 13:04:16 +0000 |
parents | 2405517b5eab |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/src/video/ataricommon/SDL_gemdosevents.c Sun May 21 17:27:13 2006 +0000 +++ b/src/video/ataricommon/SDL_gemdosevents.c Sun May 28 13:04:16 2006 +0000 @@ -48,126 +48,134 @@ static SDL_bool use_dev_mouse = SDL_FALSE; /* 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 }; -enum { - DEV_BUSY=0, - DEV_READY +enum +{ + DEV_BUSY = 0, + DEV_READY }; /* The translation tables from a console scancode to a SDL keysym */ static SDLKey keymap[ATARIBIOS_MAXKEYS]; -static SDL_keysym *TranslateKey(int scancode, int asciicode, SDL_keysym *keysym, - SDL_bool pressed); -static void UpdateSpecialKeys(int special_keys_state); +static SDL_keysym *TranslateKey (int scancode, int asciicode, + SDL_keysym * keysym, SDL_bool pressed); +static void UpdateSpecialKeys (int special_keys_state); -void AtariGemdos_InitOSKeymap(_THIS) +void +AtariGemdos_InitOSKeymap (_THIS) { - int i, vectors_mask; - unsigned long dummy; + int i, vectors_mask; + unsigned long dummy; - SDL_memset(gemdos_currentkeyboard, 0, sizeof(gemdos_currentkeyboard)); - SDL_memset(gemdos_previouskeyboard, 0, sizeof(gemdos_previouskeyboard)); + SDL_memset (gemdos_currentkeyboard, 0, sizeof (gemdos_currentkeyboard)); + SDL_memset (gemdos_previouskeyboard, 0, sizeof (gemdos_previouskeyboard)); - /* Initialize keymap */ - for ( i=0; i<sizeof(keymap); i++ ) - keymap[i] = SDLK_UNKNOWN; + /* 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; + /* Functions keys */ + for (i = 0; i < 10; i++) + keymap[SCANCODE_F1 + i] = SDLK_F1 + i; - /* 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; + /* 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; - /* 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; + /* 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; - use_dev_mouse = (SDL_AtariDevMouse_Open()!=0) ? SDL_TRUE : SDL_FALSE; + use_dev_mouse = (SDL_AtariDevMouse_Open () != 0) ? SDL_TRUE : SDL_FALSE; - vectors_mask = ATARI_XBIOS_JOYSTICKEVENTS; /* XBIOS joystick events */ - if (!use_dev_mouse) { - vectors_mask |= ATARI_XBIOS_MOUSEEVENTS; /* XBIOS mouse events */ - } - if (Getcookie(C_MiNT, &dummy)==C_FOUND) { - vectors_mask = 0; - } - SDL_AtariXbios_InstallVectors(vectors_mask); + vectors_mask = ATARI_XBIOS_JOYSTICKEVENTS; /* XBIOS joystick events */ + if (!use_dev_mouse) { + vectors_mask |= ATARI_XBIOS_MOUSEEVENTS; /* XBIOS mouse events */ + } + if (Getcookie (C_MiNT, &dummy) == C_FOUND) { + vectors_mask = 0; + } + SDL_AtariXbios_InstallVectors (vectors_mask); } -void AtariGemdos_PumpEvents(_THIS) +void +AtariGemdos_PumpEvents (_THIS) { - int i; - SDL_keysym keysym; + int i; + SDL_keysym keysym; - /* Update pressed keys */ - SDL_memset(gemdos_currentkeyboard, 0, ATARIBIOS_MAXKEYS); + /* Update pressed keys */ + SDL_memset (gemdos_currentkeyboard, 0, ATARIBIOS_MAXKEYS); - while (Cconis()!=DEV_BUSY) { - unsigned long key_pressed; - unsigned char scancode, asciicode; + while (Cconis () != DEV_BUSY) { + unsigned long key_pressed; + unsigned char scancode, asciicode; - key_pressed=Cnecin(); + key_pressed = Cnecin (); - asciicode = key_pressed; - scancode = key_pressed >> 16; + asciicode = key_pressed; + scancode = key_pressed >> 16; - gemdos_currentkeyboard[scancode]=0xFF; - gemdos_currentascii[scancode]=asciicode; - } + gemdos_currentkeyboard[scancode] = 0xFF; + gemdos_currentascii[scancode] = asciicode; + } + + /* Read special keys */ + UpdateSpecialKeys (Kbshift (-1)); - /* Read special keys */ - UpdateSpecialKeys(Kbshift(-1)); + /* Now generate events */ + for (i = 0; i < ATARIBIOS_MAXKEYS; i++) { + /* Key pressed ? */ + if (gemdos_currentkeyboard[i] && !gemdos_previouskeyboard[i]) + SDL_PrivateKeyboard (SDL_PRESSED, + TranslateKey (i, gemdos_currentascii[i], + &keysym, SDL_TRUE)); - /* Now generate events */ - for (i=0; i<ATARIBIOS_MAXKEYS; i++) { - /* Key pressed ? */ - if (gemdos_currentkeyboard[i] && !gemdos_previouskeyboard[i]) - SDL_PrivateKeyboard(SDL_PRESSED, - TranslateKey(i, gemdos_currentascii[i], &keysym, SDL_TRUE)); - - /* Key unpressed ? */ - if (gemdos_previouskeyboard[i] && !gemdos_currentkeyboard[i]) - SDL_PrivateKeyboard(SDL_RELEASED, - TranslateKey(i, gemdos_currentascii[i], &keysym, SDL_FALSE)); - } + /* Key unpressed ? */ + if (gemdos_previouskeyboard[i] && !gemdos_currentkeyboard[i]) + SDL_PrivateKeyboard (SDL_RELEASED, + TranslateKey (i, gemdos_currentascii[i], + &keysym, SDL_FALSE)); + } - if (use_dev_mouse) { - SDL_AtariDevMouse_PostMouseEvents(this, SDL_TRUE); - } else { - SDL_AtariXbios_PostMouseEvents(this, SDL_TRUE); - } + if (use_dev_mouse) { + SDL_AtariDevMouse_PostMouseEvents (this, SDL_TRUE); + } else { + SDL_AtariXbios_PostMouseEvents (this, SDL_TRUE); + } - /* Will be previous table */ - SDL_memcpy(gemdos_previouskeyboard, gemdos_currentkeyboard, ATARIBIOS_MAXKEYS); + /* Will be previous table */ + SDL_memcpy (gemdos_previouskeyboard, gemdos_currentkeyboard, + ATARIBIOS_MAXKEYS); } -static void UpdateSpecialKeys(int special_keys_state) +static void +UpdateSpecialKeys (int special_keys_state) { #define UPDATE_SPECIAL_KEYS(numbit,scancode) \ { \ @@ -177,37 +185,41 @@ } \ } - UPDATE_SPECIAL_KEYS(K_RSHIFT, SCANCODE_RIGHTSHIFT); - UPDATE_SPECIAL_KEYS(K_LSHIFT, SCANCODE_LEFTSHIFT); - UPDATE_SPECIAL_KEYS(K_CTRL, SCANCODE_LEFTCONTROL); - UPDATE_SPECIAL_KEYS(K_ALT, SCANCODE_LEFTALT); - UPDATE_SPECIAL_KEYS(K_CAPSLOCK, SCANCODE_CAPSLOCK); + UPDATE_SPECIAL_KEYS (K_RSHIFT, SCANCODE_RIGHTSHIFT); + UPDATE_SPECIAL_KEYS (K_LSHIFT, SCANCODE_LEFTSHIFT); + UPDATE_SPECIAL_KEYS (K_CTRL, SCANCODE_LEFTCONTROL); + UPDATE_SPECIAL_KEYS (K_ALT, SCANCODE_LEFTALT); + UPDATE_SPECIAL_KEYS (K_CAPSLOCK, SCANCODE_CAPSLOCK); } -static SDL_keysym *TranslateKey(int scancode, int asciicode, SDL_keysym *keysym, - SDL_bool pressed) +static SDL_keysym * +TranslateKey (int scancode, int asciicode, SDL_keysym * keysym, + SDL_bool pressed) { - /* Set the keysym information */ - keysym->scancode = scancode; + /* Set the keysym information */ + keysym->scancode = scancode; - 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 AtariGemdos_ShutdownEvents(void) +void +AtariGemdos_ShutdownEvents (void) { - SDL_AtariXbios_RestoreVectors(); - if (use_dev_mouse) { - SDL_AtariDevMouse_Close(); - } + SDL_AtariXbios_RestoreVectors (); + if (use_dev_mouse) { + SDL_AtariDevMouse_Close (); + } } + +/* vi: set ts=4 sw=4 expandtab: */