| 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" |
| ShiftEscape = "s-escape" |
|
|
| ControlAt = "c-@" |
|
|
| 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" |
| ControlJ = "c-j" |
| ControlK = "c-k" |
| ControlL = "c-l" |
| ControlM = "c-m" |
| 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" |
|
|
| 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" |
|
|
| |
| Any = "<any>" |
|
|
| |
| ScrollUp = "<scroll-up>" |
| ScrollDown = "<scroll-down>" |
|
|
| CPRResponse = "<cursor-position-response>" |
| Vt100MouseEvent = "<vt100-mouse-event>" |
| WindowsMouseEvent = "<windows-mouse-event>" |
| BracketedPaste = "<bracketed-paste>" |
|
|
| SIGINT = "<sigint>" |
|
|
| |
| |
| Ignore = "<ignore>" |
|
|
| |
| ControlSpace = ControlAt |
| Tab = ControlI |
| Enter = ControlM |
| Backspace = ControlH |
|
|
| |
| |
| ShiftControlLeft = ControlShiftLeft |
| ShiftControlRight = ControlShiftRight |
| ShiftControlHome = ControlShiftHome |
| ShiftControlEnd = ControlShiftEnd |
|
|
|
|
| ALL_KEYS: list[str] = [k.value for k in Keys] |
|
|
|
|
| |
| KEY_ALIASES: dict[str, str] = { |
| "backspace": "c-h", |
| "c-space": "c-@", |
| "enter": "c-m", |
| "tab": "c-i", |
| |
| "s-c-left": "c-s-left", |
| "s-c-right": "c-s-right", |
| "s-c-home": "c-s-home", |
| "s-c-end": "c-s-end", |
| } |
|
|