summaryrefslogtreecommitdiff
path: root/protocol/ico_input_mgr.xml
blob: 73db9f2e2348a348966fb24d1dc2524ff7b20ea7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<protocol name="ico_input_mgr">

  <interface name="ico_input_mgr_control" version="1">
    <description summary="interface for manager(ex.HomeScreen)">
      Order a correspondence charge account to the application of the input switch
      to Multi Input Manager from HomeScreen.
    </description>

    <request name="add_input_app">
      <description summary="assign input switch to application">
        Assign input switch to application from HomeScreen.
      </description>
      <arg name="appid" type="string" summary="application Id for input switch"/>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="fix" type="int" summary="fixed assign to application"/>
      <arg name="keycode" type="int" summary="switch map to keyboard event"/>
    </request>

    <request name="del_input_app">
      <description summary="de-assign input switch to application">
        De-assign input switch to application from HomeScreen.
      </description>
      <arg name="appid" type="string" summary="application Id for input switch, if NULL all applications with out fixed assign"/>
      <arg name="device" type="string" summary="input device name, if NULL, all devices with out fixed assign"/>
      <arg name="input" type="int" summary="input switch number, if -1, all input with out dixed assign"/>
    </request>

    <request name="send_key_event">
      <description summary="send key input event to application">
        Keyboard event sent to application.
      </description>
      <arg name="target" type="string" summary="target surface@application for input switch"/>
      <arg name="code" type="int" summary="event code"/>
      <arg name="value" type="int" summary="event value"/>
    </request>
  </interface>

  <interface name="ico_exinput" version="1">
    <description summary="interface for application">
      Inform the switch name and number which there is for application,
      and notify application of ON/OFF of the switch.
    </description>

    <request name="set_input_region">
      <arg name="target" type="string" summary="target surface@application"/>
      <arg name="x" type="int" summary="input region X coordinate"/>
      <arg name="y" type="int" summary="input region Y coordinate"/>
      <arg name="width" type="int" summary="input region width"/>
      <arg name="height" type="int" summary="input region height"/>
      <arg name="hotspot_x" type="int" summary="hotspot of X relative coordinate"/>
      <arg name="hotspot_y" type="int" summary="hotspot of Y relative coordinate"/>
      <arg name="cursor_x" type="int" summary="cursor region X coordinate"/>
      <arg name="cursor_y" type="int" summary="cursor region Y coordinate"/>
      <arg name="cursor_width" type="int" summary="cursor region width"/>
      <arg name="cursor_height" type="int" summary="cursor region height"/>
      <arg name="attr" type="uint" summary="region attributes(unused)"/>
    </request>

    <request name="unset_input_region">
      <arg name="target" type="string" summary="target surface@application"/>
      <arg name="x" type="int" summary="input region X coordinate"/>
      <arg name="y" type="int" summary="input region Y coordinate"/>
      <arg name="width" type="int" summary="input region width"/>
      <arg name="height" type="int" summary="input region height"/>
    </request>

    <event name="capabilities">
      <description summary="event to application for input switch information">
        Send Input device and switch information to application
      </description>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="type" type="int" summary="input device type (as enum type)"/>
      <arg name="swname" type="string" summary="input switch name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="codename" type="string" summary="input code name"/>
      <arg name="code" type="int" summary="input code number"/>
    </event>

    <event name="code">
      <description summary="event to application for input code information">
        Send Input code information to application
      </description>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="codename" type="string" summary="input code name"/>
      <arg name="code" type="int" summary="input code number"/>
    </event>

    <event name="input">
      <description summary="event to application for switch input">
        Send Input switch event to application
      </description>
      <arg name="time" type="uint" summary="input time of miri-sec"/>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="code" type="int" summary="input switch code"/>
      <arg name="state" type="int" summary="Of/Off status"/>
    </event>
  </interface>

  <interface name="ico_input_mgr_device" version="1">
    <description summary="interface for input controller">
      An input controller informs attribute of the device and ON/OFF of the switch
      to Multi Input Manager.
    </description>

    <enum name="type">
      <description summary="capability bitmask">
       Input Controller type mask define.
      </description>
      <entry name="pointer" value="1" summary="wl_pointer"/>
      <entry name="keyboard" value="2" summary="wl_keyboard"/>
      <entry name="touch" value="4" summary="wl_touch"/>
      <entry name="switch" value="8" summary="exinput switch"/>
      <entry name="haptic" value="16" summary="haptic"/>
    </enum>

    <enum name="region">
      <description summary="input region change method">
       Input region change method for input region change event.
      </description>
      <entry name="add" value="1" summary="add input region"/>
      <entry name="remove" value="2" summary="remove input region"/>
      <entry name="change" value="4" summary="change surface"/>
      <entry name="removeall" value="8" summary="remove all input region"/>
    </enum>

    <request name="configure_input">
      <description summary="input controller define input switch">
        Define input switch from Input Controller
      </description>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="type" type="int" summary="input device type (as enum type)"/>
      <arg name="swname" type="string" summary="input switch name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="codename" type="string" summary="input code name"/>
      <arg name="code" type="int" summary="input code number"/>
    </request>

    <request name="configure_code">
      <description summary="input controller define input code">
        Define input code from Input Controller
      </description>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="codename" type="string" summary="input code name"/>
      <arg name="code" type="int" summary="input code number"/>
    </request>

    <request name="input_event">
      <description summary="input controller switch input event">
        Event of switch input from Input Controller
      </description>
      <arg name="time" type="uint" summary="input time of day"/>
      <arg name="device" type="string" summary="input device name"/>
      <arg name="input" type="int" summary="input switch number"/>
      <arg name="code" type="int" summary="input switch code"/>
      <arg name="state" type="int" summary="Of/Off status"/>
    </request>

    <event name="input_regions">
      <description summary="event to application for change input regions">
        Send input regions to haptic controller.
      </description>
      <arg name="regions" type="array" summary="input regions"/>
    </event>
  </interface>

</protocol>