Example #1
0
File: event.c Project: mewbak/arcan
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);
}
Example #2
0
File: event.c Project: Gu1/arcan
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);
}