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