Bugfix for TIVI-1997, TIVI-2244, TIVI-2256, A ivi cursor layer may pick up a touch...
[profile/ivi/ico-uxf-weston-plugin.git] / protocol / ico_input_mgr.xml
1 <protocol name="ico_input_mgr">
2
3   <interface name="ico_input_mgr_control" version="1">
4     <description summary="interface for manager(ex.HomeScreen)">
5       Order a correspondence charge account to the application of the input switch
6       to Multi Input Manager from HomeScreen.
7     </description>
8
9     <enum name="touch_event">
10       <description summary="touch event code">
11        Declare touch event code for send_input_event.
12       </description>
13       <entry name="up" value="0" summary="touch up event"/>
14       <entry name="down" value="1" summary="touch down event"/>
15       <entry name="reset" value="9" summary="reset touch focus"/>
16     </enum>
17
18     <request name="add_input_app">
19       <description summary="assign input switch to application">
20         Assign input switch to application from HomeScreen.
21       </description>
22       <arg name="appid" type="string" summary="application Id for input switch"/>
23       <arg name="device" type="string" summary="input device name"/>
24       <arg name="input" type="int" summary="input switch number"/>
25       <arg name="fix" type="int" summary="fixed assign to application"/>
26       <arg name="keycode" type="int" summary="switch map to keyboard event"/>
27     </request>
28
29     <request name="del_input_app">
30       <description summary="de-assign input switch to application">
31         De-assign input switch to application from HomeScreen.
32       </description>
33       <arg name="appid" type="string" summary="application Id for input switch, if NULL all applications with out fixed assign"/>
34       <arg name="device" type="string" summary="input device name, if NULL, all devices with out fixed assign"/>
35       <arg name="input" type="int" summary="input switch number, if -1, all input with out dixed assign"/>
36     </request>
37
38     <request name="send_input_event">
39       <description summary="send input event to application">
40         Mouse, Touch or Keyboard event sent to application.
41       </description>
42       <arg name="target" type="string" summary="target surface@application for input switch"/>
43       <arg name="surfaceid" type="uint" summary="event surface Id"/>
44       <arg name="type" type="int" summary="event device type"/>
45       <arg name="deviceno" type="int" summary="device number"/>
46       <arg name="time" type="uint" summary="event time"/>
47       <arg name="code" type="int" summary="event code"/>
48       <arg name="value" type="int" summary="event value"/>
49     </request>
50   </interface>
51
52   <interface name="ico_exinput" version="1">
53     <description summary="interface for application">
54       Inform the switch name and number which there is for application,
55       and notify application of ON/OFF of the switch.
56     </description>
57
58     <request name="set_input_region">
59       <arg name="target" type="string" summary="target surface@application"/>
60       <arg name="x" type="int" summary="input region X coordinate"/>
61       <arg name="y" type="int" summary="input region Y coordinate"/>
62       <arg name="width" type="int" summary="input region width"/>
63       <arg name="height" type="int" summary="input region height"/>
64       <arg name="hotspot_x" type="int" summary="hotspot of X relative coordinate"/>
65       <arg name="hotspot_y" type="int" summary="hotspot of Y relative coordinate"/>
66       <arg name="cursor_x" type="int" summary="cursor region X coordinate"/>
67       <arg name="cursor_y" type="int" summary="cursor region Y coordinate"/>
68       <arg name="cursor_width" type="int" summary="cursor region width"/>
69       <arg name="cursor_height" type="int" summary="cursor region height"/>
70       <arg name="attr" type="uint" summary="region attributes(unused)"/>
71     </request>
72
73     <request name="unset_input_region">
74       <arg name="target" type="string" summary="target surface@application"/>
75       <arg name="x" type="int" summary="input region X coordinate"/>
76       <arg name="y" type="int" summary="input region Y coordinate"/>
77       <arg name="width" type="int" summary="input region width"/>
78       <arg name="height" type="int" summary="input region height"/>
79     </request>
80
81     <event name="capabilities">
82       <description summary="event to application for input switch information">
83         Send Input device and switch information to application
84       </description>
85       <arg name="device" type="string" summary="input device name"/>
86       <arg name="type" type="int" summary="input device type (as enum type)"/>
87       <arg name="swname" type="string" summary="input switch name"/>
88       <arg name="input" type="int" summary="input switch number"/>
89       <arg name="codename" type="string" summary="input code name"/>
90       <arg name="code" type="int" summary="input code number"/>
91     </event>
92
93     <event name="code">
94       <description summary="event to application for input code information">
95         Send Input code information to application
96       </description>
97       <arg name="device" type="string" summary="input device name"/>
98       <arg name="input" type="int" summary="input switch number"/>
99       <arg name="codename" type="string" summary="input code name"/>
100       <arg name="code" type="int" summary="input code number"/>
101     </event>
102
103     <event name="input">
104       <description summary="event to application for switch input">
105         Send Input switch event to application
106       </description>
107       <arg name="time" type="uint" summary="input time of miri-sec"/>
108       <arg name="device" type="string" summary="input device name"/>
109       <arg name="input" type="int" summary="input switch number"/>
110       <arg name="code" type="int" summary="input switch code"/>
111       <arg name="state" type="int" summary="Of/Off status"/>
112     </event>
113   </interface>
114
115   <interface name="ico_input_mgr_device" version="1">
116     <description summary="interface for input controller">
117       An input controller informs attribute of the device and ON/OFF of the switch
118       to Multi Input Manager.
119     </description>
120
121     <enum name="type">
122       <description summary="capability bitmask">
123        Input Controller type mask define.
124       </description>
125       <entry name="pointer" value="1" summary="wl_pointer"/>
126       <entry name="keyboard" value="2" summary="wl_keyboard"/>
127       <entry name="touch" value="4" summary="wl_touch"/>
128       <entry name="switch" value="8" summary="exinput switch"/>
129       <entry name="haptic" value="16" summary="haptic"/>
130     </enum>
131
132     <enum name="region">
133       <description summary="input region change method">
134        Input region change method for input region change event.
135       </description>
136       <entry name="add" value="1" summary="add input region"/>
137       <entry name="remove" value="2" summary="remove input region"/>
138       <entry name="change" value="4" summary="change surface"/>
139       <entry name="removeall" value="8" summary="remove all input region"/>
140     </enum>
141
142     <request name="configure_input">
143       <description summary="input controller define input switch">
144         Define input switch from Input Controller
145       </description>
146       <arg name="device" type="string" summary="input device name"/>
147       <arg name="type" type="int" summary="input device type (as enum type)"/>
148       <arg name="swname" type="string" summary="input switch name"/>
149       <arg name="input" type="int" summary="input switch number"/>
150       <arg name="codename" type="string" summary="input code name"/>
151       <arg name="code" type="int" summary="input code number"/>
152     </request>
153
154     <request name="configure_code">
155       <description summary="input controller define input code">
156         Define input code from Input Controller
157       </description>
158       <arg name="device" type="string" summary="input device name"/>
159       <arg name="input" type="int" summary="input switch number"/>
160       <arg name="codename" type="string" summary="input code name"/>
161       <arg name="code" type="int" summary="input code number"/>
162     </request>
163
164     <request name="input_event">
165       <description summary="input controller switch input event">
166         Event of switch input from Input Controller
167       </description>
168       <arg name="time" type="uint" summary="input time of day"/>
169       <arg name="device" type="string" summary="input device name"/>
170       <arg name="input" type="int" summary="input switch number"/>
171       <arg name="code" type="int" summary="input switch code"/>
172       <arg name="state" type="int" summary="Of/Off status"/>
173     </request>
174
175     <event name="input_regions">
176       <description summary="event to application for change input regions">
177         Send input regions to haptic controller.
178       </description>
179       <arg name="regions" type="array" summary="input regions"/>
180     </event>
181   </interface>
182
183 </protocol>
184