diff --git a/binary_text_edit.py b/binary_text_edit.py index 2d9abc1..b6b2994 100644 --- a/binary_text_edit.py +++ b/binary_text_edit.py @@ -11,10 +11,13 @@ class BinaryTextEdit(QPlainTextEdit): # rewrite QPlainTextEdit.keyPressEvent be cursor = self.textCursor() pos = cursor.position() - if (pos + 1) % 9 == 0 and event.text() not in {'', None}: # dont overwrite the separator character - return + if not (pos + 1) % 9 == 0 or event.text() in {"", None}: # dont overwrite the separator character + super().keyPressEvent(event) - super().keyPressEvent(event) + # skip over the separator character when the cursor is before it. + if (pos + 2) % 9 == 0 and not event.text() in {"", None}: + cursor.setPosition(pos + 2) + self.setTextCursor(cursor) else: event.ignore()