From 687cbbd360085083df3064bff9827bc64e5aedbf Mon Sep 17 00:00:00 2001 From: "brade%netscape.com" Date: Tue, 12 Oct 1999 21:41:19 +0000 Subject: [PATCH] fixes to handle for control keys git-svn-id: svn://10.0.0.236/branches/keyEvent_19991004_BRANCH@50477 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/widget/src/mac/nsMacEventHandler.cpp | 24 +++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/mozilla/widget/src/mac/nsMacEventHandler.cpp b/mozilla/widget/src/mac/nsMacEventHandler.cpp index 6e07094d1d9..4799e3d2c5b 100644 --- a/mozilla/widget/src/mac/nsMacEventHandler.cpp +++ b/mozilla/widget/src/mac/nsMacEventHandler.cpp @@ -658,22 +658,24 @@ void nsMacEventHandler::InitializeKeyEvent(nsKeyEvent& aKeyEvent, EventRecord& a if (message == NS_KEY_PRESS && !IsSpecialRaptorKey((aOSEvent.message & keyCodeMask) >> 8) ) { - if ( aKeyEvent.isControl ) - { - if ((aKeyEvent.charCode >= 'A') && (aKeyEvent.charCode <='Z')) - aKeyEvent.charCode += 'A'; - else if ((aKeyEvent.charCode >='a') && (aKeyEvent.charCode >= 'z')) - aKeyEvent.charCode += 'a'; - else if ((aKeyEvent.charCode >= '0') && (aKeyEvent.charCode <= '9')) - aKeyEvent.charCode += '0'; - } - + if ( aKeyEvent.isControl ) + { + aKeyEvent.charCode = (aOSEvent.message & charCodeMask); + if ( aKeyEvent.charCode <= 26 ) + { + if ( aKeyEvent.isShift ) + aKeyEvent.charCode += 'A'; + else + aKeyEvent.charCode += 'a'; + } + } + else if ( !aKeyEvent.isMeta) { aKeyEvent.isShift = aKeyEvent.isControl = aKeyEvent.isAlt = aKeyEvent.isMeta = 0; } - aKeyEvent.keyCode = 0; + aKeyEvent.keyCode = 0; aKeyEvent.charCode = ConvertKeyEventToUnicode(aOSEvent); NS_ASSERTION(0 != aKeyEvent.charCode, "nsMacEventHandler::InitializeKeyEvent: ConvertKeyEventToUnicode returned 0."); }