From 6039eb05ba6d82ef56f2868c96654c552d117bf9 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Wed, 7 Feb 2018 20:04:46 -0500 Subject: sdl: remove non-rockbox drivers We never use any of these other drivers, so having them around just takes up space. Change-Id: Iced812162df1fef3fd55522b7e700acb6c3bcd41 --- .../sdl/src/video/symbian/EKA1/SDL_epocevents.cpp | 626 --------------------- 1 file changed, 626 deletions(-) delete mode 100644 apps/plugins/sdl/src/video/symbian/EKA1/SDL_epocevents.cpp (limited to 'apps/plugins/sdl/src/video/symbian/EKA1/SDL_epocevents.cpp') diff --git a/apps/plugins/sdl/src/video/symbian/EKA1/SDL_epocevents.cpp b/apps/plugins/sdl/src/video/symbian/EKA1/SDL_epocevents.cpp deleted file mode 100644 index 5ceed5fe3b..0000000000 --- a/apps/plugins/sdl/src/video/symbian/EKA1/SDL_epocevents.cpp +++ /dev/null @@ -1,626 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2012 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Sam Lantinga - slouken@devolution.com -*/ - -/* - SDL_epocevents.cpp - Handle the event stream, converting Epoc events into SDL events - - Epoc version by Hannu Viitala (hannu.j.viitala@mbnet.fi) -*/ - - -#include -#undef NULL -extern "C" { -//#define DEBUG_TRACE_ENABLED -#include "SDL_error.h" -#include "SDL_video.h" -#include "SDL_keysym.h" -#include "SDL_keyboard.h" -#include "SDL_events_c.h" -#include "SDL_timer.h" -}; /* extern "C" */ - -#include "SDL_epocvideo.h" -#include "SDL_epocevents_c.h" - -#include -#include - - -#include - -extern "C" { -/* The translation tables from a console scancode to a SDL keysym */ -static SDLKey keymap[MAX_SCANCODE]; -static SDL_keysym *TranslateKey(_THIS, int scancode, SDL_keysym *keysym); -void DisableKeyBlocking(_THIS); -}; /* extern "C" */ - -TBool isCursorVisible = EFalse; - -int EPOC_HandleWsEvent(_THIS, const TWsEvent& aWsEvent) -{ - int posted = 0; - SDL_keysym keysym; - -// SDL_TRACE1("hws %d", aWsEvent.Type()); - - switch (aWsEvent.Type()) - { - case EEventPointer: /* Mouse pointer events */ - { - - const TPointerCursorMode mode = Private->EPOC_WsSession.PointerCursorMode(); - - if(mode == EPointerCursorNone) - { - return 0; //TODO: Find out why events are get despite of cursor should be off - } - - const TPointerEvent* pointerEvent = aWsEvent.Pointer(); - TPoint mousePos = pointerEvent->iPosition; - - /*!! TODO Pointer do not yet work properly - //SDL_TRACE1("SDL: EPOC_HandleWsEvent, pointerEvent->iType=%d", pointerEvent->iType); //!! - - if (Private->EPOC_ShrinkedHeight) { - mousePos.iY <<= 1; // Scale y coordinate to shrinked screen height - } - if (Private->EPOC_ShrinkedWidth) { - mousePos.iX <<= 1; // Scale x coordinate to shrinked screen width - } - */ - - posted += SDL_PrivateMouseMotion(0, 0, mousePos.iX, mousePos.iY); /* Absolute position on screen */ - - switch (pointerEvent->iType) - { - case TPointerEvent::EButton1Down: - posted += SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_LEFT, 0, 0); - break; - case TPointerEvent::EButton1Up: - posted += SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_LEFT, 0, 0); - break; - case TPointerEvent::EButton2Down: - posted += SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_RIGHT, 0, 0); - break; - case TPointerEvent::EButton2Up: - posted += SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_RIGHT, 0, 0); - break; - case TPointerEvent::EButton3Down: - posted += SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_MIDDLE, 0, 0); - break; - case TPointerEvent::EButton3Up: - posted += SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_MIDDLE, 0, 0); - break; - } // switch - break; - } - - case EEventKeyDown: /* Key events */ - { -#ifdef SYMBIAN_CRYSTAL - // special case: 9300/9500 rocker down, simulate left mouse button - if (aWsEvent.Key()->iScanCode == EStdKeyDeviceA) - { - const TPointerCursorMode mode = Private->EPOC_WsSession.PointerCursorMode(); - if(mode != EPointerCursorNone) - posted += SDL_PrivateMouseButton(SDL_PRESSED, SDL_BUTTON_LEFT, 0, 0); - } -#endif - (void*)TranslateKey(_this, aWsEvent.Key()->iScanCode, &keysym); - -#ifndef DISABLE_JOYSTICK - /* Special handling */ - switch((int)keysym.sym) { - case SDLK_CAPSLOCK: - if (!isCursorVisible) { - /* Enable virtual cursor */ - HAL::Set(HAL::EMouseState, HAL::EMouseState_Visible); - } - else { - /* Disable virtual cursor */ - HAL::Set(HAL::EMouseState, HAL::EMouseState_Invisible); - } - isCursorVisible = !isCursorVisible; - break; - } -#endif - posted += SDL_PrivateKeyboard(SDL_PRESSED, &keysym); - break; - } - - case EEventKeyUp: /* Key events */ - { -#ifdef SYMBIAN_CRYSTAL - // special case: 9300/9500 rocker up, simulate left mouse button - if (aWsEvent.Key()->iScanCode == EStdKeyDeviceA) - { - posted += SDL_PrivateMouseButton(SDL_RELEASED, SDL_BUTTON_LEFT, 0, 0); - } -#endif - posted += SDL_PrivateKeyboard(SDL_RELEASED, TranslateKey(_this, aWsEvent.Key()->iScanCode, &keysym)); - break; - } - - case EEventFocusGained: /* SDL window got focus */ - { - Private->EPOC_IsWindowFocused = ETrue; - posted += SDL_PrivateAppActive(1, SDL_APPINPUTFOCUS|SDL_APPMOUSEFOCUS); - /* Draw window background and screen buffer */ - DisableKeyBlocking(_this); //Markus: guess why:-) - - RedrawWindowL(_this); - break; - } - - case EEventFocusLost: /* SDL window lost focus */ - { -/* - CFbsBitmap* bmp = new (ELeave) CFbsBitmap(); - bmp->Create(Private->EPOC_ScreenSize, Private->EPOC_DisplayMode); - Private->EPOC_WsScreen->CopyScreenToBitmap(bmp); - Private->EPOC_WindowGc->Activate(Private->EPOC_WsWindow); - Private->EPOC_WsWindow.BeginRedraw(TRect(Private->EPOC_WsWindow.Size())); - Private->EPOC_WindowGc->BitBlt(TPoint(0, 0), bmp); - Private->EPOC_WsWindow.EndRedraw(); - Private->EPOC_WindowGc->Deactivate(); - bmp->Save(_L("C:\\scr.mbm")); - delete bmp; -*/ - - Private->EPOC_IsWindowFocused = EFalse; - - posted += SDL_PrivateAppActive(0, SDL_APPINPUTFOCUS|SDL_APPMOUSEFOCUS); - - RWsSession s; - s.Connect(); - RWindowGroup g(s); - g.Construct(TUint32(&g), EFalse); - g.EnableReceiptOfFocus(EFalse); - RWindow w(s); - w.Construct(g, TUint32(&w)); - w.SetExtent(TPoint(0, 0), Private->EPOC_WsWindow.Size()); - w.SetOrdinalPosition(0); - w.Activate(); - w.Close(); - g.Close(); - s.Close(); - -/* - Private->EPOC_WsSession.SetWindowGroupOrdinalPosition(Private->EPOC_WsWindowGroupID, -1); - - - SDL_Delay(500); - TInt focus = -1; - while(focus < 0) - { - const TInt curr = Private->EPOC_WsSession.GetFocusWindowGroup(); - if(curr != Private->EPOC_WsWindowGroupID) - focus = curr; - else - SDL_Delay(500); - } - - if(1 < Private->EPOC_WsSession.GetWindowGroupOrdinalPriority(Private->EPOC_WsWindowGroupID)) - { - Private->EPOC_WsSession.SetWindowGroupOrdinalPosition(focus, -1); - SDL_Delay(500); - Private->EPOC_WsSession.SetWindowGroupOrdinalPosition(focus, 0); - } -*/ - /*//and the request redraw - TRawEvent redrawEvent; - redrawEvent.Set(TRawEvent::ERedraw); - Private->EPOC_WsSession.SimulateRawEvent(redrawEvent); - Private->EPOC_WsSession.Flush();*/ -#if 0 - //!! Not used - // Wait and eat events until focus is gained again - while (ETrue) { - Private->EPOC_WsSession.EventReady(&Private->EPOC_WsEventStatus); - User::WaitForRequest(Private->EPOC_WsEventStatus); - Private->EPOC_WsSession.GetEvent(Private->EPOC_WsEvent); - TInt eventType = Private->EPOC_WsEvent.Type(); - Private->EPOC_WsEventStatus = KRequestPending; - //Private->EPOC_WsSession.EventReady(&Private->EPOC_WsEventStatus); - if (eventType == EEventFocusGained) { - RedrawWindowL(_this); - break; - } - } -#endif - break; - } - - case EEventModifiersChanged: - { - TModifiersChangedEvent* modEvent = aWsEvent.ModifiersChanged(); - TUint modstate = KMOD_NONE; - if (modEvent->iModifiers == EModifierLeftShift) - modstate |= KMOD_LSHIFT; - if (modEvent->iModifiers == EModifierRightShift) - modstate |= KMOD_RSHIFT; - if (modEvent->iModifiers == EModifierLeftCtrl) - modstate |= KMOD_LCTRL; - if (modEvent->iModifiers == EModifierRightCtrl) - modstate |= KMOD_RCTRL; - if (modEvent->iModifiers == EModifierLeftAlt) - modstate |= KMOD_LALT; - if (modEvent->iModifiers == EModifierRightAlt) - modstate |= KMOD_RALT; - if (modEvent->iModifiers == EModifierLeftFunc) - modstate |= KMOD_LMETA; - if (modEvent->iModifiers == EModifierRightFunc) - modstate |= KMOD_RMETA; - if (modEvent->iModifiers == EModifierCapsLock) - modstate |= KMOD_CAPS; - SDL_SetModState(STATIC_CAST(SDLMod,(modstate | KMOD_LSHIFT))); - break; - } - default: - break; - } - - return posted; -} - -extern "C" { - -void EPOC_PumpEvents(_THIS) -{ - int posted = 0; // !! Do we need this? - //Private->EPOC_WsSession.EventReady(&Private->EPOC_WsEventStatus); - while (Private->EPOC_WsEventStatus != KRequestPending) { - - Private->EPOC_WsSession.GetEvent(Private->EPOC_WsEvent); - posted = EPOC_HandleWsEvent(_this, Private->EPOC_WsEvent); - Private->EPOC_WsEventStatus = KRequestPending; - Private->EPOC_WsSession.EventReady(&Private->EPOC_WsEventStatus); - } -} - - -_LIT(KMapFileName, "C:\\sdl_info\\sdlkeymap.cfg"); -LOCAL_C void ReadL(RFs& aFs, RArray& aArray) - { - TInt drive = -1; - TFileName name(KMapFileName); - for(TInt i = 'z'; drive < 0 && i >= 'a'; i--) - { - name[0] = (TUint16)i; - if(BaflUtils::FileExists(aFs, name)) - drive = i; - } - if(drive < 0) - return; - CLineReader* reader = CLineReader::NewLC(aFs, name); - while(reader->NextL()) - { - TPtrC ln = reader->Current(); - TLex line(ln); - TInt n = 0; - for(;;) - { - const TPtrC token = line.NextToken(); - if(token.Length() == 0) - break; - if((n & 1) != 0) - { - TInt value; - TLex lex(token); - User::LeaveIfError(lex.Val(value)); - User::LeaveIfError(aArray.Append(value)); - } - n++; - } - } - CleanupStack::PopAndDestroy(); - } - - -void EPOC_InitOSKeymap(_THIS) -{ - int i; - - /* Initialize the key translation table */ - for ( i=0; i array; - TRAPD(err, ReadL(fs, array)); - if(err == KErrNone && array.Count() > 0) - { - - SDLKey temp[MAX_SCANCODE]; - Mem::Copy(temp, keymap, MAX_SCANCODE * sizeof(SDLKey)); - - for(TInt k = 0; k < array.Count(); k+= 2) - { - const TInt oldval = array[k]; - const TInt newval = array[k + 1]; - if(oldval >= 0 && oldval < MAX_SCANCODE && newval >= 0 && newval < MAX_SCANCODE) - { - keymap[oldval] = temp[newval]; - } - } - } - array.Close(); - } - - fs.Close(); - /////////////////////////////////////////////////////////// - - /* !!TODO - EStdKeyNumLock=0x1b, - EStdKeyScrollLock=0x1c, - - EStdKeyNkpForwardSlash=0x84, - EStdKeyNkpAsterisk=0x85, - EStdKeyNkpMinus=0x86, - EStdKeyNkpPlus=0x87, - EStdKeyNkpEnter=0x88, - EStdKeyNkp1=0x89, - EStdKeyNkp2=0x8a, - EStdKeyNkp3=0x8b, - EStdKeyNkp4=0x8c, - EStdKeyNkp5=0x8d, - EStdKeyNkp6=0x8e, - EStdKeyNkp7=0x8f, - EStdKeyNkp8=0x90, - EStdKeyNkp9=0x91, - EStdKeyNkp0=0x92, - EStdKeyNkpFullStop=0x93, - EStdKeyMenu=0x94, - EStdKeyBacklightOn=0x95, - EStdKeyBacklightOff=0x96, - EStdKeyBacklightToggle=0x97, - EStdKeyIncContrast=0x98, - EStdKeyDecContrast=0x99, - EStdKeySliderDown=0x9a, - EStdKeySliderUp=0x9b, - EStdKeyDictaphonePlay=0x9c, - EStdKeyDictaphoneStop=0x9d, - EStdKeyDictaphoneRecord=0x9e, - EStdKeyHelp=0x9f, - EStdKeyOff=0xa0, - EStdKeyDial=0xa1, - EStdKeyIncVolume=0xa2, - EStdKeyDecVolume=0xa3, - EStdKeyDevice0=0xa4, - EStdKeyDevice1=0xa5, - EStdKeyDevice2=0xa6, - EStdKeyDevice3=0xa7, - EStdKeyDevice4=0xa8, - EStdKeyDevice5=0xa9, - EStdKeyDevice6=0xaa, - EStdKeyDevice7=0xab, - EStdKeyDevice8=0xac, - EStdKeyDevice9=0xad, - EStdKeyDeviceA=0xae, - EStdKeyDeviceB=0xaf, - EStdKeyDeviceC=0xb0, - EStdKeyDeviceD=0xb1, - EStdKeyDeviceE=0xb2, - EStdKeyDeviceF=0xb3, - EStdKeyApplication0=0xb4, - EStdKeyApplication1=0xb5, - EStdKeyApplication2=0xb6, - EStdKeyApplication3=0xb7, - EStdKeyApplication4=0xb8, - EStdKeyApplication5=0xb9, - EStdKeyApplication6=0xba, - EStdKeyApplication7=0xbb, - EStdKeyApplication8=0xbc, - EStdKeyApplication9=0xbd, - EStdKeyApplicationA=0xbe, - EStdKeyApplicationB=0xbf, - EStdKeyApplicationC=0xc0, - EStdKeyApplicationD=0xc1, - EStdKeyApplicationE=0xc2, - EStdKeyApplicationF=0xc3, - EStdKeyYes=0xc4, - EStdKeyNo=0xc5, - EStdKeyIncBrightness=0xc6, - EStdKeyDecBrightness=0xc7, - EStdKeyCaseOpen=0xc8, - EStdKeyCaseClose=0xc9 - */ - -} - - - -static SDL_keysym *TranslateKey(_THIS, int scancode, SDL_keysym *keysym) -{ -// char debug[256]; - //SDL_TRACE1("SDL: TranslateKey, scancode=%d", scancode); //!! - - /* Set the keysym information */ - - keysym->scancode = scancode; - - if ((scancode >= MAX_SCANCODE) && - ((scancode - ENonCharacterKeyBase + 0x0081) >= MAX_SCANCODE)) { - SDL_SetError("Too big scancode"); - keysym->scancode = SDLK_UNKNOWN; - keysym->mod = KMOD_NONE; - return keysym; - } - - keysym->mod = SDL_GetModState(); - - /* Handle function keys: F1, F2, F3 ... */ - if (keysym->mod & KMOD_META) { - if (scancode >= 'A' && scancode < ('A' + 24)) { /* first 32 alphabet keys */ - switch(scancode) { - case 'Q': scancode = EStdKeyF1; break; - case 'W': scancode = EStdKeyF2; break; - case 'E': scancode = EStdKeyF3; break; - case 'R': scancode = EStdKeyF4; break; - case 'T': scancode = EStdKeyF5; break; - case 'Y': scancode = EStdKeyF6; break; - case 'U': scancode = EStdKeyF7; break; - case 'I': scancode = EStdKeyF8; break; - case 'A': scancode = EStdKeyF9; break; - case 'S': scancode = EStdKeyF10; break; - case 'D': scancode = EStdKeyF11; break; - case 'F': scancode = EStdKeyF12; break; - } - keysym->sym = keymap[scancode]; - } - } - - if (scancode >= ENonCharacterKeyBase) { - // Non character keys - keysym->sym = keymap[scancode - - ENonCharacterKeyBase + 0x0081]; // !!hard coded - } else { - keysym->sym = keymap[scancode]; - } - - /* Remap the arrow keys if the device is rotated */ - if (Private->EPOC_ScreenOrientation == CFbsBitGc::EGraphicsOrientationRotated270) { - switch(keysym->sym) { - case SDLK_UP: keysym->sym = SDLK_LEFT; break; - case SDLK_DOWN: keysym->sym = SDLK_RIGHT; break; - case SDLK_LEFT: keysym->sym = SDLK_DOWN; break; - case SDLK_RIGHT:keysym->sym = SDLK_UP; break; - } - } - - /* If UNICODE is on, get the UNICODE value for the key */ - keysym->unicode = 0; - -#if 0 // !!TODO:unicode - - if ( SDL_TranslateUNICODE ) - { - /* Populate the unicode field with the ASCII value */ - keysym->unicode = scancode; - } -#endif - - //!! - //sprintf(debug, "SDL: TranslateKey: keysym->scancode=%d, keysym->sym=%d, keysym->mod=%d", - // keysym->scancode, keysym->sym, keysym->mod); - //SDL_TRACE(debug); //!! - - return(keysym); -} - -}; /* extern "C" */ - - -- cgit v1.2.3