123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- from __future__ import unicode_literals
- __all__ = (
- 'Key',
- 'Keys',
- )
- class Key(object):
- def __init__(self, name):
- #: Descriptive way of writing keys in configuration files. e.g. <C-A>
- #: for ``Control-A``.
- self.name = name
- def __repr__(self):
- return '%s(%r)' % (self.__class__.__name__, self.name)
- class Keys(object):
- Escape = Key('<Escape>')
- ControlA = Key('<C-A>')
- ControlB = Key('<C-B>')
- ControlC = Key('<C-C>')
- ControlD = Key('<C-D>')
- ControlE = Key('<C-E>')
- ControlF = Key('<C-F>')
- ControlG = Key('<C-G>')
- ControlH = Key('<C-H>')
- ControlI = Key('<C-I>') # Tab
- ControlJ = Key('<C-J>') # Enter
- ControlK = Key('<C-K>')
- ControlL = Key('<C-L>')
- ControlM = Key('<C-M>') # Enter
- ControlN = Key('<C-N>')
- ControlO = Key('<C-O>')
- ControlP = Key('<C-P>')
- ControlQ = Key('<C-Q>')
- ControlR = Key('<C-R>')
- ControlS = Key('<C-S>')
- ControlT = Key('<C-T>')
- ControlU = Key('<C-U>')
- ControlV = Key('<C-V>')
- ControlW = Key('<C-W>')
- ControlX = Key('<C-X>')
- ControlY = Key('<C-Y>')
- ControlZ = Key('<C-Z>')
- ControlSpace = Key('<C-Space>')
- ControlBackslash = Key('<C-Backslash>')
- ControlSquareClose = Key('<C-SquareClose>')
- ControlCircumflex = Key('<C-Circumflex>')
- ControlUnderscore = Key('<C-Underscore>')
- ControlLeft = Key('<C-Left>')
- ControlRight = Key('<C-Right>')
- ControlUp = Key('<C-Up>')
- ControlDown = Key('<C-Down>')
- Up = Key('<Up>')
- Down = Key('<Down>')
- Right = Key('<Right>')
- Left = Key('<Left>')
- ShiftLeft = Key('<ShiftLeft>')
- ShiftUp = Key('<ShiftUp>')
- ShiftDown = Key('<ShiftDown>')
- ShiftRight = Key('<ShiftRight>')
- Home = Key('<Home>')
- End = Key('<End>')
- Delete = Key('<Delete>')
- ShiftDelete = Key('<ShiftDelete>')
- ControlDelete = Key('<C-Delete>')
- PageUp = Key('<PageUp>')
- PageDown = Key('<PageDown>')
- BackTab = Key('<BackTab>') # shift + tab
- Insert = Key('<Insert>')
- Backspace = Key('<Backspace>')
- # Aliases.
- Tab = ControlI
- Enter = ControlJ
- # XXX: Actually Enter equals ControlM, not ControlJ,
- # However, in prompt_toolkit, we made the mistake of translating
- # \r into \n during the input, so everyone is now handling the
- # enter key by binding ControlJ.
- # From now on, it's better to bind `Keys.Enter` everywhere,
- # because that's future compatible, and will still work when we
- # stop replacing \r by \n.
- F1 = Key('<F1>')
- F2 = Key('<F2>')
- F3 = Key('<F3>')
- F4 = Key('<F4>')
- F5 = Key('<F5>')
- F6 = Key('<F6>')
- F7 = Key('<F7>')
- F8 = Key('<F8>')
- F9 = Key('<F9>')
- F10 = Key('<F10>')
- F11 = Key('<F11>')
- F12 = Key('<F12>')
- F13 = Key('<F13>')
- F14 = Key('<F14>')
- F15 = Key('<F15>')
- F16 = Key('<F16>')
- F17 = Key('<F17>')
- F18 = Key('<F18>')
- F19 = Key('<F19>')
- F20 = Key('<F20>')
- F21 = Key('<F21>')
- F22 = Key('<F22>')
- F23 = Key('<F23>')
- F24 = Key('<F24>')
- # Matches any key.
- Any = Key('<Any>')
- # Special
- CPRResponse = Key('<Cursor-Position-Response>')
- Vt100MouseEvent = Key('<Vt100-Mouse-Event>')
- WindowsMouseEvent = Key('<Windows-Mouse-Event>')
- BracketedPaste = Key('<Bracketed-Paste>')
- # Key which is ignored. (The key binding for this key should not do
- # anything.)
- Ignore = Key('<Ignore>')
|