Skip to content

rework key event to key_event_key key_event_special #653

Description

instead of:

        if evt.type == TTkK.SpecialKey:
            if evt.mod == TTkK.ControlModifier and evt.key == TTkK.Key_V:
                return True
            if self._keyboard.flags & TTkTerminalModes.MODE_DECCKM:
                if code := {TTkK.Key_Up:    b"\033OA",
                            TTkK.Key_Down:  b"\033OB",
                            TTkK.Key_Right: b"\033OC",
                            TTkK.Key_Left:  b"\033OD"}.get(evt.key):
                    return True
        else: # Input char
            _termLog.debug(f"Key: {evt.key=}")

that would mess the typing becayse evt.key is both int and str

I want something like:

        if isistance(evt, TTkKeyEvent_Special):
            if evt.mod == TTkK.ControlModifier and evt.key == TTkK.Key_V:
                return True
            if self._keyboard.flags & TTkTerminalModes.MODE_DECCKM:
                if code := {TTkK.Key_Up:    b"\033OA",
                            TTkK.Key_Down:  b"\033OB",
                            TTkK.Key_Right: b"\033OC",
                            TTkK.Key_Left:  b"\033OD"}.get(evt.key):
                    return True
        else: # Input char
            _termLog.debug(f"Key: {evt.key=}")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions