mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 10:00:45 -05:00
f363476229
Currently, the NotifyPointerAxis method always assumes that the scroll source is CLUTTER_SCROLL_SOURCE_FINGER. This is however not always true and in some cases a remote desktop client needs to submit a PointerAxis event with a custom axis step. This is for example the case with high resolution mouse wheels, where the NotifyPointerAxisDiscrete method is unsuitable. In such cases NotifyPointerAxis needs to be called, but with the intention that the scroll source is still a mouse wheel. To solve this situation, don't assume the scroll source always to be CLUTTER_SCROLL_SOURCE_FINGER. Instead, add further flag options to NotifyPointerAxis, which allow a remote desktop client to choose the scroll source. This way a remote desktop client can choose what scroll source is the most suitable one for the current scroll event. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1636>
201 lines
5.0 KiB
XML
201 lines
5.0 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.RemoteDesktop:
|
|
@short_description: Remote desktop interface
|
|
|
|
This API is private and not intended to be used outside of the integrated
|
|
system that uses libmutter. No compatibility between versions are
|
|
promised.
|
|
-->
|
|
<interface name="org.gnome.Mutter.RemoteDesktop">
|
|
|
|
<!--
|
|
CreateSession:
|
|
@session_path: Path to the new session object
|
|
-->
|
|
<method name="CreateSession">
|
|
<arg name="session_path" type="o" direction="out" />
|
|
</method>
|
|
|
|
<!--
|
|
SupportedDeviceTypes:
|
|
@short_description: Bit mask of supported device types
|
|
|
|
Device types:
|
|
1: keyboard
|
|
2: pointer
|
|
4: touchscreen
|
|
-->
|
|
<property name="SupportedDeviceTypes" type="u" access="read" />
|
|
|
|
<!--
|
|
Version:
|
|
@short_description: API version
|
|
-->
|
|
<property name="Version" type="i" access="read" />
|
|
|
|
</interface>
|
|
|
|
<!--
|
|
org.gnome.Mutter.RemoteDesktop.Session:
|
|
@short_description: Remote desktop session
|
|
-->
|
|
<interface name="org.gnome.Mutter.RemoteDesktop.Session">
|
|
|
|
<!--
|
|
SessionId:
|
|
|
|
An identification string used for identifying a remote desktop session.
|
|
It can be used to associate screen cast sessions with a remote desktop session.
|
|
-->
|
|
<property name="SessionId" type="s" access="read" />
|
|
|
|
<!--
|
|
Start:
|
|
|
|
Start the remote desktop session
|
|
-->
|
|
<method name="Start" />
|
|
|
|
<!--
|
|
Stop:
|
|
|
|
Stop the remote desktop session
|
|
-->
|
|
<method name="Stop" />
|
|
|
|
<!--
|
|
Closed:
|
|
|
|
The session has closed.
|
|
|
|
A session doesn't have to have been started before it may be closed.
|
|
After it being closed, it can no longer be used.
|
|
-->
|
|
<signal name="Closed" />
|
|
|
|
<!--
|
|
NotifyKeyboardKeycode:
|
|
|
|
A key identified by a keysym was pressed or released
|
|
-->
|
|
<method name="NotifyKeyboardKeycode">
|
|
<arg name="keycode" type="u" direction="in" />
|
|
<arg name="state" type="b" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyKeyboardKeysym:
|
|
|
|
A key identified by a keysym was pressed or released
|
|
-->
|
|
<method name="NotifyKeyboardKeysym">
|
|
<arg name="keysym" type="u" direction="in" />
|
|
<arg name="state" type="b" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyPointerButton:
|
|
|
|
A pointer button was pressed or released
|
|
-->
|
|
<method name="NotifyPointerButton">
|
|
<arg name="button" type="i" direction="in" />
|
|
<arg name="state" type="b" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyPointerAxis:
|
|
|
|
A smooth pointer axis event notification
|
|
|
|
Possible @flags:
|
|
1: finish - scroll motion was finished (e.g. fingers lifted)
|
|
2: source_wheel - The scroll event is originated by a mouse wheel.
|
|
4: source_finger - The scroll event is originated by one or more fingers on
|
|
the device (eg. touchpads).
|
|
8: source_continuous - The scroll event is originated by the motion of some
|
|
device (eg. a scroll button is set).
|
|
|
|
Maximum one of the @flags 'source_wheel', 'source_finger',
|
|
'source_continuous' may be specified.
|
|
If no source flag is specified, `source_finger` is assumed.
|
|
-->
|
|
<method name="NotifyPointerAxis">
|
|
<arg name="dx" type="d" direction="in" />
|
|
<arg name="dy" type="d" direction="in" />
|
|
<arg name="flags" type="u" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyPointerAxisDiscrete:
|
|
|
|
A discrete pointer axis event notification
|
|
-->
|
|
<method name="NotifyPointerAxisDiscrete">
|
|
<arg name="axis" type="u" direction="in" />
|
|
<arg name="steps" type="i" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyPointerMotionRelative:
|
|
|
|
A relative pointer motion event notification
|
|
-->
|
|
<method name="NotifyPointerMotionRelative">
|
|
<arg name="dx" type="d" direction="in" />
|
|
<arg name="dy" type="d" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyPointerMotionAbsolute:
|
|
|
|
A absolute pointer motion event notification
|
|
-->
|
|
<method name="NotifyPointerMotionAbsolute">
|
|
<arg name="stream" type="s" direction="in" />
|
|
<arg name="x" type="d" direction="in" />
|
|
<arg name="y" type="d" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyTouchDown:
|
|
|
|
A absolute pointer motion event notification
|
|
-->
|
|
<method name="NotifyTouchDown">
|
|
<arg name="stream" type="s" direction="in" />
|
|
<arg name="slot" type="u" direction="in" />
|
|
<arg name="x" type="d" direction="in" />
|
|
<arg name="y" type="d" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyTouchMotion:
|
|
|
|
A absolute pointer motion event notification
|
|
-->
|
|
<method name="NotifyTouchMotion">
|
|
<arg name="stream" type="s" direction="in" />
|
|
<arg name="slot" type="u" direction="in" />
|
|
<arg name="x" type="d" direction="in" />
|
|
<arg name="y" type="d" direction="in" />
|
|
</method>
|
|
|
|
<!--
|
|
NotifyTouchUp:
|
|
|
|
A absolute pointer motion event notification
|
|
-->
|
|
<method name="NotifyTouchUp">
|
|
<arg name="slot" type="u" direction="in" />
|
|
</method>
|
|
|
|
</interface>
|
|
|
|
</node>
|