void platform_event_analogfilter(int devid, int axisid, int lower_bound, int upper_bound, int deadzone, int buffer_sz, enum ARCAN_ANALOGFILTER_KIND kind) { struct axis_opts opt; int kernel_lim = sizeof(opt.flt_kernel) / sizeof(opt.flt_kernel[0]); if (buffer_sz > kernel_lim) buffer_sz = kernel_lim; if (buffer_sz <= 0) buffer_sz = 1; if (devid == -1) goto setmouse; int jind = find_devind(devid); if (devid < 0 || -1 == jind) return; if (axisid < 0 || axisid >= iodev.joys[jind].axis) return; struct axis_opts* daxis = &iodev.joys[jind].adata[axisid]; if (0){ setmouse: if (axisid == 0){ set_analogstate(&iodev.mx, lower_bound, upper_bound, deadzone, buffer_sz, kind); set_analogstate(&iodev.mx_r, lower_bound, upper_bound, deadzone, buffer_sz, kind); } else if (axisid == 1){ set_analogstate(&iodev.my, lower_bound, upper_bound, deadzone, buffer_sz, kind); set_analogstate(&iodev.my_r, lower_bound, upper_bound, deadzone, buffer_sz, kind); } return; } set_analogstate(daxis, lower_bound, upper_bound, deadzone, buffer_sz, kind); }
void arcan_event_analogfilter(int devid, int axisid, int lower_bound, int upper_bound, int deadzone, int buffer_sz, enum ARCAN_ANALOGFILTER_KIND kind) { struct axis_opts opt; int kernel_lim = sizeof(opt.flt_kernel) / sizeof(opt.flt_kernel[0]); if (buffer_sz > kernel_lim) buffer_sz = kernel_lim; if (buffer_sz <= 0) buffer_sz = 1; if (devid == -1) goto setmouse; devid -= ARCAN_JOYIDBASE; if (devid < 0 || devid >= iodev.n_devs) return; if (axisid < 0 || axisid >= iodev.nodes[devid].game.axes) return; struct axis_opts* daxis = &iodev.nodes[devid].game.adata[axisid]; if (0){ setmouse: if (axisid == 0){ set_analogstate(&iodev.mx, lower_bound, upper_bound, deadzone, buffer_sz, kind); set_analogstate(&iodev.mx_r, lower_bound, upper_bound, deadzone, buffer_sz, kind); } else if (axisid == 1){ set_analogstate(&iodev.my, lower_bound, upper_bound, deadzone, buffer_sz, kind); set_analogstate(&iodev.my_r, lower_bound, upper_bound, deadzone, buffer_sz, kind); } return; } set_analogstate(daxis, lower_bound, upper_bound, deadzone, buffer_sz, kind); }