From 5395721c264c0179ec29c6d8b2678d4ef3ce72d0 Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Mon, 20 Aug 2012 21:05:02 +0400 Subject: [PATCH 1/2] more appropriate fix for #189 --- apps/openmw/CMakeLists.txt | 4 +++- apps/openmw/mwinput/inputmanagerimp.cpp | 13 +++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 1b4ae209d..4741ba5dd 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -114,7 +114,9 @@ endif() if(APPLE) find_library(CARBON_FRAMEWORK Carbon) - target_link_libraries(openmw ${CARBON_FRAMEWORK}) + find_library(COCOA_FRAMEWORK Cocoa) + find_library(IOKIT_FRAMEWORK IOKit) + target_link_libraries(openmw ${CARBON_FRAMEWORK} ${COCOA_FRAMEWORK} ${IOKIT_FRAMEWORK}) endif(APPLE) if(DPKG_PROGRAM) diff --git a/apps/openmw/mwinput/inputmanagerimp.cpp b/apps/openmw/mwinput/inputmanagerimp.cpp index a7cce25c0..1aa4ceeff 100644 --- a/apps/openmw/mwinput/inputmanagerimp.cpp +++ b/apps/openmw/mwinput/inputmanagerimp.cpp @@ -387,9 +387,18 @@ namespace MWInput bool InputManager::keyPressed( const OIS::KeyEvent &arg ) { - mInputCtrl->keyPressed (arg); + std::cout << "text received: " << arg.text << std::endl; - MyGUI::InputManager::getInstance().injectKeyPress(MyGUI::KeyCode::Enum(arg.key), arg.text); + mInputCtrl->keyPressed (arg); + unsigned int text = arg.text; + #ifdef __APPLE__ // filter \016 symbol for F-keys on OS X + if ((arg.key >= OIS::KC_F1 && arg.key <= OIS::KC_F10) || + (arg.key >= OIS::KC_F11 && arg.key <= OIS::KC_F15)) { + text = 0; + } + #endif + + MyGUI::InputManager::getInstance().injectKeyPress(MyGUI::KeyCode::Enum(arg.key), text); return true; } From 71a6ce2202b395dd08c87888d11ce7cad33dd3e2 Mon Sep 17 00:00:00 2001 From: Nikolay Kasyanov Date: Mon, 20 Aug 2012 21:14:29 +0400 Subject: [PATCH 2/2] removed cout spam --- apps/openmw/mwinput/inputmanagerimp.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwinput/inputmanagerimp.cpp b/apps/openmw/mwinput/inputmanagerimp.cpp index 1aa4ceeff..d1f02aaf0 100644 --- a/apps/openmw/mwinput/inputmanagerimp.cpp +++ b/apps/openmw/mwinput/inputmanagerimp.cpp @@ -387,16 +387,14 @@ namespace MWInput bool InputManager::keyPressed( const OIS::KeyEvent &arg ) { - std::cout << "text received: " << arg.text << std::endl; - mInputCtrl->keyPressed (arg); unsigned int text = arg.text; - #ifdef __APPLE__ // filter \016 symbol for F-keys on OS X +#ifdef __APPLE__ // filter \016 symbol for F-keys on OS X if ((arg.key >= OIS::KC_F1 && arg.key <= OIS::KC_F10) || (arg.key >= OIS::KC_F11 && arg.key <= OIS::KC_F15)) { text = 0; } - #endif +#endif MyGUI::InputManager::getInstance().injectKeyPress(MyGUI::KeyCode::Enum(arg.key), text);