summaryrefslogtreecommitdiff
path: root/tcvt.py
diff options
context:
space:
mode:
Diffstat (limited to 'tcvt.py')
-rwxr-xr-xtcvt.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tcvt.py b/tcvt.py
index 21126f7..00788ba 100755
--- a/tcvt.py
+++ b/tcvt.py
@@ -597,6 +597,8 @@ class Terminal:
func(self)
elif char == ord(b'm'):
self.feed_esc_opbr_next(char, bytearray(b'0'))
+ elif char == ord(b'?'):
+ self.mode = (self.feed_esc_opbr_quest_next, bytearray())
elif char in bytearray(b'0123456789'):
self.mode = (self.feed_esc_opbr_next, bytearray((char,)))
else:
@@ -637,6 +639,18 @@ class Terminal:
else:
raise ValueError("feed esc [ %r m" % code)
+ def feed_esc_opbr_quest_next(self, char, prev):
+ self.feed_reset()
+ if char in bytearray(b'0123456789'):
+ self.mode = (self.feed_esc_opbr_quest_next,
+ prev + bytearray((char,)))
+ elif char == ord('h') and int(prev) == 2004:
+ pass # ignore enabling bracketed paste mode for now
+ elif char == ord('l') and int(prev) == 2004:
+ pass # ignore disabling bracketed paste mode for now
+ else:
+ raise ValueError("feed esc [ ? %r %r" % (prev, char))
+
feed_esc_opbr_next_table = {
ord('A'): do_cuu,
ord('B'): do_cud,