aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2012-11-06 23:44:37 +0100
committerChristoph Lohmann <20h@r-36.net>2012-11-06 23:44:37 +0100
commit5d39afc9023bc9a692ba6faf590abf9397a890ae (patch)
treeaa9b1ba8b8fa9461b3c2b8d18c83e6157cbc0ed8
parent9df1e56142527de1b8917434093d25212dd9da1e (diff)
Adding scrollwheel support. Thanks Brandon Invergo!
-rw-r--r--st.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/st.c b/st.c
index f063029..2ad13ef 100644
--- a/st.c
+++ b/st.c
@@ -673,6 +673,10 @@ bpress(XEvent *e) {
sel.mode = 1;
sel.ex = sel.bx = x2col(e->xbutton.x);
sel.ey = sel.by = y2row(e->xbutton.y);
+ } else if(e->xbutton.button == Button4) {
+ ttywrite("\031", 1);
+ } else if(e->xbutton.button == Button5) {
+ ttywrite("\005", 1);
}
}
@@ -1834,8 +1838,8 @@ tputc(char *c, int len) {
}
}
/*
- * STR sequences must be checked before of anything
- * because it can use some control codes as part of the sequence
+ * STR sequences must be checked before anything else
+ * because it can use some control codes as part of the sequence.
*/
if(term.esc & ESC_STR) {
switch(ascii) {
@@ -1855,6 +1859,7 @@ tputc(char *c, int len) {
}
return;
}
+
/*
* Actions of control codes must be performed as soon they arrive
* because they can be embedded inside a control sequence, and
@@ -1895,11 +1900,11 @@ tputc(char *c, int len) {
case '\030': /* CAN */
csireset();
return;
- case '\005': /* ENQ (IGNORED) */
- case '\000': /* NUL (IGNORED) */
- case '\021': /* XON (IGNORED) */
- case '\023': /* XOFF (IGNORED) */
- case 0177: /* DEL (IGNORED) */
+ case '\005': /* ENQ (IGNORED) */
+ case '\000': /* NUL (IGNORED) */
+ case '\021': /* XON (IGNORED) */
+ case '\023': /* XOFF (IGNORED) */
+ case 0177: /* DEL (IGNORED) */
return;
}
} else if(term.esc & ESC_START) {