Zonble: KeyHandler // Allow BPMF output via Ctrl+Enter.
Co-Authored-By: Weizhong Yang a.k.a zonble <zonble@gmail.com>
This commit is contained in:
parent
f35b7f3e04
commit
618318c792
|
@ -490,6 +490,9 @@ static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot";
|
|||
|
||||
// MARK: Enter
|
||||
if (charCode == 13) {
|
||||
if ([input isControlHold]) {
|
||||
return [self _handleCtrlEnterWithState:state stateCallback:stateCallback errorCallback:errorCallback];
|
||||
}
|
||||
return [self _handleEnterWithState:state stateCallback:stateCallback errorCallback:errorCallback];
|
||||
}
|
||||
|
||||
|
@ -791,6 +794,24 @@ static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot";
|
|||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)_handleCtrlEnterWithState:(InputState *)state stateCallback:(void (^)(InputState *))stateCallback errorCallback:(void (^)(void))errorCallback
|
||||
{
|
||||
if (![state isKindOfClass:[InputStateInputting class]]) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
NSArray *readings = [self _currentReadings];
|
||||
NSString *composingBuffer = [readings componentsJoinedByString:@"-"];
|
||||
|
||||
[self clear];
|
||||
|
||||
InputStateCommitting *committing = [[InputStateCommitting alloc] initWithPoppedText:composingBuffer];
|
||||
stateCallback(committing);
|
||||
InputStateEmpty *empty = [[InputStateEmpty alloc] init];
|
||||
stateCallback(empty);
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)_handleEnterWithState:(InputState *)state stateCallback:(void (^)(InputState *))stateCallback errorCallback:(void (^)(void))errorCallback
|
||||
{
|
||||
if (![state isKindOfClass:[InputStateInputting class]]) {
|
||||
|
|
Loading…
Reference in New Issue