about summary refs log tree commit diff stats
path: root/xxxterm.c
diff options
context:
space:
mode:
authormarco <marco@conformal.com>2011-11-15 10:13:05 -0600
committermarco <marco@conformal.com>2011-11-15 10:13:05 -0600
commit2be99590e2febc04b6e38d0079fad3f4fc47965c (patch)
tree33779bb5c5755851ef517fb847131039193dba9c /xxxterm.c
parentc37bb324d30ab5315d472d80861b70765caafbc3 (diff)
downloadxombrero-2be99590e2febc04b6e38d0079fad3f4fc47965c.tar.gz
add a hybrid input mode
Diffstat (limited to 'xxxterm.c')
-rw-r--r--xxxterm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/xxxterm.c b/xxxterm.c
index 9564195..6b9c5a0 100644
--- a/xxxterm.c
+++ b/xxxterm.c
@@ -4848,12 +4848,19 @@ wv_keypress_cb(GtkEntry *w, GdkEventKey *e, struct tab *t)
 		return (handle_keypress(t, e, 0));
 	}
 
+	/* insert mode */
 	if (CLEAN(e->state) == 0 && e->keyval == GDK_Escape) {
 		t->mode = XT_MODE_COMMAND;
 		input_focus_blur(t, active);
 		return (XT_CB_HANDLED);
 	}
 
+	if (edit_mode == XT_EM_HYBRID) {
+		/* eat most modded commands */
+		if (e->state & CTRL || e->state & MOD1)
+			return (XT_CB_PASSTHROUGH);
+	}
+fprintf(stderr, "state 0x%x kyval 0x%x\n", e->state, e->keyval);
 	return (XT_CB_PASSTHROUGH);
 }