Class: Joystick::Event

Inherits:
Object
  • Object
show all
Defined in:
ext/joystick.c

Instance Method Summary collapse

Instance Method Details

#numberObject

Returns the number of the axis or button responsible for the event.



295
296
297
298
299
300
# File 'ext/joystick.c', line 295

VALUE js_event_number(VALUE klass)
{
	int *fd;
	Data_Get_Struct(klass, int, fd);
	return INT2FIX((fd && *fd >= 0) ? jse[*fd].number : -1);
}

#timeObject

Returns the time, in milliseconds, that the event occurred. TODO what is time 0?



332
333
334
335
336
337
# File 'ext/joystick.c', line 332

VALUE js_event_time(VALUE klass)
{
	int *fd;
	Data_Get_Struct(klass, int, fd);
	return INT2FIX((fd && *fd >= 0) ? jse[*fd].time : -1);
}

#typeObject

Returns the type of the event. Normally this should either be either :axis or :button. If “something goes wrong”, the numerical type is returned.



310
311
312
313
314
315
316
317
318
319
320
321
322
323
# File 'ext/joystick.c', line 310

VALUE js_event_type(VALUE klass)
{
	int *fd;
	Data_Get_Struct(klass, int, fd);
	switch(((fd && *fd >= 0) ? jse[*fd].type : -1) & ~JS_EVENT_INIT)
	{
		case JS_EVENT_AXIS:
			return ID2SYM(rb_intern("axis"));
		case JS_EVENT_BUTTON:
			return ID2SYM(rb_intern("button"));
		default:
			return INT2FIX(((fd && *fd >= 0) ? jse[*fd].type : -1) & ~JS_EVENT_INIT);
	}
}

#valueObject

Returns the value of the event, which is internally a signed 16-bit integer. It can range from -32768 to 32767.



346
347
348
349
350
351
# File 'ext/joystick.c', line 346

VALUE js_event_value(VALUE klass)
{
	int *fd;
	Data_Get_Struct(klass, int, fd);
	return INT2FIX((fd && *fd >= 0) ? jse[*fd].value : -1);
}