From: <ze...@us...> - 2009-02-11 03:14:39
|
Revision: 1678 http://desmume.svn.sourceforge.net/desmume/?rev=1678&view=rev Author: zeromus Date: 2009-02-11 03:14:36 +0000 (Wed, 11 Feb 2009) Log Message: ----------- win32: move hotkey code and definitions to its own file, for more easy organization Modified Paths: -------------- trunk/desmume/src/windows/DeSmuME_2005.vcproj trunk/desmume/src/windows/DeSmuME_2008.vcproj trunk/desmume/src/windows/inputdx.cpp trunk/desmume/src/windows/main.cpp trunk/desmume/src/windows/main.h Added Paths: ----------- trunk/desmume/src/windows/hotkey.cpp trunk/desmume/src/windows/hotkey.h Modified: trunk/desmume/src/windows/DeSmuME_2005.vcproj =================================================================== --- trunk/desmume/src/windows/DeSmuME_2005.vcproj 2009-02-11 03:05:59 UTC (rev 1677) +++ trunk/desmume/src/windows/DeSmuME_2005.vcproj 2009-02-11 03:14:36 UTC (rev 1678) @@ -537,6 +537,14 @@ > </File> <File + RelativePath=".\hotkey.cpp" + > + </File> + <File + RelativePath=".\hotkey.h" + > + </File> + <File RelativePath=".\inputdx.cpp" > </File> Modified: trunk/desmume/src/windows/DeSmuME_2008.vcproj =================================================================== --- trunk/desmume/src/windows/DeSmuME_2008.vcproj 2009-02-11 03:05:59 UTC (rev 1677) +++ trunk/desmume/src/windows/DeSmuME_2008.vcproj 2009-02-11 03:14:36 UTC (rev 1678) @@ -911,6 +911,10 @@ > </File> <File + RelativePath=".\hotkey.cpp" + > + </File> + <File RelativePath=".\inputdx.cpp" > </File> @@ -1025,6 +1029,10 @@ > </File> <File + RelativePath=".\hotkey.h" + > + </File> + <File RelativePath=".\inputdx.h" > </File> Added: trunk/desmume/src/windows/hotkey.cpp =================================================================== --- trunk/desmume/src/windows/hotkey.cpp (rev 0) +++ trunk/desmume/src/windows/hotkey.cpp 2009-02-11 03:14:36 UTC (rev 1678) @@ -0,0 +1,264 @@ +///* This file is part of DeSmuME, derived from several files in Snes9x 1.51 which are +// licensed under the terms supplied at the end of this file (for the terms are very long!) +// Differences from that baseline version are: +// +// Copyright (C) 2009 DeSmuME team +// +// DeSmuME is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// DeSmuME 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with DeSmuME; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//*/ + +#include "hotkey.h" +#include "main.h" +#include "NDSSystem.h" + +SCustomKeys CustomKeys; + + +bool IsLastCustomKey (const SCustomKey *key) +{ + return (key->key == 0xFFFF && key->modifiers == 0xFFFF); +} + +void SetLastCustomKey (SCustomKey *key) +{ + key->key = 0xFFFF; + key->modifiers = 0xFFFF; +} + +void ZeroCustomKeys (SCustomKeys *keys) +{ + UINT i = 0; + + SetLastCustomKey(&keys->LastItem); + while (!IsLastCustomKey(&keys->key[i])) { + keys->key[i].key = 0; + keys->key[i].modifiers = 0; + i++; + }; +} + + +void HK_PrintScreen() +{ + OPENFILENAME ofn; + char filename[MAX_PATH] = ""; + ZeroMemory(&ofn, sizeof(ofn)); + ofn.lStructSize = sizeof(ofn); + ofn.hwndOwner = MainWindow->getHWnd(); + ofn.lpstrFilter = "Bmp file (*.bmp)\0*.bmp\0Any file (*.*)\0*.*\0\0"; + ofn.nFilterIndex = 1; + ofn.lpstrFile = filename; + ofn.lpstrTitle = "Print Screen Save As"; + ofn.nMaxFile = MAX_PATH; + ofn.lpstrDefExt = "bmp"; + ofn.Flags = OFN_OVERWRITEPROMPT; + GetSaveFileName(&ofn); + NDS_WriteBMP(filename); +} + +void CopyCustomKeys (SCustomKeys *dst, const SCustomKeys *src) +{ + UINT i = 0; + + do { + dst->key[i] = src->key[i]; + } while (!IsLastCustomKey(&src->key[i++])); +} + +void InitCustomKeys (SCustomKeys *keys) +{ + UINT i = 0; + + SetLastCustomKey(&keys->LastItem); + while (!IsLastCustomKey(&keys->key[i])) { + keys->key[i].key = 0; + keys->key[i].modifiers = 0; + keys->key[i].handleKeyDown = NULL; + keys->key[i].handleKeyUp = NULL; + keys->key[i].page = NUM_HOTKEY_PAGE; + keys->key[i].name = NULL; + //keys->key[i].timing = PROCESS_NOW; + i++; + }; + + //set handlers + keys->PrintScreen.handleKeyDown = HK_PrintScreen; + keys->PrintScreen.code = "PrintScreen"; + keys->PrintScreen.name = _T("Print Screen"); + keys->PrintScreen.page = HOTKEY_PAGE_TOOLS; + keys->PrintScreen.key = VK_PAUSE; +} + + +/********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gar...@nt...), + Jerremy Koot (jk...@sn...) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (pe...@bo...) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jwe...@sl...) + + (c) Copyright 2002 - 2006 funkyass (fun...@sp...), + Kris Bleakley (cod...@ho...) + + (c) Copyright 2002 - 2007 Brad Jorsch (an...@us...), + Nach (n-...@us...), + zones (kas...@ya...) + + (c) Copyright 2006 - 2007 nitsuja + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_d...@zs...), + Nach, + zsKnight (zsk...@zs...) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (and...@gm...) + Gary Henderson, + Ivar (iv...@sn...), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (nev...@ho...) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lor...@us...), + Matthew Kendora, + neviksti + + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pag...@zs...), + Kris Bleakley, + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001-2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight, + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound DSP emulator code is derived from SNEeSe and OpenSPC: + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (ma...@mc...) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (ma...@hi...) + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2007 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. +**********************************************************************************/ + Added: trunk/desmume/src/windows/hotkey.h =================================================================== --- trunk/desmume/src/windows/hotkey.h (rev 0) +++ trunk/desmume/src/windows/hotkey.h 2009-02-11 03:14:36 UTC (rev 1678) @@ -0,0 +1,232 @@ +///* This file is part of DeSmuME, derived from several files in Snes9x 1.51 which are +// licensed under the terms supplied at the end of this file (for the terms are very long!) +// Differences from that baseline version are: +// +// Copyright (C) 2009 DeSmuME team +// +// DeSmuME is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// DeSmuME 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with DeSmuME; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//*/ + +#ifndef HOTKEY_H_INCLUDED +#define HOTKEY_H_INCLUDED + +#include <windows.h> +#include <tchar.h> + +enum HotkeyPage { + HOTKEY_PAGE_TOOLS=0, + HOTKEY_PAGE_PLACEHOLDER=1, + NUM_HOTKEY_PAGE, +}; + +static LPCTSTR hotkeyPageTitle[] = { + _T("Tools"), + _T("Placeholder"), + _T("NUM_HOTKEY_PAGE"), +}; + + +struct SCustomKey { + typedef void (*THandler) (void); + WORD key; + WORD modifiers; + THandler handleKeyDown; + THandler handleKeyUp; + HotkeyPage page; + LPCTSTR name; + const char* code; + //HotkeyTiming timing; +}; + +union SCustomKeys { + struct { + SCustomKey PrintScreen; + SCustomKey LastItem; // dummy, must be last + }; + SCustomKey key[]; +}; + +extern SCustomKeys CustomKeys; + +bool IsLastCustomKey (const SCustomKey *key); +void CopyCustomKeys (SCustomKeys *dst, const SCustomKeys *src); +void InitCustomKeys (SCustomKeys *keys); +int GetModifiers(int key); + +//HOTKEY HANDLERS +void HK_PrintScreen(); + +#endif //HOTKEY_H_INCLUDED + +/********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gar...@nt...), + Jerremy Koot (jk...@sn...) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (pe...@bo...) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jwe...@sl...) + + (c) Copyright 2002 - 2006 funkyass (fun...@sp...), + Kris Bleakley (cod...@ho...) + + (c) Copyright 2002 - 2007 Brad Jorsch (an...@us...), + Nach (n-...@us...), + zones (kas...@ya...) + + (c) Copyright 2006 - 2007 nitsuja + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_d...@zs...), + Nach, + zsKnight (zsk...@zs...) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (and...@gm...) + Gary Henderson, + Ivar (iv...@sn...), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (nev...@ho...) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lor...@us...), + Matthew Kendora, + neviksti + + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pag...@zs...), + Kris Bleakley, + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001-2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight, + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound DSP emulator code is derived from SNEeSe and OpenSPC: + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (ma...@mc...) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (ma...@hi...) + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2007 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. +**********************************************************************************/ + Modified: trunk/desmume/src/windows/inputdx.cpp =================================================================== --- trunk/desmume/src/windows/inputdx.cpp 2009-02-11 03:05:59 UTC (rev 1677) +++ trunk/desmume/src/windows/inputdx.cpp 2009-02-11 03:14:36 UTC (rev 1678) @@ -43,6 +43,7 @@ #endif #include "inputdx.h" +#include "hotkey.h" #include "main.h" #include "resource.h" Modified: trunk/desmume/src/windows/main.cpp =================================================================== --- trunk/desmume/src/windows/main.cpp 2009-02-11 03:05:59 UTC (rev 1677) +++ trunk/desmume/src/windows/main.cpp 2009-02-11 03:14:36 UTC (rev 1678) @@ -72,6 +72,7 @@ #include "../common.h" #include "main.h" +#include "hotkey.h" #include "snddx.h" @@ -121,7 +122,7 @@ //===================== Input vars //INPUTCLASS *input = NULL; -#define WM_CUSTKEYDOWN (WM_USER+50) +#define WM_CUSTKEYDOWN (WM_USER+50) #define WM_CUSTKEYUP (WM_USER+51) #ifndef EXPERIMENTAL_GBASLOT @@ -1065,14 +1066,6 @@ HMODULE kernel32 = LoadLibrary("kernel32.dll"); FARPROC _setThreadUILanguage = (FARPROC)GetProcAddress(kernel32,"SetThreadUILanguage"); - - //OSVERSIONINFO info; - //ZeroMemory(&info, sizeof(info)); - //info.dwOSVersionInfoSize = sizeof(info); - //GetVersionEx(&info); - //setLanguageFunc setLanguage = ((info.dwMajorVersion >= 6) ? - // (setLanguageFunc)_setThreadUILanguage : (setLanguageFunc)SetThreadLocale); - setLanguageFunc setLanguage = _setThreadUILanguage?(setLanguageFunc)_setThreadUILanguage:(setLanguageFunc)SetThreadLocale; switch(langid) @@ -1776,11 +1769,6 @@ return 0; } -void SetDefaults() -{ - InitCustomKeys(&CustomKeys); -} - //TODO - async key state? for real? int GetModifiers(int key) { @@ -1795,20 +1783,18 @@ return modifiers; } -SCustomKeys CustomKeys; - int HandleKeyUp(WPARAM wParam, LPARAM lParam, int modifiers) { - SCustomKey *key = CustomKeys.key; - - while (!IsLastCustomKey(key)) { - if (wParam == key->key && modifiers == key->modifiers && key->handleKeyUp) { - key->handleKeyUp(); - } - key++; - } - - return 1; + SCustomKey *key = CustomKeys.key; + + while (!IsLastCustomKey(key)) { + if (wParam == key->key && modifiers == key->modifiers && key->handleKeyUp) { + key->handleKeyUp(); + } + key++; + } + + return 1; } int HandleKeyMessage(WPARAM wParam, LPARAM lParam, int modifiers) @@ -1816,102 +1802,27 @@ //some crap from snes9x I dont understand with toggles and macros... bool hitHotKey = false; - - if(!(wParam == 0 || wParam == VK_ESCAPE)) // if it's the 'disabled' key, it's never pressed as a hotkey - { - SCustomKey *key = CustomKeys.key; - while (!IsLastCustomKey(key)) { - if (wParam == key->key && modifiers == key->modifiers && key->handleKeyDown) { - key->handleKeyDown(); - hitHotKey = true; - } - key++; - } - - // don't pull down menu if alt is a hotkey or the menu isn't there, unless no game is running - //if(!Settings.StopEmulation && ((wParam == VK_MENU || wParam == VK_F10) && (hitHotKey || GetMenu (GUI.hWnd) == NULL) && !GetAsyncKeyState(VK_F4))) - // return 0; + + if(!(wParam == 0 || wParam == VK_ESCAPE)) // if it's the 'disabled' key, it's never pressed as a hotkey + { + SCustomKey *key = CustomKeys.key; + while (!IsLastCustomKey(key)) { + if (wParam == key->key && modifiers == key->modifiers && key->handleKeyDown) { + key->handleKeyDown(); + hitHotKey = true; + } + key++; + } + + // don't pull down menu if alt is a hotkey or the menu isn't there, unless no game is running + //if(!Settings.StopEmulation && ((wParam == VK_MENU || wParam == VK_F10) && (hitHotKey || GetMenu (GUI.hWnd) == NULL) && !GetAsyncKeyState(VK_F4))) + // return 0; } return 1; } -bool IsLastCustomKey (const SCustomKey *key) -{ - return (key->key == 0xFFFF && key->modifiers == 0xFFFF); -} - -void SetLastCustomKey (SCustomKey *key) -{ - key->key = 0xFFFF; - key->modifiers = 0xFFFF; -} - -void ZeroCustomKeys (SCustomKeys *keys) -{ - UINT i = 0; - - SetLastCustomKey(&keys->LastItem); - while (!IsLastCustomKey(&keys->key[i])) { - keys->key[i].key = 0; - keys->key[i].modifiers = 0; - i++; - }; -} - - -void HK_PrintScreen() -{ - OPENFILENAME ofn; - char filename[MAX_PATH] = ""; - ZeroMemory(&ofn, sizeof(ofn)); - ofn.lStructSize = sizeof(ofn); - ofn.hwndOwner = MainWindow->getHWnd(); - ofn.lpstrFilter = "Bmp file (*.bmp)\0*.bmp\0Any file (*.*)\0*.*\0\0"; - ofn.nFilterIndex = 1; - ofn.lpstrFile = filename; - ofn.lpstrTitle = "Print Screen Save As"; - ofn.nMaxFile = MAX_PATH; - ofn.lpstrDefExt = "bmp"; - ofn.Flags = OFN_OVERWRITEPROMPT; - GetSaveFileName(&ofn); - NDS_WriteBMP(filename); -} - -void CopyCustomKeys (SCustomKeys *dst, const SCustomKeys *src) -{ - UINT i = 0; - - do { - dst->key[i] = src->key[i]; - } while (!IsLastCustomKey(&src->key[i++])); -} - -void InitCustomKeys (SCustomKeys *keys) -{ - UINT i = 0; - - SetLastCustomKey(&keys->LastItem); - while (!IsLastCustomKey(&keys->key[i])) { - keys->key[i].key = 0; - keys->key[i].modifiers = 0; - keys->key[i].handleKeyDown = NULL; - keys->key[i].handleKeyUp = NULL; - keys->key[i].page = NUM_HOTKEY_PAGE; - keys->key[i].name = NULL; - //keys->key[i].timing = PROCESS_NOW; - i++; - }; - - //set handlers - keys->PrintScreen.handleKeyDown = HK_PrintScreen; - keys->PrintScreen.code = "PrintScreen"; - keys->PrintScreen.name = _T("Print Screen"); - keys->PrintScreen.page = HOTKEY_PAGE_TOOLS; - keys->PrintScreen.key = VK_PAUSE; -} - void RunConfig(int num) { HWND hwnd = MainWindow->getHWnd(); @@ -2028,8 +1939,8 @@ case WM_CUSTKEYUP: { int modifiers = GetModifiers(wParam); - HandleKeyUp(wParam, lParam, modifiers); - } + HandleKeyUp(wParam, lParam, modifiers); + } break; case WM_SIZE: Modified: trunk/desmume/src/windows/main.h =================================================================== --- trunk/desmume/src/windows/main.h 2009-02-11 03:05:59 UTC (rev 1677) +++ trunk/desmume/src/windows/main.h 2009-02-11 03:14:36 UTC (rev 1678) @@ -4,48 +4,5 @@ #include "CWindow.h" extern WINCLASS *MainWindow; - -enum HotkeyPage { - HOTKEY_PAGE_TOOLS=0, - HOTKEY_PAGE_PLACEHOLDER=1, - NUM_HOTKEY_PAGE, -}; - -static LPCTSTR hotkeyPageTitle[] = { - _T("Tools"), - _T("Placeholder"), - _T("NUM_HOTKEY_PAGE"), -}; - - -struct SCustomKey { - typedef void (*THandler) (void); - WORD key; - WORD modifiers; - THandler handleKeyDown; - THandler handleKeyUp; - HotkeyPage page; - LPCTSTR name; - const char* code; - //HotkeyTiming timing; -}; - -union SCustomKeys { - struct { - SCustomKey PrintScreen; - SCustomKey LastItem; // dummy, must be last - }; - SCustomKey key[]; -}; - -extern SCustomKeys CustomKeys; -bool IsLastCustomKey (const SCustomKey *key); -void CopyCustomKeys (SCustomKeys *dst, const SCustomKeys *src); -void InitCustomKeys (SCustomKeys *keys); -int GetModifiers(int key); - - - - #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |