From: Roberto E. Vargas Caballero Date: Tue, 8 Sep 2015 10:10:11 +0000 (+0200) Subject: Add key to send a break to the serial line X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=1f087aa8b70fce67e7c43f689b5fb35667b5d84c;p=st.git Add key to send a break to the serial line --- 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" @@ -2578,6 +2580,13 @@ strreset(void) memset(&strescseq, 0, sizeof(strescseq)); } +void +sendbreak(const Arg *arg) +{ + if (tcsendbreak(cmdfd, 0)) + perror("Error sending break"); +} + void tprinter(char *s, size_t len) {