mutter/data/dbus-interfaces/org.gnome.Mutter.InputCapture.xml
Jonas Ådahl 2fb3bdf774 input-capture: Hook up capturing of events to active session
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>
2023-07-14 22:23:45 +00:00

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>