diff --git a/src/prompt_toolkit/input/ansi_escape_sequences.py b/src/prompt_toolkit/input/ansi_escape_sequences.py index 1fba418b7..be23f991a 100644 --- a/src/prompt_toolkit/input/ansi_escape_sequences.py +++ b/src/prompt_toolkit/input/ansi_escape_sequences.py @@ -126,9 +126,11 @@ # Ref: https://invisible-island.net/xterm/modified-keys.html # These are currently unsupported, so just re-map some common ones to the # unmodified versions - "\x1b[27;2;13~": Keys.ControlM, # Shift + Enter - "\x1b[27;5;13~": Keys.ControlM, # Ctrl + Enter - "\x1b[27;6;13~": Keys.ControlM, # Ctrl + Shift + Enter + "\x1b[27;2;13~": Keys.ShiftEnter, # Shift + Enter + "\x1b[27;5;13~": Keys.ControlEnter, # Ctrl + Enter + "\x1b[27;6;13~": Keys.ControlShiftEnter, # Ctrl + Shift + Enter + "\x1b[27;7;13~": (Keys.Escape, Keys.ControlEnter), + "\x1b[27;8;13~": (Keys.Escape, Keys.ControlShiftEnter), # -- # Control + function keys. "\x1b[1;5P": Keys.ControlF1, diff --git a/src/prompt_toolkit/keys.py b/src/prompt_toolkit/keys.py index ee52aee86..94db74796 100644 --- a/src/prompt_toolkit/keys.py +++ b/src/prompt_toolkit/keys.py @@ -22,6 +22,9 @@ class Keys(str, Enum): ShiftEscape = "s-escape" ControlAt = "c-@" # Also Control-Space. + ControlEnter = "c-enter" + ControlShiftEnter = "c-s-enter" + ShiftEnter = "s-enter" ControlA = "c-a" ControlB = "c-b"