From 1b8f31cfb3e69e3fb548dc4d130e7effb5b58eb3 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Sun, 28 Aug 2011 21:24:24 -0400 Subject: [PATCH] This fixes flymode... --- .../plInputCore/plInputInterface.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Sources/Plasma/PubUtilLib/plInputCore/plInputInterface.cpp b/Sources/Plasma/PubUtilLib/plInputCore/plInputInterface.cpp index 5a338f6c..96ab697f 100644 --- a/Sources/Plasma/PubUtilLib/plInputCore/plInputInterface.cpp +++ b/Sources/Plasma/PubUtilLib/plInputCore/plInputInterface.cpp @@ -246,15 +246,18 @@ hsBool plInputInterface::ProcessKeyBindings( plInputEventMsg *msg ) hsBool wasActive = IHasKeyControlFlag(binding->GetCode()); // Set or clear our flags, since we do that even if we don't send a message - if( activate ) + if ( !keyMsg->GetKeyChar() ) { - ISetKeyControlFlag( binding->GetCode() ); - fKeyControlsFrom2ndKeyFlags.SetBit( binding->GetCode(), ( binding->GetKey2() == combo ) ? true : false ); - } - else - { - IClearKeyControlFlag( binding->GetCode() ); - fKeyControlsFrom2ndKeyFlags.SetBit( binding->GetCode(), 0 ); + if( activate ) + { + ISetKeyControlFlag( binding->GetCode() ); + fKeyControlsFrom2ndKeyFlags.SetBit( binding->GetCode(), ( binding->GetKey2() == combo ) ? true : false ); + } + else + { + IClearKeyControlFlag( binding->GetCode() ); + fKeyControlsFrom2ndKeyFlags.SetBit( binding->GetCode(), 0 ); + } } // Filter out codes that only want their activate messages sent (like console commands)