Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from enum import Enum | |
| __all__ = [ | |
| "Keys", | |
| "ALL_KEYS", | |
| ] | |
| class Keys(str, Enum): | |
| """ | |
| List of keys for use in key bindings. | |
| Note that this is an "StrEnum", all values can be compared against | |
| strings. | |
| """ | |
| value: str | |
| Escape = "escape" # Also Control-[ | |
| ShiftEscape = "s-escape" | |
| ControlAt = "c-@" # Also Control-Space. | |
| ControlA = "c-a" | |
| ControlB = "c-b" | |
| ControlC = "c-c" | |
| ControlD = "c-d" | |
| ControlE = "c-e" | |
| ControlF = "c-f" | |
| ControlG = "c-g" | |
| ControlH = "c-h" | |
| ControlI = "c-i" # Tab | |
| ControlJ = "c-j" # Newline | |
| ControlK = "c-k" | |
| ControlL = "c-l" | |
| ControlM = "c-m" # Carriage return | |
| ControlN = "c-n" | |
| ControlO = "c-o" | |
| ControlP = "c-p" | |
| ControlQ = "c-q" | |
| ControlR = "c-r" | |
| ControlS = "c-s" | |
| ControlT = "c-t" | |
| ControlU = "c-u" | |
| ControlV = "c-v" | |
| ControlW = "c-w" | |
| ControlX = "c-x" | |
| ControlY = "c-y" | |
| ControlZ = "c-z" | |
| Control1 = "c-1" | |
| Control2 = "c-2" | |
| Control3 = "c-3" | |
| Control4 = "c-4" | |
| Control5 = "c-5" | |
| Control6 = "c-6" | |
| Control7 = "c-7" | |
| Control8 = "c-8" | |
| Control9 = "c-9" | |
| Control0 = "c-0" | |
| ControlShift1 = "c-s-1" | |
| ControlShift2 = "c-s-2" | |
| ControlShift3 = "c-s-3" | |
| ControlShift4 = "c-s-4" | |
| ControlShift5 = "c-s-5" | |
| ControlShift6 = "c-s-6" | |
| ControlShift7 = "c-s-7" | |
| ControlShift8 = "c-s-8" | |
| ControlShift9 = "c-s-9" | |
| ControlShift0 = "c-s-0" | |
| ControlBackslash = "c-\\" | |
| ControlSquareClose = "c-]" | |
| ControlCircumflex = "c-^" | |
| ControlUnderscore = "c-_" | |
| Left = "left" | |
| Right = "right" | |
| Up = "up" | |
| Down = "down" | |
| Home = "home" | |
| End = "end" | |
| Insert = "insert" | |
| Delete = "delete" | |
| PageUp = "pageup" | |
| PageDown = "pagedown" | |
| ControlLeft = "c-left" | |
| ControlRight = "c-right" | |
| ControlUp = "c-up" | |
| ControlDown = "c-down" | |
| ControlHome = "c-home" | |
| ControlEnd = "c-end" | |
| ControlInsert = "c-insert" | |
| ControlDelete = "c-delete" | |
| ControlPageUp = "c-pageup" | |
| ControlPageDown = "c-pagedown" | |
| ShiftLeft = "s-left" | |
| ShiftRight = "s-right" | |
| ShiftUp = "s-up" | |
| ShiftDown = "s-down" | |
| ShiftHome = "s-home" | |
| ShiftEnd = "s-end" | |
| ShiftInsert = "s-insert" | |
| ShiftDelete = "s-delete" | |
| ShiftPageUp = "s-pageup" | |
| ShiftPageDown = "s-pagedown" | |
| ControlShiftLeft = "c-s-left" | |
| ControlShiftRight = "c-s-right" | |
| ControlShiftUp = "c-s-up" | |
| ControlShiftDown = "c-s-down" | |
| ControlShiftHome = "c-s-home" | |
| ControlShiftEnd = "c-s-end" | |
| ControlShiftInsert = "c-s-insert" | |
| ControlShiftDelete = "c-s-delete" | |
| ControlShiftPageUp = "c-s-pageup" | |
| ControlShiftPageDown = "c-s-pagedown" | |
| BackTab = "s-tab" # shift + tab | |
| F1 = "f1" | |
| F2 = "f2" | |
| F3 = "f3" | |
| F4 = "f4" | |
| F5 = "f5" | |
| F6 = "f6" | |
| F7 = "f7" | |
| F8 = "f8" | |
| F9 = "f9" | |
| F10 = "f10" | |
| F11 = "f11" | |
| F12 = "f12" | |
| F13 = "f13" | |
| F14 = "f14" | |
| F15 = "f15" | |
| F16 = "f16" | |
| F17 = "f17" | |
| F18 = "f18" | |
| F19 = "f19" | |
| F20 = "f20" | |
| F21 = "f21" | |
| F22 = "f22" | |
| F23 = "f23" | |
| F24 = "f24" | |
| ControlF1 = "c-f1" | |
| ControlF2 = "c-f2" | |
| ControlF3 = "c-f3" | |
| ControlF4 = "c-f4" | |
| ControlF5 = "c-f5" | |
| ControlF6 = "c-f6" | |
| ControlF7 = "c-f7" | |
| ControlF8 = "c-f8" | |
| ControlF9 = "c-f9" | |
| ControlF10 = "c-f10" | |
| ControlF11 = "c-f11" | |
| ControlF12 = "c-f12" | |
| ControlF13 = "c-f13" | |
| ControlF14 = "c-f14" | |
| ControlF15 = "c-f15" | |
| ControlF16 = "c-f16" | |
| ControlF17 = "c-f17" | |
| ControlF18 = "c-f18" | |
| ControlF19 = "c-f19" | |
| ControlF20 = "c-f20" | |
| ControlF21 = "c-f21" | |
| ControlF22 = "c-f22" | |
| ControlF23 = "c-f23" | |
| ControlF24 = "c-f24" | |
| # Matches any key. | |
| Any = "<any>" | |
| # Special. | |
| ScrollUp = "<scroll-up>" | |
| ScrollDown = "<scroll-down>" | |
| CPRResponse = "<cursor-position-response>" | |
| Vt100MouseEvent = "<vt100-mouse-event>" | |
| WindowsMouseEvent = "<windows-mouse-event>" | |
| BracketedPaste = "<bracketed-paste>" | |
| SIGINT = "<sigint>" | |
| # For internal use: key which is ignored. | |
| # (The key binding for this key should not do anything.) | |
| Ignore = "<ignore>" | |
| # Some 'Key' aliases (for backwards-compatibility). | |
| ControlSpace = ControlAt | |
| Tab = ControlI | |
| Enter = ControlM | |
| Backspace = ControlH | |
| # ShiftControl was renamed to ControlShift in | |
| # 888fcb6fa4efea0de8333177e1bbc792f3ff3c24 (20 Feb 2020). | |
| ShiftControlLeft = ControlShiftLeft | |
| ShiftControlRight = ControlShiftRight | |
| ShiftControlHome = ControlShiftHome | |
| ShiftControlEnd = ControlShiftEnd | |
| ALL_KEYS: list[str] = [k.value for k in Keys] | |
| # Aliases. | |
| KEY_ALIASES: dict[str, str] = { | |
| "backspace": "c-h", | |
| "c-space": "c-@", | |
| "enter": "c-m", | |
| "tab": "c-i", | |
| # ShiftControl was renamed to ControlShift. | |
| "s-c-left": "c-s-left", | |
| "s-c-right": "c-s-right", | |
| "s-c-home": "c-s-home", | |
| "s-c-end": "c-s-end", | |
| } | |