From 78d309a97b782bd6ab2716fa7595bb3f409479e3 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Thu, 30 Mar 2017 00:51:41 +0200 Subject: add some key commands to sdl client --- main-sdl.c | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/main-sdl.c b/main-sdl.c index ac44526..687e5c7 100644 --- a/main-sdl.c +++ b/main-sdl.c @@ -42,14 +42,14 @@ find_harfe() while ((dp = readdir(dev)) != NULL) { size_t len = dp->d_namlen; - char *name = dp->d_name, *H, *A, *R; - int i; + char *name = dp->d_name; + int i, tail = 3; if (len < 6 || name[0] != 'c' || name[1] != 'u' || name[2] != '.') continue; - for (i = 0; i < len - 3; ++i) - if (name[i] == 'H' && name[i + 1] == 'A' && name[i + 2] == 'R') { + for (i = 0; i < len - tail; ++i) + if (name[i] == 'H' && name[i + 1] == 'A' && name[i + 2] == 'R' ) { if ((harfe = calloc(1, 5 + len + 1))) { sprintf(harfe, "/dev/"); memcpy(harfe + 5, name, len); @@ -58,6 +58,7 @@ find_harfe() } } closedir(dev); + return harfe; } @@ -176,7 +177,7 @@ harfe_worker(void) *lineend = 0; if (text_fill && lineend[-1] == '\r') lineend[-1] = 0; - +printf( "%s\n", text ); int num_points = sscanf(text, "%04d:%04d %04d:%04d %04d:%04d %04d:%04d", &p[0].x, &p[0].y, &p[1].x, &p[1].y, &p[2].x, &p[2].y, &p[3].x, &p[3].y); ptime = now(); @@ -259,7 +260,29 @@ main(int argc, char **argv) printf( "String order (left to right) is now %sscending.\n", g_stringsdescending ? "de" : "a" ); } */ - break; + if( ev.key.keysym.scancode == SDL_SCANCODE_R) { + fprintf( stderr, "re-read config\n" ); + write(g_harfe_fd, "R\n", 2); + } + if( ev.key.keysym.scancode == SDL_SCANCODE_D) { + fprintf( stderr, "Dumping\n" ); + write(g_harfe_fd, "D\n", 2); + } + if( ev.key.keysym.scancode == SDL_SCANCODE_C) { + char confdump[512]; + config_dumpglobals( confdump, sizeof(confdump)); + fputs( confdump, stderr); + for (i=0; i