summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/platforms/cocoa/qnsview_complextext.mm4
-rw-r--r--src/plugins/platforms/cocoa/qnsview_keys.mm3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview_complextext.mm b/src/plugins/platforms/cocoa/qnsview_complextext.mm
index 39739d9725..c1e1364f32 100644
--- a/src/plugins/platforms/cocoa/qnsview_complextext.mm
+++ b/src/plugins/platforms/cocoa/qnsview_complextext.mm
@@ -145,7 +145,9 @@
// e.g. "~\r". We have already inserted the composition,
// so we need to follow up with a single newline event.
- KeyEvent newlineEvent(NSApp.currentEvent);
+ KeyEvent newlineEvent(m_currentlyInterpretedKeyEvent ?
+ m_currentlyInterpretedKeyEvent : NSApp.currentEvent);
+ newlineEvent.type = QEvent::KeyPress;
newlineEvent.key = Qt::Key_Return;
newlineEvent.text = QLatin1Char(kReturnCharCode);
newlineEvent.nativeVirtualKey = kVK_Return;
diff --git a/src/plugins/platforms/cocoa/qnsview_keys.mm b/src/plugins/platforms/cocoa/qnsview_keys.mm
index 9acd5cd14a..01c3a4ea0d 100644
--- a/src/plugins/platforms/cocoa/qnsview_keys.mm
+++ b/src/plugins/platforms/cocoa/qnsview_keys.mm
@@ -235,7 +235,6 @@ KeyEvent::KeyEvent(NSEvent *nsevent)
{
timestamp = nsevent.timestamp * 1000;
nativeModifiers = nsevent.modifierFlags;
- nativeVirtualKey = nsevent.keyCode;
modifiers = QAppleKeyMapper::fromCocoaModifiers(nativeModifiers);
switch (nsevent.type) {
@@ -245,6 +244,8 @@ KeyEvent::KeyEvent(NSEvent *nsevent)
}
if (nsevent.type == NSEventTypeKeyDown || nsevent.type == NSEventTypeKeyUp) {
+ nativeVirtualKey = nsevent.keyCode;
+
NSString *charactersIgnoringModifiers = nsevent.charactersIgnoringModifiers;
NSString *characters = nsevent.characters;