diff options
| -rw-r--r-- | backends/platform/wince/CEDevice.cpp | 158 | 
1 files changed, 60 insertions, 98 deletions
diff --git a/backends/platform/wince/CEDevice.cpp b/backends/platform/wince/CEDevice.cpp index 495ba1b274..09c067ef15 100644 --- a/backends/platform/wince/CEDevice.cpp +++ b/backends/platform/wince/CEDevice.cpp @@ -1,5 +1,5 @@  /* ScummVM - Scumm Interpreter - * Copyright (C) 2001-2006 The ScummVM project + * Copyright (C) 2001-2007 The ScummVM project   *   * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License @@ -20,9 +20,6 @@   *   */ -//#define SIMU_SMARTPHONE 1 -//#define SIMU_SMARTPHONE_2005 1 -  #include "common/stdafx.h"  #include "CEDevice.h" @@ -30,35 +27,6 @@  #include "wince-sdl.h" -#define KEY_CALENDAR 0xc1 -#define KEY_CONTACTS 0xc2 -#define KEY_INBOX 0xc3 -#define KEY_TASK 0xc4 - -//#ifdef WIN32_PLATFORM_WFSP -const char* SMARTPHONE_KEYS_NAME[] = { -	"1", "2", "3","4", "5", "6", "7", "8", "9", "*", "0", "#", -	"Home", "Back", "Up", "Down", "Left", "Right", "Action", "Hang up", "Call", -	"Soft 1", "Soft 2", "Power", "Volume Up" ,"Volume Down", "Record", "None", -	0 -}; - -// Old mapping from the previous (non SDL) version. To be forgotten. -/* -const int SMARTPHONE_KEYS_MAPPING[] = { -        '1', '2', '3', '4', '5', '6', '7', '8', '9', VK_F8, '0', VK_F9, -        VK_LWIN, VK_ESCAPE, VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT, VK_RETURN, VK_F4, VK_F3, -        VK_F1, VK_F2, VK_F18, VK_F6, VK_F7, VK_F10, 0xff, 0 -}; -*/ - -// FIXME : Home and Record are not mapped -const int SMARTPHONE_KEYS_MAPPING[] = { -		'1', '2', '3', '4', '5', '6', '7', '8', '9', VK_F9, '0', VK_F10, -		0xFF, VK_ESCAPE, 0x113, 0x114, 0x111, 0x112, VK_RETURN, 0x11D, 0x11C, -		0x11A, 0x11B, 0x11D, 0x11F, 0x120, 0xFF, 0 -}; -  static void (WINAPI* _SHIdleTimerReset)(void) = NULL;  static HANDLE (WINAPI* _SetPowerRequirement)(PVOID,int,ULONG,PVOID,ULONG) = NULL;  static DWORD (WINAPI* _ReleasePowerRequirement)(HANDLE) = NULL; @@ -72,8 +40,6 @@ extern "C" void WINAPI SystemIdleTimerReset(void);  #define TIMER_TRIGGER 9000 -//#endif -  // Power management code borrowed from MoDaCo & Betaplayer. Thanks !  void CEDevice::init() {  	HINSTANCE dll = LoadLibrary(TEXT("aygshell.dll")); @@ -108,96 +74,92 @@ void CEDevice::wakeUp() {  }  bool CEDevice::hasPocketPCResolution() { -#ifdef SIMU_SMARTPHONE -#ifndef SIMU_SMARTPHONE_2005 -	return false; -#else -	return true; -#endif -#else  	if (OSystem_WINCE3::isOzone() && hasWideResolution())  		return true;  	return (OSystem_WINCE3::getScreenWidth() < 320 && OSystem_WINCE3::getScreenWidth() >= 240); -#endif  }  bool CEDevice::hasDesktopResolution() { -#ifdef SIMU_SMARTPHONE -	return false; -#else  	if (OSystem_WINCE3::isOzone() && hasWideResolution())  		return true;  	return (OSystem_WINCE3::getScreenWidth() >= 320); -#endif  }  bool CEDevice::hasWideResolution() { -#ifdef SIMU_SMARTPHONE -	return false; -#else  	return (OSystem_WINCE3::getScreenWidth() >= 640 || OSystem_WINCE3::getScreenHeight() >= 640); -#endif  }  bool CEDevice::hasSmartphoneResolution() { -#ifdef SIMU_SMARTPHONE -#ifndef SIMU_SMARTPHONE_2005 -	return true; -#else -	return false; -#endif -#else  	return (OSystem_WINCE3::getScreenWidth() < 240); -#endif  }  bool CEDevice::isSmartphone() { -#ifdef SIMU_SMARTPHONE -	return true; -#else  	TCHAR platformType[100];  	BOOL result = SystemParametersInfo(SPI_GETPLATFORMTYPE, sizeof(platformType), platformType, 0);  	if (!result && GetLastError() == ERROR_ACCESS_DENIED)  		return true;  	return (_wcsnicmp(platformType, TEXT("SmartPhone"), 10) == 0); -#endif  }  Common::String CEDevice::getKeyName(unsigned int keyCode) { -	char key_name[10]; - -	if (!keyCode) -		return "No key"; - -	if (keyCode == KEY_CALENDAR) -		return "Button Calendar"; -	if (keyCode == KEY_CONTACTS) -		return "Button Contacts"; -	if (keyCode == KEY_INBOX) -		return "Button Inbox"; -	if (keyCode == KEY_TASK) -		return "Button Tasks"; -	if (keyCode == SDLK_F1) -		return "F1 (hard 1)"; -	if (keyCode == SDLK_F2) -		return "F2 (hard 2)"; -	if (keyCode == SDLK_F3) -		return "F3 (hard 3)"; -	if (keyCode == SDLK_F4) -		return "F4 (hard 4)"; - -//#ifdef WIN32_PLATFORM_WFSP -	if (hasSmartphoneResolution()) { -		int i = 0; -		while (SMARTPHONE_KEYS_MAPPING[i]) { -			if (keyCode == SMARTPHONE_KEYS_MAPPING[i]) -				return SMARTPHONE_KEYS_NAME[i]; -			i++; -		} +	switch (keyCode) { +		case SDLK_F1: +			return "Softkey A"; +		case SDLK_F2: +			return "Softkey B"; +		case SDLK_F3: +			return "Talk"; +		case SDLK_F4: +			return "End"; +		case SDLK_APP1: +			return "Application 1"; +		case SDLK_APP2: +			return "Application 2"; +		case SDLK_APP3: +			return "Application 3"; +		case SDLK_APP4: +			return "Application 4"; +		case SDLK_APP5: +			return "Application 5"; +		case SDLK_APP6: +			return "Application 6"; +		case SDLK_LSUPER: +			return "Home"; +		case SDLK_ESCAPE: +			return "Back"; +		case SDLK_UP: +			return "Up"; +		case SDLK_DOWN: +			return "Down"; +		case SDLK_LEFT: +			return "Left"; +		case SDLK_RIGHT: +			return "Right"; +		case SDLK_RETURN: +			return "Action"; +		case SDLK_F10: +			return "Record"; +		case SDLK_F6: +			return "Volume Up"; +		case SDLK_F7: +			return "Volume Down"; +		case SDLK_F17: +			return "Flip"; +		case SDLK_F18: +			return "Power"; +		case SDLK_F16: +			return "Speaker"; +		case SDLK_F8: +			return "Star"; +		case SDLK_F9: +			return "Pound"; +		case SDLK_F11: +			return "Symbol"; +		case SDLK_F19: +			return "Red Key"; +		case 0: +			return "None"; +		default: +			return SDL_GetKeyName((SDLKey)keyCode);  	} -//#endif - -	sprintf(key_name, "Key %.4x", keyCode); -	return key_name;  } -  | 
