Hello.
On 08/01/2013 09:39 AM, Stefan Schmidt wrote:
Treating some specific sensors as input devices. In particular
adding support for wl_compass, wl_gyroscope and wl_accelerometer here.
We have requests to start and stop sensor event receiving as well as
events to receive the different axis values for these sensors.
Signed-off-by: Stefan Schmidt <s.schm...@samsung.com>
To stir up some discussions on this I might elaborate a bit on it.
This came up on a face to face meeting between soem Intel and Samsung
folks. It is driven by the idea that some sensor are used, or at least
can be used, as input devices for games or even normal operation.
We started with many more sensors but brought it down to these three as
they seem to make the most sense. I kept the proposal small regarding
exposed requests and events to not over-engineer it from the beginning.
Right now I'm working on integrating this in weston to see how feasible
it is and have a reference implementation. Rob asked me to send this out
early to get some early feedback regarding the protocol and so I did.
Lets see if anyone has something to say about this. :)
regards
Stefan Schmidt
protocol/wayland.xml | 123
++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 123 insertions(+)
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 3cfa953..066a718 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1251,6 +1251,9 @@
<entry name="pointer" value="1" summary="The seat has pointer
devices"/>
<entry name="keyboard" value="2" summary="The seat has one or more
keyboards"/>
<entry name="touch" value="4" summary="The seat has touch
devices"/>
+ <entry name="compass" value="8" summary="The seat has compass
devices"/>
+ <entry name="gyroscope" value="16" summary="The seat has gyroscope
devices"/>
+ <entry name="accelerometer" value="32" summary="The seat has
accelerometer devices"/>
</enum>
<event name="capabilities">
@@ -1297,6 +1300,39 @@
<!-- Version 2 of additions -->
+ <request name="get_compass" since="2">
+ <description summary="return compass object">
+ The ID provided will be initialized to the wl_compass interface
+ for this seat.
+
+ This request only takes effect if the seat has the compass
+ capability.
+ </description>
+ <arg name="id" type="new_id" interface="wl_compass"/>
+ </request>
+
+ <request name="get_gyroscope" since="2">
+ <description summary="return gyroscope object">
+ The ID provided will be initialized to the wl_gyroscope interface
+ for this seat.
+
+ This request only takes effect if the seat has the gyroscope
+ capability.
+ </description>
+ <arg name="id" type="new_id" interface="wl_gyroscope"/>
+ </request>
+
+ <request name="get_accelerometer" since="2">
+ <description summary="return accelerometer object">
+ The ID provided will be initialized to the wl_accelerometer
interface
+ for this seat.
+
+ This request only takes effect if the seat has the accelerometer
+ capability.
+ </description>
+ <arg name="id" type="new_id" interface="wl_accelerometer"/>
+ </request>
+
<event name="name" since="2">
<description summary="unique identifier for this seat">
In a multiseat configuration this can be used by the client to
help
@@ -1605,6 +1641,93 @@
</event>
</interface>
+ <interface name="wl_compass" version="2">
+ <description summary="compass sensor device">
+ The wl_compass interface represents a compass
+ associated with a seat.
+ </description>
+
+ <request name="start">
+ <description summary="Start receiving events">
+ Sent to enable event receiving for the compass sensor.
+ </description>
+ </request>
+
+ <request name="stop">
+ <description summary="Stop receiving events">
+ Sent to disable event receiving for the compass sensor.
+ </description>
+ </request>
+
+ <event name="motion">
+ <description summary="Motion event coming from the compass sensor">
+ Updated sensor data available from compass
+ </description>
+ <arg name="x" type="fixed" summary="x-axis"/>
+ <arg name="y" type="fixed" summary="y-axis"/>
+ <arg name="z" type="fixed" summary="z-axis"/>
+ </event>
+
+ </interface>
+
+ <interface name="wl_gyroscope" version="2">
+ <description summary="gyroscope sensor device">
+ The wl_gyroscope interface represents a gyroscope
+ associated with a seat.
+ </description>
+
+ <request name="start">
+ <description summary="Start receiving events">
+ Sent to enable event receiving for the gyroscope sensor.
+ </description>
+ </request>
+
+ <request name="stop">
+ <description summary="Stop receiving events">
+ Sent to disable event receiving for the gyroscope sensor.
+ </description>
+ </request>
+
+ <event name="motion">
+ <description summary="Motion event coming from the gyroscope
sensor">
+ Updated sensor data available from gyroscope
+ </description>
+ <arg name="x" type="fixed" summary="x-axis"/>
+ <arg name="y" type="fixed" summary="y-axis"/>
+ <arg name="z" type="fixed" summary="z-axis"/>
+ </event>
+
+ </interface>
+
+ <interface name="wl_accelerometer" version="2">
+ <description summary="accelerometer sensor device">
+ The wl_accelerometer interface represents a accelerometer
+ associated with a seat.
+ </description>
+
+ <request name="start">
+ <description summary="Start receiving events">
+ Sent to enable event receiving for the accelerometer sensor.
+ </description>
+ </request>
+
+ <request name="stop">
+ <description summary="Stop receiving events">
+ Sent to disable event receiving for the accelerometer sensor.
+ </description>
+ </request>
+
+ <event name="motion">
+ <description summary="Motion event coming from the accelerometer
sensor">
+ Updated sensor data available from accelerometer
+ </description>
+ <arg name="x" type="fixed" summary="x-axis"/>
+ <arg name="y" type="fixed" summary="y-axis"/>
+ <arg name="z" type="fixed" summary="z-axis"/>
+ </event>
+
+ </interface>
+
<interface name="wl_output" version="2">
<description summary="compositor output region">
An output describes part of the compositor geometry. The
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel