boon

unix terminal framework
git clone https://git.ce9e.org/boon.git

commit
65a60933fd4552a52890caefdd614211296de8dd
parent
4d9cb4b000ac2a1d9081a8d754fa58f07660db3e
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2020-07-11 15:36
hardcode keys

to work around broken terminfo values

Diffstat

M boon.py 24 +++++++++++++-----------

1 files changed, 13 insertions, 11 deletions


diff --git a/boon.py b/boon.py

@@ -11,20 +11,22 @@ from fcntl import ioctl
   11    11 
   12    12 curses.setupterm()
   13    13 
   14    -1 # FIXME: tigertstr uses \x1bO (SS3) instead of \x1b[ (CSI) as prefix
   -1    14 CSI = '\033['
   -1    15 
   -1    16 # tigertstr uses \033O (SS3) instead of \033[ (CSI) as prefix
   15    17 # https://en.wikipedia.org/wiki/ANSI_escape_code
   16    18 KEY_BACKSPACE = curses.tigetstr('kbs').decode('ascii')
   17    19 KEY_ESC = '\x1b'
   18    -1 KEY_HOME = curses.tigetstr('khome').decode('ascii')
   19    -1 KEY_END = curses.tigetstr('kend').decode('ascii')
   20    -1 KEY_INSERT = curses.tigetstr('kich1').decode('ascii')
   21    -1 KEY_DELETE = curses.tigetstr('kdch1').decode('ascii')
   22    -1 KEY_PPAGE = curses.tigetstr('kpp').decode('ascii')
   23    -1 KEY_NPAGE = curses.tigetstr('knp').decode('ascii')
   24    -1 KEY_UP = curses.tigetstr('kcuu1').decode('ascii')
   25    -1 KEY_DOWN = curses.tigetstr('kcud1').decode('ascii')
   26    -1 KEY_RIGHT = curses.tigetstr('kcuf1').decode('ascii')
   27    -1 KEY_LEFT = curses.tigetstr('kcub1').decode('ascii')
   -1    20 KEY_HOME = CSI + 'H'
   -1    21 KEY_END = CSI + 'F'
   -1    22 KEY_INSERT = CSI + '3~'
   -1    23 KEY_DELETE = CSI + '4~'
   -1    24 KEY_PPAGE = CSI + '5~'
   -1    25 KEY_NPAGE = CSI + '6~'
   -1    26 KEY_UP = CSI + 'A'
   -1    27 KEY_DOWN = CSI + 'B'
   -1    28 KEY_RIGHT = CSI + 'C'
   -1    29 KEY_LEFT = CSI + 'D'
   28    30 
   29    31 
   30    32 def getsize():