notaz.gp2x.de
/
teensytas.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix an issue of lost inputs in direct control mode
[teensytas.git]
/
host
/
main.c
diff --git
a/host/main.c
b/host/main.c
index
434eaa9
..
73b8a9f
100644
(file)
--- a/
host/main.c
+++ b/
host/main.c
@@
-661,7
+661,7
@@
int main(int argc, char *argv[])
struct teensy_dev dev;
struct usbdevfs_urb urb[URB_CNT];
struct usbdevfs_urb *reaped_urb;
struct teensy_dev dev;
struct usbdevfs_urb urb[URB_CNT];
struct usbdevfs_urb *reaped_urb;
- int fixed_input_changed;
+ int fixed_input_changed
= 0
;
int evdev_fds[16];
int evdev_fd_cnt = 0;
int evdev_support;
int evdev_fds[16];
int evdev_fd_cnt = 0;
int evdev_support;
@@
-673,6
+673,7
@@
int main(int argc, char *argv[])
const char *logfn = NULL;
uint8_t *tas_data = NULL;
int use_vsync = 0; // frame increment on vsync
const char *logfn = NULL;
uint8_t *tas_data = NULL;
int use_vsync = 0; // frame increment on vsync
+ int no_start_seq = 0;
int tas_skip = 0;
int enable_sent = 0;
int abort_sent = 0;
int tas_skip = 0;
int enable_sent = 0;
int abort_sent = 0;
@@
-718,6
+719,9
@@
int main(int argc, char *argv[])
case 'v':
use_vsync = 1;
continue;
case 'v':
use_vsync = 1;
continue;
+ case 'n':
+ no_start_seq = 1;
+ continue;
default:
fprintf(stderr, "bad arg: %s\n", argv[i]);
return 1;
default:
fprintf(stderr, "bad arg: %s\n", argv[i]);
return 1;
@@
-921,7
+925,6
@@
int main(int argc, char *argv[])
}
/* something from input devices? */
}
/* something from input devices? */
- fixed_input_changed = 0;
for (i = 0; i < evdev_fd_cnt; i++) {
if (FD_ISSET(evdev_fds[i], &rfds)) {
fixed_input_changed |=
for (i = 0; i < evdev_fd_cnt; i++) {
if (FD_ISSET(evdev_fds[i], &rfds)) {
fixed_input_changed |=
@@
-1043,6
+1046,7
@@
int main(int argc, char *argv[])
pkt_out.enable.stream_to = (tas_data != NULL);
pkt_out.enable.stream_from = (outf != NULL);
pkt_out.enable.use_readinc = !use_vsync;
pkt_out.enable.stream_to = (tas_data != NULL);
pkt_out.enable.stream_from = (outf != NULL);
pkt_out.enable.use_readinc = !use_vsync;
+ pkt_out.enable.no_start_seq = no_start_seq;
ret = submit_urb(dev.fd, &urb[URB_DATA_OUT], dev.ifaces[0].ep_out,
&pkt_out, sizeof(pkt_out));
ret = submit_urb(dev.fd, &urb[URB_DATA_OUT], dev.ifaces[0].ep_out,
&pkt_out, sizeof(pkt_out));
@@
-1066,6
+1070,7
@@
int main(int argc, char *argv[])
perror("USBDEVFS_SUBMITURB PKT_FIXED_STATE");
break;
}
perror("USBDEVFS_SUBMITURB PKT_FIXED_STATE");
break;
}
+ fixed_input_changed = 0;
pending_urbs |= 1 << URB_DATA_OUT;
continue;
}
pending_urbs |= 1 << URB_DATA_OUT;
continue;
}