[win32] glfw keyboard callback is enabled now. Enables KeyboardTest for win32.

This commit is contained in:
James Chen 2013-09-17 22:34:20 +08:00
parent e3a34bd5c5
commit 7d94878173
8 changed files with 30 additions and 17 deletions

View File

@ -35,12 +35,20 @@ THE SOFTWARE.
NS_CC_BEGIN NS_CC_BEGIN
static std::map<int, KeyboardEvent::KeyCode> g_keyCodeMap;// = { struct keyCodeItem
{
int glfwKeyCode;
KeyboardEvent::KeyCode keyCode;
};
static std::map<int, KeyboardEvent::KeyCode> g_keyCodeMap;
static keyCodeItem g_keyCodeStructArray[] = {
/* The unknown key */ /* The unknown key */
// make_pair( GLFW_KEY_UNKNOWN , KeyboardEvent::KeyCode::KEY_NONE ), { GLFW_KEY_UNKNOWN , KeyboardEvent::KeyCode::KEY_NONE },
/* Printable keys */ /* Printable keys */
/*
{ GLFW_KEY_SPACE , KeyboardEvent::KeyCode::KEY_SPACE }, { GLFW_KEY_SPACE , KeyboardEvent::KeyCode::KEY_SPACE },
{ GLFW_KEY_APOSTROPHE , KeyboardEvent::KeyCode::KEY_APOSTROPHE }, { GLFW_KEY_APOSTROPHE , KeyboardEvent::KeyCode::KEY_APOSTROPHE },
{ GLFW_KEY_COMMA , KeyboardEvent::KeyCode::KEY_COMMA }, { GLFW_KEY_COMMA , KeyboardEvent::KeyCode::KEY_COMMA },
@ -92,7 +100,7 @@ static std::map<int, KeyboardEvent::KeyCode> g_keyCodeMap;// = {
{ GLFW_KEY_WORLD_1 , KeyboardEvent::KeyCode::KEY_GRAVE }, { GLFW_KEY_WORLD_1 , KeyboardEvent::KeyCode::KEY_GRAVE },
{ GLFW_KEY_WORLD_2 , KeyboardEvent::KeyCode::KEY_NONE }, { GLFW_KEY_WORLD_2 , KeyboardEvent::KeyCode::KEY_NONE },
/* Function keys *//* /* Function keys */
{ GLFW_KEY_ESCAPE , KeyboardEvent::KeyCode::KEY_ESCAPE }, { GLFW_KEY_ESCAPE , KeyboardEvent::KeyCode::KEY_ESCAPE },
{ GLFW_KEY_ENTER , KeyboardEvent::KeyCode::KEY_KP_ENTER }, { GLFW_KEY_ENTER , KeyboardEvent::KeyCode::KEY_KP_ENTER },
{ GLFW_KEY_TAB , KeyboardEvent::KeyCode::KEY_TAB }, { GLFW_KEY_TAB , KeyboardEvent::KeyCode::KEY_TAB },
@ -163,8 +171,8 @@ static std::map<int, KeyboardEvent::KeyCode> g_keyCodeMap;// = {
{ GLFW_KEY_RIGHT_ALT , KeyboardEvent::KeyCode::KEY_ALT }, { GLFW_KEY_RIGHT_ALT , KeyboardEvent::KeyCode::KEY_ALT },
{ GLFW_KEY_RIGHT_SUPER , KeyboardEvent::KeyCode::KEY_HYPER }, { GLFW_KEY_RIGHT_SUPER , KeyboardEvent::KeyCode::KEY_HYPER },
{ GLFW_KEY_MENU , KeyboardEvent::KeyCode::KEY_MENU }, { GLFW_KEY_MENU , KeyboardEvent::KeyCode::KEY_MENU },
{ GLFW_KEY_LAST , KeyboardEvent::KeyCode::KEY_NONE }*/ { GLFW_KEY_LAST , KeyboardEvent::KeyCode::KEY_NONE }
//}; };
#if(_MSC_VER >= 1600) // Visual Studio 2010 or higher version. #if(_MSC_VER >= 1600) // Visual Studio 2010 or higher version.
// Windows Touch define // Windows Touch define
@ -368,6 +376,10 @@ EGLView::EGLView()
{ {
CCASSERT(nullptr == s_pEglView, "EGLView is singleton, Should be inited only one time\n"); CCASSERT(nullptr == s_pEglView, "EGLView is singleton, Should be inited only one time\n");
s_pEglView = this; s_pEglView = this;
for (auto& item : g_keyCodeStructArray)
{
g_keyCodeMap.insert(std::make_pair(item.glfwKeyCode, item.keyCode));
}
strcpy(_viewName, "Cocos2dxWin32"); strcpy(_viewName, "Cocos2dxWin32");
glfwSetErrorCallback(EGLViewEventHandler::OnGLFWError); glfwSetErrorCallback(EGLViewEventHandler::OnGLFWError);
glfwInit(); glfwInit();

View File

@ -1,7 +1,5 @@
#include "KeyboardTest.h" #include "KeyboardTest.h"
#ifdef CC_KEYBOARD_SUPPORT
KeyboardTest::KeyboardTest() KeyboardTest::KeyboardTest()
{ {
auto s = Director::getInstance()->getWinSize(); auto s = Director::getInstance()->getWinSize();
@ -43,4 +41,3 @@ void KeyboardTestScene::runThisTest()
layer->release(); layer->release();
} }
#endif

View File

@ -1,8 +1,6 @@
#ifndef _KEYBOARD_TEST_H_ #ifndef _KEYBOARD_TEST_H_
#define _KEYBOARD_TEST_H_ #define _KEYBOARD_TEST_H_
#ifdef CC_KEYBOARD_SUPPORT
#include "cocos2d.h" #include "cocos2d.h"
#include "../testBasic.h" #include "../testBasic.h"
@ -25,6 +23,5 @@ public:
virtual void runThisTest(); virtual void runThisTest();
}; };
#endif
#endif #endif

View File

@ -7,7 +7,7 @@ KeypadTest::KeypadTest()
addChild(label, 0); addChild(label, 0);
label->setPosition( Point(s.width/2, s.height-50) ); label->setPosition( Point(s.width/2, s.height-50) );
setKeypadEnabled(true); setKeyboardEnabled(true);
// create a label to display the tip string // create a label to display the tip string
_label = LabelTTF::create("Please press any key...", "Arial", 22); _label = LabelTTF::create("Please press any key...", "Arial", 22);

View File

@ -50,9 +50,7 @@ struct {
{ "FileUtilsTest", []() { return new FileUtilsTestScene(); } }, { "FileUtilsTest", []() { return new FileUtilsTestScene(); } },
{ "FontTest", []() { return new FontTestScene(); } }, { "FontTest", []() { return new FontTestScene(); } },
{ "IntervalTest", [](){return new IntervalTestScene(); } }, { "IntervalTest", [](){return new IntervalTestScene(); } },
#ifdef CC_KEYBOARD_SUPPORT
{ "KeyboardTest", []() { return new KeyboardTestScene(); } }, { "KeyboardTest", []() { return new KeyboardTestScene(); } },
#endif
#if (CC_TARGET_PLATFORM != CC_PLATFORM_BADA) #if (CC_TARGET_PLATFORM != CC_PLATFORM_BADA)
{ "KeypadTest", []() { return new KeypadTestScene(); } }, { "KeypadTest", []() { return new KeypadTestScene(); } },
#endif #endif

View File

@ -31,9 +31,7 @@
#include "EffectsAdvancedTest/EffectsAdvancedTest.h" #include "EffectsAdvancedTest/EffectsAdvancedTest.h"
#include "AccelerometerTest/AccelerometerTest.h" #include "AccelerometerTest/AccelerometerTest.h"
#include "KeypadTest/KeypadTest.h" #include "KeypadTest/KeypadTest.h"
#ifdef CC_KEYBOARD_SUPPORT
#include "KeyboardTest/KeyboardTest.h" #include "KeyboardTest/KeyboardTest.h"
#endif
#include "PerformanceTest/PerformanceTest.h" #include "PerformanceTest/PerformanceTest.h"
#include "ZwoptexTest/ZwoptexTest.h" #include "ZwoptexTest/ZwoptexTest.h"
#include "CocosDenshionTest/CocosDenshionTest.h" #include "CocosDenshionTest/CocosDenshionTest.h"

View File

@ -177,6 +177,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O
<ClCompile Include="..\Classes\ExtensionsTest\TableViewTest\CustomTableViewCell.cpp" /> <ClCompile Include="..\Classes\ExtensionsTest\TableViewTest\CustomTableViewCell.cpp" />
<ClCompile Include="..\Classes\ExtensionsTest\TableViewTest\TableViewTestScene.cpp" /> <ClCompile Include="..\Classes\ExtensionsTest\TableViewTest\TableViewTestScene.cpp" />
<ClCompile Include="..\Classes\FileUtilsTest\FileUtilsTest.cpp" /> <ClCompile Include="..\Classes\FileUtilsTest\FileUtilsTest.cpp" />
<ClCompile Include="..\Classes\KeyboardTest\KeyboardTest.cpp" />
<ClCompile Include="..\Classes\LabelTest\LabelTestNew.cpp" /> <ClCompile Include="..\Classes\LabelTest\LabelTestNew.cpp" />
<ClCompile Include="..\Classes\NewEventDispatcherTest\NewEventDispatcherTest.cpp" /> <ClCompile Include="..\Classes\NewEventDispatcherTest\NewEventDispatcherTest.cpp" />
<ClCompile Include="..\Classes\PerformanceTest\PerformanceAllocTest.cpp" /> <ClCompile Include="..\Classes\PerformanceTest\PerformanceAllocTest.cpp" />
@ -311,6 +312,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\..\..\external\libwebsockets\win32\lib\*.*" "$(O
<ClInclude Include="..\Classes\ExtensionsTest\TableViewTest\CustomTableViewCell.h" /> <ClInclude Include="..\Classes\ExtensionsTest\TableViewTest\CustomTableViewCell.h" />
<ClInclude Include="..\Classes\ExtensionsTest\TableViewTest\TableViewTestScene.h" /> <ClInclude Include="..\Classes\ExtensionsTest\TableViewTest\TableViewTestScene.h" />
<ClInclude Include="..\Classes\FileUtilsTest\FileUtilsTest.h" /> <ClInclude Include="..\Classes\FileUtilsTest\FileUtilsTest.h" />
<ClInclude Include="..\Classes\KeyboardTest\KeyboardTest.h" />
<ClInclude Include="..\Classes\LabelTest\LabelTestNew.h" /> <ClInclude Include="..\Classes\LabelTest\LabelTestNew.h" />
<ClInclude Include="..\Classes\NewEventDispatcherTest\NewEventDispatcherTest.h" /> <ClInclude Include="..\Classes\NewEventDispatcherTest\NewEventDispatcherTest.h" />
<ClInclude Include="..\Classes\ShaderTest\ShaderTest2.h" /> <ClInclude Include="..\Classes\ShaderTest\ShaderTest2.h" />

View File

@ -295,6 +295,9 @@
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest"> <Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest">
<UniqueIdentifier>{24f044ee-09a6-406b-98d7-8d5d759e5bb1}</UniqueIdentifier> <UniqueIdentifier>{24f044ee-09a6-406b-98d7-8d5d759e5bb1}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Classes\KeyboardTest">
<UniqueIdentifier>{8d7d37cd-5cc2-4a7d-9bd2-7b5c928adbb5}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="main.cpp"> <ClCompile Include="main.cpp">
@ -685,6 +688,9 @@
<ClCompile Include="..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.cpp"> <ClCompile Include="..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter> <Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\Classes\KeyboardTest\KeyboardTest.cpp">
<Filter>Classes\KeyboardTest</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="main.h"> <ClInclude Include="main.h">
@ -1252,5 +1258,8 @@
<ClInclude Include="..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.h"> <ClInclude Include="..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter> <Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\Classes\KeyboardTest\KeyboardTest.h">
<Filter>Classes\KeyboardTest</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>