Difference between revisions of "Gasync"
Line 14: | Line 14: | ||
|gtimer | |gtimer | ||
|gusb | |gusb | ||
− | |ghid | + | |ghid |
|- | |- | ||
|[http://man7.org/linux/man-pages/man2/poll.2.html poll] | |[http://man7.org/linux/man-pages/man2/poll.2.html poll] | ||
Line 25: | Line 25: | ||
|- | |- | ||
|} | |} | ||
+ | Notes: | ||
* ghid is not based on [https://www.kernel.org/doc/Documentation/hid/hidraw.txt hidraw] because write() does not support non-blocking mode.<br/> | * ghid is not based on [https://www.kernel.org/doc/Documentation/hid/hidraw.txt hidraw] because write() does not support non-blocking mode.<br/> | ||
* Being based on libusb, ghid claims the HID interface and detaches the kernel driver. guhid is a [https://www.kernel.org/doc/Documentation/hid/uhid.txt uhid] wrapper to allow connecting the device back with the kernel. | * Being based on libusb, ghid claims the HID interface and detaches the kernel driver. guhid is a [https://www.kernel.org/doc/Documentation/hid/uhid.txt uhid] wrapper to allow connecting the device back with the kernel. | ||
Line 40: | Line 41: | ||
|[https://msdn.microsoft.com/en-us/library/windows/desktop/ms684242%28v=vs.85%29.aspx MsgWaitForMultipleObject] | |[https://msdn.microsoft.com/en-us/library/windows/desktop/ms684242%28v=vs.85%29.aspx MsgWaitForMultipleObject] | ||
|[https://msdn.microsoft.com/en-us/library/windows/desktop/ms645536%28v=vs.85%29.aspx Raw Input] | |[https://msdn.microsoft.com/en-us/library/windows/desktop/ms645536%28v=vs.85%29.aspx Raw Input] | ||
− | |[https://www.libsdl.org/ libSDL | + | |[https://www.libsdl.org/ libSDL] |
|[https://msdn.microsoft.com/en-us/library/windows/desktop/aa363140%28v=vs.85%29.aspx COM ports] | |[https://msdn.microsoft.com/en-us/library/windows/desktop/aa363140%28v=vs.85%29.aspx COM ports] | ||
|[https://msdn.microsoft.com/en-us/library/windows/desktop/ms687012%28v=vs.85%29.aspx Waitable Timers] | |[https://msdn.microsoft.com/en-us/library/windows/desktop/ms687012%28v=vs.85%29.aspx Waitable Timers] | ||
Line 47: | Line 48: | ||
|- | |- | ||
|} | |} | ||
+ | Notes: | ||
* The libSDL events are processed synchronously. | * The libSDL events are processed synchronously. |
Revision as of 08:14, 11 May 2016
The gasync (GIMX asynchronous) library is the evolution of the GE (GIMX events) library.
In addition to input devices, gasync also handles the following components:
- serial ports (DIY USB adapter)
- high-resolution timers (delayed or periodic tasks)
- USB devices (authentication sources)
- HID devices (Logitech Wheels, GPP/Cronus/Titan One)
It also provides a default waiting interface based on poll on GNU/Linux and MsgWaitForMultipleObject on Windows.
GNU/Linux implementation
gpoll | ginput | gserial | gtimer | gusb | ghid | ||
poll | evdev | jsdev | X.Org Xi2 | termios | timerfd | libusb |
Notes:
- ghid is not based on hidraw because write() does not support non-blocking mode.
- Being based on libusb, ghid claims the HID interface and detaches the kernel driver. guhid is a uhid wrapper to allow connecting the device back with the kernel.
Windows implementation
gpoll | ginput | gserial | gtimer | gusb | ghid | |
MsgWaitForMultipleObject | Raw Input | libSDL | COM ports | Waitable Timers | libusb | HID API |
Notes:
- The libSDL events are processed synchronously.