From 1f087aa8b70fce67e7c43f689b5fb35667b5d84c Mon Sep 17 00:00:00 2001 From: Roberto E. Vargas Caballero Date: Tue, 8 Sep 2015 12:10:11 +0200 Subject: [PATCH] Add key to send a break to the serial line --- config.def.h | 1 + st.1 | 3 +++ st.c | 9 +++++++++ 3 files changed, 13 insertions(+) diff --git a/config.def.h b/config.def.h index 11a0c02..7129fa1 100644 --- a/config.def.h +++ b/config.def.h @@ -134,6 +134,7 @@ static Mousekey mshortcuts[] = { static Shortcut shortcuts[] = { /* mask keysym function argument */ + { XK_NO_MOD, XK_Pause, sendbreak, {.i = 0} }, { ControlMask, XK_Print, toggleprinter, {.i = 0} }, { ShiftMask, XK_Print, printscreen, {.i = 0} }, { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, diff --git a/st.1 b/st.1 index 29e3163..f2f3f0e 100644 --- a/st.1 +++ b/st.1 @@ -122,6 +122,9 @@ and all the remaining arguments are used as a command even without it. .SH SHORTCUTS .TP +.B Pause +Send a break in the serial line +.TP .B Ctrl-Print Screen Toggle if st should print to the .I iofile. diff --git a/st.c b/st.c index 256f8f5..7804316 100644 --- a/st.c +++ b/st.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -333,6 +334,7 @@ static void xzoomreset(const Arg *); static void printsel(const Arg *); static void printscreen(const Arg *) ; static void toggleprinter(const Arg *); +static void sendbreak(const Arg *); /* Config.h for applying patches and the configuration. */ #include "config.h" @@ -2579,6 +2581,13 @@ strreset(void) } void +sendbreak(const Arg *arg) +{ + if (tcsendbreak(cmdfd, 0)) + perror("Error sending break"); +} + +void tprinter(char *s, size_t len) { if (iofd != -1 && xwrite(iofd, s, len) < 0) { -- libgit2 1.1.1