From 3b53d965289346b73a6af42225175768e5e202fc Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 23 Aug 2017 18:37:24 +0200 Subject: Add terminal-input support for space and return --- src/keyevents.c | 8 +++++++- src/main.c | 3 +-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/keyevents.c b/src/keyevents.c index f10ce43..b5c1949 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -269,13 +269,19 @@ void feh_event_invoke_action(winwidget winwid, unsigned char action) void feh_event_handle_stdin() { char stdin_buf[2]; + KeySym keysym = NoSymbol; if (read(STDIN_FILENO, &stdin_buf, 1) == -1) { weprintf("reading a command from stdin failed"); return; } stdin_buf[1] = '\0'; - KeySym keysym = XStringToKeysym(stdin_buf); + if (stdin_buf[0] == ' ') + keysym = XK_space; + else if (stdin_buf[0] == '\n') + keysym = XK_Return; + else + keysym = XStringToKeysym(stdin_buf); if (window_num) feh_event_handle_generic(windows[0], 0, keysym, 0); diff --git a/src/main.c b/src/main.c index 9e4081b..57b7a7b 100644 --- a/src/main.c +++ b/src/main.c @@ -119,8 +119,7 @@ int feh_main_iteration(int block) if (tcgetattr(STDIN_FILENO, &ctrl) == -1) eprintf("tcgetattr failed"); ctrl.c_iflag &= ~(PARMRK | ISTRIP - | INLCR | IGNCR | ICRNL | IXON); - ctrl.c_oflag &= ~OPOST; + | INLCR | IGNCR | IXON); ctrl.c_lflag &= ~(ECHO | ICANON | IEXTEN); ctrl.c_cflag &= ~(CSIZE | PARENB); ctrl.c_cflag |= CS8; -- cgit v1.2.3