From 8991ddfa4e23b97b19688da45f8f50464ca211f7 Mon Sep 17 00:00:00 2001 From: zonble Date: Mon, 17 Oct 2011 13:57:38 +0800 Subject: [PATCH] Fixes a regression caused by trying to fix the problem of th numeric pad. --- Source/InputMethodController.mm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/InputMethodController.mm b/Source/InputMethodController.mm index f90d262a..42d0a67a 100644 --- a/Source/InputMethodController.mm +++ b/Source/InputMethodController.mm @@ -498,13 +498,21 @@ public: bool composeReading = false; // caps lock processing : if caps locked, temporarily disabled bopomofo. - if ([NSEvent modifierFlags] & NSAlphaShiftKeyMask || [NSEvent modifierFlags] & NSNumericPadKeyMask){ + if ([NSEvent modifierFlags] & NSAlphaShiftKeyMask){ if ([_composingBuffer length]) [self commitComposition:client]; if ([NSEvent modifierFlags] & NSShiftKeyMask) return NO; NSString *popedText = [inputText lowercaseString]; [client insertText:popedText replacementRange:NSMakeRange(NSNotFound, NSNotFound)]; return YES; } + if ([NSEvent modifierFlags] & NSNumericPadKeyMask) { + if (keyCode != 123 && keyCode != 124 && keyCode != 125 && keyCode != 126 && keyCode != 123 && charCode != 32 ) { + if ([_composingBuffer length]) [self commitComposition:client]; + NSString *popedText = [inputText lowercaseString]; + [client insertText:popedText replacementRange:NSMakeRange(NSNotFound, NSNotFound)]; + return YES; + } + } // see if it's valid BPMF reading if (_bpmfReadingBuffer->isValidKey((char)charCode)) {