wok-next annotate busybox/stuff/busybox-1.25-scriptreplay.u @ rev 19340
Up busybox (1.25.0)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Jul 19 18:17:18 2016 +0200 (2016-07-19) |
parents | |
children | e2bd20184e22 |
rev | line source |
---|---|
pascal@19340 | 1 --- busybox-1.25/util-linux/scriptreplay.c |
pascal@19340 | 2 +++ busybox-1.25/util-linux/scriptreplay.c |
pascal@19340 | 3 @@ -8,6 +8,13 @@ |
pascal@19340 | 4 * |
pascal@19340 | 5 */ |
pascal@19340 | 6 |
pascal@19340 | 7 +//config:config SCRIPTREPLAY_HOTKEYS |
pascal@19340 | 8 +//config: bool "speed control hotkeys" |
pascal@19340 | 9 +//config: default n |
pascal@19340 | 10 +//config: depends on SCRIPTREPLAY |
pascal@19340 | 11 +//config: help |
pascal@19340 | 12 +//config: Tune replay speed with +, -, =, space or return keys. |
pascal@19340 | 13 + |
pascal@19340 | 14 //usage:#define scriptreplay_trivial_usage |
pascal@19340 | 15 //usage: "timingfile [typescript [divisor]]" |
pascal@19340 | 16 //usage:#define scriptreplay_full_usage "\n\n" |
pascal@19340 | 17 @@ -21,6 +28,10 @@ |
pascal@19340 | 18 const char *script = "typescript"; |
pascal@19340 | 19 double delay, factor = 1000000.0; |
pascal@19340 | 20 int fd; |
pascal@19340 | 21 +#if ENABLE_SCRIPTREPLAY_HOTKEYS |
pascal@19340 | 22 + int timeout = -1; |
pascal@19340 | 23 + char buffer[KEYCODE_BUFFER_SIZE]; |
pascal@19340 | 24 +#endif |
pascal@19340 | 25 unsigned long count; |
pascal@19340 | 26 FILE *tfp; |
pascal@19340 | 27 |
pascal@19340 | 28 @@ -38,6 +49,21 @@ |
pascal@19340 | 29 while (fscanf(tfp, "%lf %lu\n", &delay, &count) == 2) { |
pascal@19340 | 30 usleep(delay * factor); |
pascal@19340 | 31 bb_copyfd_exact_size(fd, STDOUT_FILENO, count); |
pascal@19340 | 32 +#if ENABLE_SCRIPTREPLAY_HOTKEYS |
pascal@19340 | 33 + switch (read_key(0, buffer, timeout)) { |
pascal@19340 | 34 + case ' ': |
pascal@19340 | 35 + timeout = INT_MAX; |
pascal@19340 | 36 + break; |
pascal@19340 | 37 + case '=': |
pascal@19340 | 38 + factor = 1000000.0/2; |
pascal@19340 | 39 + case '-': |
pascal@19340 | 40 + factor *= 4; |
pascal@19340 | 41 + case '+': |
pascal@19340 | 42 + factor /= 2; |
pascal@19340 | 43 + default : |
pascal@19340 | 44 + timeout = -1; |
pascal@19340 | 45 + } |
pascal@19340 | 46 +#endif |
pascal@19340 | 47 } |
pascal@19340 | 48 if (ENABLE_FEATURE_CLEAN_UP) { |
pascal@19340 | 49 close(fd); |