doc/syscalls/90002_touch.md
The touch driver allows the process to interract with a touch panel.
0Description: Does the driver exist?
Argument 1: unused
Argument 2: unused
Returns: Success if it exists, otherwise NODEVICE
1Description: Enable the single touch function of the panel. This will enable the touch panel if at least one app enables it.
Argument 1: unused
Argument 2: unused
Returns: Ok(())
2Description: Disable the single touch function of panel. This will disable the touch panel if all apps disable it.
Argument 1: unused
Argument 2: unused
Returns: Ok(())
10Description: Acknowledge that the multi touch buffer has been read. Multi touch events are reported by filling a previously allows_readwrite buffer. When receving a callback with the notification for a multi touch event, the app must acknowledge it before it can recevie another callback.
Argument 1: unused
Argument 2: unused
Returns: Ok(())
11Description: Enable the multi touch function of the panel. This will enable the touch panel if at least one app enables it.
Argument 1: unused
Argument 2: unused
Returns: Ok(())
12Description: Disable the multi touch function of panel. This will disable the touch panel if all apps disable it.
Argument 1: unused
Argument 2: unused
Returns: Ok(())
100Description: Get the number of touch points available
Argument 1: unused
Argument 2: unused
Returns: SUCCESS_U32 with U32 being the number of available touches
0Description: Subscribe to single touch.
Callback signature:
Returns: Ok(()) if the subscribe was successful.
1Description: Subscribe to gestures.
Callback signature:
Returns: Ok(()) if the subscribe was successful.
2Description: Subscribe to multi touch events.
Callback signature:
Returns: Ok(()) if the subscribe was successful.
0Description: Buffer to write multi touch events
Buffer format:
0 1 2 4 6 7 8 ...
+---------+-----------+------------------+------------------+-----------+---------------+--------- ...
| id (u8) | type (u8) | x (u16) | y (u16) | size (u8) | pressure (u8) | ...
+---------+-----------+------------------+------------------+-----------+---------------+--------- ...
| Touch 0 | Touch 1 ...
Returns: Ok(()) if the subscribe was successful, INVAL if the buffer's length is not a multiple of the color depth length.