2fb3bdf774
This adds the actual input capturing rerouting that takes events and first hands them to the input capture session, would it be active. Events are right now not actually processed in any way, but will eventually be passed to a libei client using libeis. A key binding for allowing cancelling the capture session is added (defaults to <Super><Shift>Escape) to avoid getting stuck in case the client doesn't even terminate the session. The added test case makes sure that the pointer moves again after pressing the keybinding. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2628>
79 lines
2.2 KiB
XML
79 lines
2.2 KiB
XML
<!DOCTYPE node PUBLIC
|
|
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
|
|
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
|
|
<node>
|
|
|
|
<!--
|
|
org.gnome.Mutter.InputCapture:
|
|
@short_description: Interface for input capture triggers
|
|
|
|
This API is private and not intended to be used outside of the integrated
|
|
system that uses libmutter. No compatibility between versions is
|
|
promised.
|
|
-->
|
|
<interface name="org.gnome.Mutter.InputCapture">
|
|
|
|
<method name="CreateSession">
|
|
<arg name="capabilities" type="u" direction="in" />
|
|
<arg name="session_path" type="o" direction="out" />
|
|
</method>
|
|
|
|
<!--
|
|
SupportedCapabilities:
|
|
|
|
<simplelist>
|
|
<member>1: KEYBOARD</member>
|
|
<member>2: POINTER</member>
|
|
<member>4: TOUCH</member>
|
|
</simplelist>
|
|
-->
|
|
<property name="SupportedCapabilities" type="u" access="read" />
|
|
|
|
</interface>
|
|
|
|
<interface name="org.gnome.Mutter.InputCapture.Session">
|
|
|
|
<method name="GetZones">
|
|
<arg name="serial" type="u" direction="out" />
|
|
<arg name="zones" type="a(uuii)" direction="out" />
|
|
</method>
|
|
|
|
<method name="AddBarrier">
|
|
<arg name="serial" type="u" direction="in" />
|
|
<arg name="position" type="(iiii)" direction="in" />
|
|
<arg name="id" type="u" direction="out" />
|
|
</method>
|
|
|
|
<method name="ClearBarriers" />
|
|
|
|
<method name="Enable" />
|
|
<method name="Disable" />
|
|
|
|
<method name="ConnectToEIS">
|
|
<annotation name="org.gtk.GDBus.C.Name" value="connect_to_eis"/>
|
|
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
|
|
<arg type="h" name="fd" direction="out"/>
|
|
</method>
|
|
|
|
<method name="Release">
|
|
<arg type="a{sv}" name="options" direction="in" />
|
|
</method>
|
|
|
|
<method name="Close" />
|
|
|
|
<signal name="Activated">
|
|
<arg type="u" name="barrier_id" direction="in" />
|
|
<arg type="u" name="activation_id" direction="in" />
|
|
<arg type="(dd)" name="cursor_position" direction="in" />
|
|
</signal>
|
|
<signal name="Deactivated">
|
|
<arg type="u" name="activation_id" direction="in" />
|
|
</signal>
|
|
<signal name="ZonesChanged" />
|
|
<signal name="Disabled" />
|
|
<signal name="Closed" />
|
|
|
|
</interface>
|
|
|
|
</node>
|