with: QT_LOGGING_RULES=qt.qpa.input.methods.debug=true "5.8.1 windows" () #0 QLineEdit QInputMethodQueryEvent(queries=0x101, {}) #1 QLineEdit QInputMethodQueryEvent(queries=0x101, {}) qt.qpa.input.methods: QWindowsInputContext::startComposition QLineEdit(0x1679a3b5bc0) QWidgetWindow(0x1679a4432c0, name="QMainWindowClassWindow") language= 1042 #2 QLineEdit QInputMethodQueryEvent(queries=0x2, {}) qt.qpa.input.methods: QWindowsInputContext::cursorRectChanged QRect(7,53 10x14) qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "COMPSTR COMPATTR INSERTCHAR NOMOVECARET " composing= true #3 QLineEdit QInputMethodEvent(preedit="U+314e", attributes= {[type= 0, start=0, length=1, value=QVariant(QTextFormat, QTextFormat(QTextFormat::FormatType(2)))],[type= 1, start=0, length=0, value=QVariant(Invalid)]}) #4 QLineEdit QInputMethodQueryEvent(queries=0x1, {}) #5 QLineEdit QInputMethodQueryEvent(queries=0x2, {}) qt.qpa.input.methods: QWindowsInputContext::cursorRectChanged QRect(7,53 10x16) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 2 commit= "" to QLineEdit(0x1679a3b5bc0) returns true qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "COMPSTR COMPATTR INSERTCHAR NOMOVECARET " composing= true #6 QLineEdit QInputMethodEvent(preedit="U+d558", attributes= {[type= 0, start=0, length=1, value=QVariant(QTextFormat, QTextFormat(QTextFormat::FormatType(2)))],[type= 1, start=0, length=0, value=QVariant(Invalid)]}) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 2 commit= "" to QLineEdit(0x1679a3b5bc0) returns true qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "COMPSTR COMPATTR INSERTCHAR NOMOVECARET " composing= true #7 QLineEdit QInputMethodEvent(preedit="U+d55c", attributes= {[type= 0, start=0, length=1, value=QVariant(QTextFormat, QTextFormat(QTextFormat::FormatType(2)))],[type= 1, start=0, length=0, value=QVariant(Invalid)]}) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 2 commit= "" to QLineEdit(0x1679a3b5bc0) returns true qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "RESULTSTR " composing= true #8 QLineEdit QInputMethodEvent(, commit="U+d55c") #9 QLineEdit QInputMethodQueryEvent(queries=0x1, {}) #10 QLineEdit QInputMethodQueryEvent(queries=0x2, {}) qt.qpa.input.methods: QWindowsInputContext::cursorRectChanged QRect(18,53 10x16) #11 QLineEdit QInputMethodQueryEvent(queries=0x1, {}) #12 QLineEdit QInputMethodQueryEvent(queries=0x2, {}) qt.qpa.input.methods: QWindowsInputContext::cursorRectChanged QRect(18,53 10x16) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 0 commit= "?" to QLineEdit(0x1679a3b5bc0) returns true qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "COMPSTR COMPATTR INSERTCHAR NOMOVECARET " composing= false #13 QLineEdit QInputMethodQueryEvent(queries=0x2, {}) qt.qpa.input.methods: QWindowsInputContext::cursorRectChanged QRect(18,53 10x16) #14 QLineEdit QInputMethodEvent(preedit="U+3131", attributes= {[type= 0, start=0, length=1, value=QVariant(QTextFormat, QTextFormat(QTextFormat::FormatType(2)))],[type= 1, start=0, length=0, value=QVariant(Invalid)]}) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 2 commit= "" to QLineEdit(0x1679a3b5bc0) returns true qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "COMPSTR COMPATTR INSERTCHAR NOMOVECARET " composing= true #15 QLineEdit QInputMethodEvent(preedit="U+adf8", attributes= {[type= 0, start=0, length=1, value=QVariant(QTextFormat, QTextFormat(QTextFormat::FormatType(2)))],[type= 1, start=0, length=0, value=QVariant(Invalid)]}) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 2 commit= "" to QLineEdit(0x1679a3b5bc0) returns true qt.qpa.input.methods: > QWindowsInputContext::composition QLineEdit(0x1679a3b5bc0) "COMPSTR COMPATTR INSERTCHAR NOMOVECARET " composing= true #16 QLineEdit QInputMethodEvent(preedit="U+ae00", attributes= {[type= 0, start=0, length=1, value=QVariant(QTextFormat, QTextFormat(QTextFormat::FormatType(2)))],[type= 1, start=0, length=0, value=QVariant(Invalid)]}) qt.qpa.input.methods: < QWindowsInputContext::composition sending markup= 2 commit= "" to QLineEdit(0x1679a3b5bc0) returns true #17 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #18 QLineEdit QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #19 QWidget QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #20 QMainWindow QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #21 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyPress, Key_Control, ControlModifier) #22 QLineEdit QKeyEvent(KeyPress, Key_Control, ControlModifier) #23 QWidget QKeyEvent(KeyPress, Key_Control, ControlModifier) #24 QMainWindow QKeyEvent(KeyPress, Key_Control, ControlModifier) >>> ------------------- WM_IME_ENDCOMPOSITION is sent as soon as CTRL is pressed before commit() is even called qt.qpa.input.methods: QWindowsInputContext::endComposition false 0x14a04c0 #25 QLineEdit QInputMethodEvent() qt.qpa.input.methods: > QWindowsInputContext::composition QObject(0x0) "RESULTSTR " composing= false #26 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(ShortcutOverride, 0, ControlModifier, text="?") #27 QLineEdit QKeyEvent(ShortcutOverride, 0, ControlModifier, text="?") #28 QWidget QKeyEvent(ShortcutOverride, 0, ControlModifier, text="?") #29 QMainWindow QKeyEvent(ShortcutOverride, 0, ControlModifier, text="?") #30 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyPress, 0, ControlModifier, text="?") #31 QLineEdit QKeyEvent(KeyPress, 0, ControlModifier, text="?") #32 QWidget QKeyEvent(KeyPress, 0, ControlModifier, text="?") #33 QMainWindow QKeyEvent(KeyPress, 0, ControlModifier, text="?") #34 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyRelease, 0, ControlModifier, text="?") #35 QLineEdit QKeyEvent(KeyRelease, 0, ControlModifier, text="?") #36 QWidget QKeyEvent(KeyRelease, 0, ControlModifier, text="?") #37 QMainWindow QKeyEvent(KeyRelease, 0, ControlModifier, text="?") #38 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(ShortcutOverride, Key_A, ControlModifier, text="\u0001") #39 QLineEdit QKeyEvent(ShortcutOverride, Key_A, ControlModifier, text="\u0001") #40 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyPress, Key_A, ControlModifier, text="\u0001") #41 QLineEdit QKeyEvent(KeyPress, Key_A, ControlModifier, text="\u0001") #42 QLineEdit QInputMethodQueryEvent(queries=0x1, {}) #43 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyRelease, Key_A, ControlModifier, text="\u0001") #44 QLineEdit QKeyEvent(KeyRelease, Key_A, ControlModifier, text="\u0001") #45 QWidget QKeyEvent(KeyRelease, Key_A, ControlModifier, text="\u0001") #46 QMainWindow QKeyEvent(KeyRelease, Key_A, ControlModifier, text="\u0001") #47 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyRelease, Key_Control) #48 QLineEdit QKeyEvent(KeyRelease, Key_Control) #49 QWidget QKeyEvent(KeyRelease, Key_Control) #50 QMainWindow QKeyEvent(KeyRelease, Key_Control) #51 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #52 QLineEdit QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #53 QWidget QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #54 QMainWindow QKeyEvent(ShortcutOverride, Key_Control, ControlModifier) #55 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyPress, Key_Control, ControlModifier) #56 QLineEdit QKeyEvent(KeyPress, Key_Control, ControlModifier) #57 QWidget QKeyEvent(KeyPress, Key_Control, ControlModifier) #58 QMainWindow QKeyEvent(KeyPress, Key_Control, ControlModifier) #59 QWidgetWindow/"QMainWindowClassWindow" QKeyEvent(KeyRelease, Key_Control) #60 QLineEdit QKeyEvent(KeyRelease, Key_Control) #61 QWidget QKeyEvent(KeyRelease, Key_Control) #62 QMainWindow QKeyEvent(KeyRelease, Key_Control)