diff --git a/unix/gtkwin.c b/unix/gtkwin.c index 03c161da..7822a922 100644 --- a/unix/gtkwin.c +++ b/unix/gtkwin.c @@ -987,6 +987,8 @@ gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data) bool generated_something = false; char num_keypad_key = '\0'; + noise_ultralight(event->keyval); + #ifdef OSX_META_KEY_CONFIG if (event->state & inst->system_mod_mask) return false; /* let GTK process OS X Command key */ @@ -2057,6 +2059,8 @@ static gboolean button_internal(GtkFrontend *inst, GdkEventButton *event) /* Remember the timestamp. */ inst->input_event_time = event->time; + noise_ultralight(event->button); + show_mouseptr(inst, true); shift = event->state & GDK_SHIFT_MASK; @@ -2183,6 +2187,8 @@ gint motion_event(GtkWidget *widget, GdkEventMotion *event, gpointer data) /* Remember the timestamp. */ inst->input_event_time = event->time; + noise_ultralight(((uint32_t)event->x << 16) | (uint32_t)event->y); + show_mouseptr(inst, true); shift = event->state & GDK_SHIFT_MASK; diff --git a/unix/uxfdsock.c b/unix/uxfdsock.c index 2258e5bf..6b09e6db 100644 --- a/unix/uxfdsock.c +++ b/unix/uxfdsock.c @@ -167,6 +167,7 @@ static int fdsocket_try_send(FdSocket *fds) bufchain_prefix(&fds->pending_output_data, &data, &len); ret = write(fds->outfd, data, len); + noise_ultralight(ret); if (ret < 0 && errno != EWOULDBLOCK) { if (!fds->pending_error) { fds->pending_error = errno; diff --git a/unix/uxplink.c b/unix/uxplink.c index 601c2a45..385da47b 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -958,6 +958,7 @@ int main(int argc, char **argv) if (backend_connected(backend)) { ret = read(STDIN_FILENO, buf, sizeof(buf)); + noise_ultralight(ret); if (ret < 0) { perror("stdin: read"); exit(1); diff --git a/unix/uxpterm.c b/unix/uxpterm.c index 27738a3d..2352b971 100644 --- a/unix/uxpterm.c +++ b/unix/uxpterm.c @@ -14,6 +14,9 @@ const bool dup_check_launchable = false; /* no need to check host name * in conf */ const bool use_pty_argv = true; +/* gtkwin.c will call this, and in pterm it's not needed */ +void noise_ultralight(unsigned long data) { } + const struct BackendVtable *select_backend(Conf *conf) { return &pty_backend; diff --git a/unix/uxsel.c b/unix/uxsel.c index 52f346a4..cca4017c 100644 --- a/unix/uxsel.c +++ b/unix/uxsel.c @@ -114,6 +114,9 @@ int first_fd(int *state, int *rwx) void select_result(int fd, int event) { struct fd *fdstruct = find234(fds, &fd, uxsel_fd_findcmp); + + noise_ultralight(fd); + /* * Apparently this can sometimes be NULL. Can't see how, but I * assume it means I need to ignore the event since it's on an diff --git a/windows/winhandl.c b/windows/winhandl.c index 2a59885b..f106da7f 100644 --- a/windows/winhandl.c +++ b/windows/winhandl.c @@ -689,6 +689,7 @@ void handle_got_event(HANDLE event) h->u.o.sentdata(h, -h->u.o.writeerr); } else { bufchain_consume(&h->u.o.queued_data, h->u.o.lenwritten); + noise_ultralight(h->u.o.lenwritten); h->u.o.sentdata(h, bufchain_size(&h->u.o.queued_data)); handle_try_output(&h->u.o); }