Browse Source

[Mac] Rework raw keyDown/textInput handling (#12774)

pull/12958/head
Benedikt Stebner 3 years ago
committed by GitHub
parent
commit
c1ab50b08f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      native/Avalonia.Native/src/OSX/AvnView.mm

12
native/Avalonia.Native/src/OSX/AvnView.mm

@ -537,11 +537,13 @@
- (void)keyDown:(NSEvent *)event - (void)keyDown:(NSEvent *)event
{ {
_lastKeyHandled = false; _lastKeyHandled = false;
[self keyboardEvent:event withType:KeyDown]; [self keyboardEvent:event withType:KeyDown];
BOOL isKeyDownConsumed = [[self inputContext] handleEvent:event];
if(!_lastKeyHandled){ if(!_lastKeyHandled){
[[self inputContext] handleEvent:event]; _lastKeyHandled = isKeyDownConsumed == YES;
} }
} }
@ -552,7 +554,6 @@
} }
- (void) doCommandBySelector:(SEL)selector{ - (void) doCommandBySelector:(SEL)selector{
} }
- (AvnInputModifiers)getModifiers:(NSEventModifierFlags)mod - (AvnInputModifiers)getModifiers:(NSEventModifierFlags)mod
@ -599,8 +600,6 @@
- (void)setMarkedText:(id)string selectedRange:(NSRange)selectedRange replacementRange:(NSRange)replacementRange - (void)setMarkedText:(id)string selectedRange:(NSRange)selectedRange replacementRange:(NSRange)replacementRange
{ {
_lastKeyHandled = true;
NSString* markedText; NSString* markedText;
if([string isKindOfClass:[NSAttributedString class]]) if([string isKindOfClass:[NSAttributedString class]])
@ -669,8 +668,7 @@
uint64_t timestamp = static_cast<uint64_t>([NSDate timeIntervalSinceReferenceDate] * 1000); uint64_t timestamp = static_cast<uint64_t>([NSDate timeIntervalSinceReferenceDate] * 1000);
_lastKeyHandled = _parent->BaseEvents->RawTextInputEvent(timestamp, [text UTF8String]); _parent->BaseEvents->RawTextInputEvent(timestamp, [text UTF8String]);
} }
- (NSUInteger)characterIndexForPoint:(NSPoint)point - (NSUInteger)characterIndexForPoint:(NSPoint)point

Loading…
Cancel
Save