diff --git a/TermTk/TTkWidgets/lineedit.py b/TermTk/TTkWidgets/lineedit.py index a8c91e26..b7ed3c27 100644 --- a/TermTk/TTkWidgets/lineedit.py +++ b/TermTk/TTkWidgets/lineedit.py @@ -271,7 +271,7 @@ class TTkLineEdit(TTkWidget): elif evt.key == TTkK.Key_X: self.cut() else: - return False + return super().keyEvent(evt) return True if evt.key == TTkK.Key_Left: diff --git a/TermTk/TTkWidgets/texedit.py b/TermTk/TTkWidgets/texedit.py index 52691fa6..66d56832 100644 --- a/TermTk/TTkWidgets/texedit.py +++ b/TermTk/TTkWidgets/texedit.py @@ -30,6 +30,7 @@ from TermTk.TTkCore.constant import TTkK from TermTk.TTkCore.cfg import TTkCfg from TermTk.TTkCore.string import TTkString from TermTk.TTkCore.signal import pyTTkSignal, pyTTkSlot +from TermTk.TTkCore.TTkTerm.inputkey import TTkKeyEvent from TermTk.TTkGui.clipboard import TTkClipboard from TermTk.TTkGui.textwrap1 import TTkTextWrap from TermTk.TTkGui.textcursor import TTkTextCursor @@ -488,6 +489,9 @@ class TTkTextEditView(TTkAbstractScrollView): # TTkLog.debug(f"Saving {self._textCursor.selectedText()} {self._textCursor._properties[0].anchor.pos}") self._textDocument.saveSnapshot(self._textCursor.copy()) + if evt.key == TTkK.Key_Tab and evt.mod==TTkK.NoModifier: + evt = TTkKeyEvent(TTkK.Character, '\t', '\t', TTkK.NoModifier) + if evt.type == TTkK.SpecialKey: _,_,w,h = self.geometry() @@ -505,9 +509,6 @@ class TTkTextEditView(TTkAbstractScrollView): ctrl = evt.mod==TTkK.ControlModifier - if evt.key == TTkK.Key_Tab: - # Don't Handle the special tab key, for now - return False if ctrl: p = self._textCursor.position() cx, cy = self._textWrap.dataToScreenPosition(p.line, p.pos) @@ -568,6 +569,9 @@ class TTkTextEditView(TTkAbstractScrollView): elif evt.key == TTkK.Key_Enter: if self._multiLine: self._textCursor.insertText('\n', moveCursor=True) + else: + # No action performed + return super().keyEvent(evt) # Scroll to align to the cursor p = self._textCursor.position() cx, cy = self._textWrap.dataToScreenPosition(p.line, p.pos)