summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerdgeist <erdgeist@bauklotz.lan>2017-03-30 00:51:41 +0200
committererdgeist <erdgeist@bauklotz.lan>2017-03-30 00:51:41 +0200
commit78d309a97b782bd6ab2716fa7595bb3f409479e3 (patch)
treec8c8fa702642e18835c56bbede92250c8ccf54be
parent302e4b9e7e0dd5a2e5c3f087ef5688c046ec3b21 (diff)
add some key commands to sdl client
-rw-r--r--main-sdl.c35
1 files 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()
42 42
43 while ((dp = readdir(dev)) != NULL) { 43 while ((dp = readdir(dev)) != NULL) {
44 size_t len = dp->d_namlen; 44 size_t len = dp->d_namlen;
45 char *name = dp->d_name, *H, *A, *R; 45 char *name = dp->d_name;
46 int i; 46 int i, tail = 3;
47 47
48 if (len < 6 || name[0] != 'c' || name[1] != 'u' || name[2] != '.') 48 if (len < 6 || name[0] != 'c' || name[1] != 'u' || name[2] != '.')
49 continue; 49 continue;
50 50
51 for (i = 0; i < len - 3; ++i) 51 for (i = 0; i < len - tail; ++i)
52 if (name[i] == 'H' && name[i + 1] == 'A' && name[i + 2] == 'R') { 52 if (name[i] == 'H' && name[i + 1] == 'A' && name[i + 2] == 'R' ) {
53 if ((harfe = calloc(1, 5 + len + 1))) { 53 if ((harfe = calloc(1, 5 + len + 1))) {
54 sprintf(harfe, "/dev/"); 54 sprintf(harfe, "/dev/");
55 memcpy(harfe + 5, name, len); 55 memcpy(harfe + 5, name, len);
@@ -58,6 +58,7 @@ find_harfe()
58 } 58 }
59 } 59 }
60 closedir(dev); 60 closedir(dev);
61
61 return harfe; 62 return harfe;
62} 63}
63 64
@@ -176,7 +177,7 @@ harfe_worker(void)
176 *lineend = 0; 177 *lineend = 0;
177 if (text_fill && lineend[-1] == '\r') 178 if (text_fill && lineend[-1] == '\r')
178 lineend[-1] = 0; 179 lineend[-1] = 0;
179 180printf( "%s\n", text );
180 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); 181 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);
181 182
182 ptime = now(); 183 ptime = now();
@@ -259,7 +260,29 @@ main(int argc, char **argv)
259 printf( "String order (left to right) is now %sscending.\n", g_stringsdescending ? "de" : "a" ); 260 printf( "String order (left to right) is now %sscending.\n", g_stringsdescending ? "de" : "a" );
260 } 261 }
261*/ 262*/
262 break; 263 if( ev.key.keysym.scancode == SDL_SCANCODE_R) {
264 fprintf( stderr, "re-read config\n" );
265 write(g_harfe_fd, "R\n", 2);
266 }
267 if( ev.key.keysym.scancode == SDL_SCANCODE_D) {
268 fprintf( stderr, "Dumping\n" );
269 write(g_harfe_fd, "D\n", 2);
270 }
271 if( ev.key.keysym.scancode == SDL_SCANCODE_C) {
272 char confdump[512];
273 config_dumpglobals( confdump, sizeof(confdump));
274 fputs( confdump, stderr);
275 for (i=0; i<g_string_count; ++i) {
276 config_dumpstring(i, confdump, sizeof(confdump));
277 fputs( confdump, stderr);
278 }
279 }
280 if( ev.key.keysym.scancode == SDL_SCANCODE_M) {
281 fprintf( stderr, "MIDIing on %d\n", g_harfe_fd );
282 if (g_harfe_connected && (g_harfe_fd != -1))
283 write(g_harfe_fd, "ME20020\nM824C00\n", 16);
284 }
285 break;
263 case SDL_MOUSEBUTTONDOWN: 286 case SDL_MOUSEBUTTONDOWN:
264/* 287/*
265 if( ( g_last_mouse_event / 1000 ) != ( engine_now( ) / 1000 ) || ev.button.x != last_click_x || ev.button.y != last_click_y ) 288 if( ( g_last_mouse_event / 1000 ) != ( engine_now( ) / 1000 ) || ev.button.x != last_click_x || ev.button.y != last_click_y )