about summary refs log tree commit diff stats
path: root/cpp/termbox/input.inl
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-04-22 20:39:43 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-04-22 20:43:59 -0700
commit8e7827dfcf15ccbbade3e5d58c340dd5f72b7208 (patch)
tree3dcc48c2aa05041e4c2816810fe2dd92d4e9caef /cpp/termbox/input.inl
parentf674c4a51d760722867070defed638f246d79205 (diff)
downloadmu-8e7827dfcf15ccbbade3e5d58c340dd5f72b7208.tar.gz
1144 - dump termbox's support for modifier keys
Diffstat (limited to 'cpp/termbox/input.inl')
-rw-r--r--cpp/termbox/input.inl43
1 files changed, 6 insertions, 37 deletions
diff --git a/cpp/termbox/input.inl b/cpp/termbox/input.inl
index 8a4a14de..6493273c 100644
--- a/cpp/termbox/input.inl
+++ b/cpp/termbox/input.inl
@@ -1,20 +1,3 @@
-/* Sets the termbox input mode. Termbox has two input modes:
- * 1. Esc input mode.
- *    When ESC sequence is in the buffer and it doesn't match any known
- *    ESC sequence => ESC means TB_KEY_ESC.
- * 2. Alt input mode.
- *    When ESC sequence is in the buffer and it doesn't match any known
- *    sequence => ESC enables TB_MOD_ALT modifier for the next keyboard event.
- *
- * If 'mode' is TB_INPUT_CURRENT, it returns the current input mode.
- */
-int tb_select_input_mode(int mode);
-/* Possible values for mode. */
-#define TB_INPUT_CURRENT 0x0
-#define TB_INPUT_ESC     0x1
-#define TB_INPUT_ALT     0x2
-#define TB_INPUT_MOUSE   0x4
-
 // if s1 starts with s2 returns true, else false
 // len is the length of s1
 // s2 should be null-terminated
@@ -78,7 +61,7 @@ static int parse_escape_seq(struct tb_event *event, const char *buf, int len)
   return 0;
 }
 
-static bool extract_event(struct tb_event *event, struct bytebuffer *inbuf, int inputmode)
+static bool extract_event(struct tb_event *event, struct bytebuffer *inbuf)
 {
   const char *buf = inbuf->buf;
   const int len = inbuf->len;
@@ -96,25 +79,11 @@ static bool extract_event(struct tb_event *event, struct bytebuffer *inbuf, int
       bytebuffer_truncate(inbuf, n);
       return success;
     } else {
-      // it's not escape sequence, then it's ALT or ESC,
-      // check inputmode
-      if (inputmode&TB_INPUT_ESC) {
-        // if we're in escape mode, fill ESC event, pop
-        // buffer, return success
-        event->ch = 0;
-        event->key = TB_KEY_ESC;
-        event->mod = 0;
-        bytebuffer_truncate(inbuf, 1);
-        return true;
-      }
-      if (inputmode&TB_INPUT_ALT) {
-        // if we're in alt mode, set ALT modifier to
-        // event and redo parsing
-        event->mod = TB_MOD_ALT;
-        bytebuffer_truncate(inbuf, 1);
-        return extract_event(event, inbuf, inputmode);
-      }
-      assert(!"never got here");
+      // it's not escape sequence; assume it's esc
+      event->ch = 0;
+      event->key = TB_KEY_ESC;
+      bytebuffer_truncate(inbuf, 1);
+      return true;
     }
   }