]>
git.proxmox.com Git - mirror_qemu.git/blob - ui/dbus-display1.xml
1 <?xml version=
"1.0" encoding=
"utf-8"?>
6 This interface is implemented on ``/org/qemu/Display1/VM``.
8 <interface name=
"org.qemu.Display1.VM">
14 <property name=
"Name" type=
"s" access=
"read"/>
21 <property name=
"UUID" type=
"s" access=
"read"/>
26 The list of consoles available on ``/org/qemu/Display1/Console_$id``.
28 <property name=
"ConsoleIDs" type=
"au" access=
"read"/>
32 org.qemu.Display1.Console:
34 This interface is implemented on ``/org/qemu/Display1/Console_$id``. You
35 may discover available consoles through introspection or with the
36 :dbus:prop:`org.qemu.Display1.VM.ConsoleIDs` property.
38 A console is attached to a video device head. It may be "Graphic" or
39 "Text" (see :dbus:prop:`Type` and other properties).
41 Interactions with a console may be done with
42 :dbus:iface:`org.qemu.Display1.Keyboard` and
43 :dbus:iface:`org.qemu.Display1.Mouse` interfaces when available.
45 <interface name=
"org.qemu.Display1.Console">
48 @listener: a Unix socket FD, for peer-to-peer D-Bus communication.
50 Register a console listener, which will receive display updates, until
53 Multiple listeners may be registered simultaneously.
55 The listener is expected to implement the
56 :dbus:iface:`org.qemu.Display1.Listener` interface.
58 <method name=
"RegisterListener">
59 <arg type=
"h" name=
"listener" direction=
"in"/>
64 @width_mm: the physical display width in millimeters.
65 @height_mm: the physical display height in millimeters.
66 @xoff: horizontal offset, in pixels.
67 @yoff: vertical offset, in pixels.
68 @width: console width, in pixels.
69 @height: console height, in pixels.
71 Modify the dimensions and display settings.
73 <method name=
"SetUIInfo">
74 <arg name=
"width_mm" type=
"q" direction=
"in"/>
75 <arg name=
"height_mm" type=
"q" direction=
"in"/>
76 <arg name=
"xoff" type=
"i" direction=
"in"/>
77 <arg name=
"yoff" type=
"i" direction=
"in"/>
78 <arg name=
"width" type=
"u" direction=
"in"/>
79 <arg name=
"height" type=
"u" direction=
"in"/>
85 A user-friendly name for the console (for ex: "VGA").
87 <property name=
"Label" type=
"s" access=
"read"/>
92 Graphical device head number.
94 <property name=
"Head" type=
"u" access=
"read"/>
99 Console type ("Graphic" or "Text").
101 <property name=
"Type" type=
"s" access=
"read"/>
106 Console width, in pixels.
108 <property name=
"Width" type=
"u" access=
"read"/>
113 Console height, in pixels.
115 <property name=
"Height" type=
"u" access=
"read"/>
120 The device address (ex: "pci/0000/02.0").
122 <property name=
"DeviceAddress" type=
"s" access=
"read"/>
126 org.qemu.Display1.Keyboard:
128 This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see
129 :dbus:iface:`~org.qemu.Display1.Console`).
131 <interface name=
"org.qemu.Display1.Keyboard">
134 @keycode: QEMU key number (xtkbd + special re-encoding of high bit)
136 Send a key press event.
138 <method name=
"Press">
139 <arg type=
"u" name=
"keycode" direction=
"in"/>
144 @keycode: QEMU key number (xtkbd + special re-encoding of high bit)
146 Send a key release event.
148 <method name=
"Release">
149 <arg type=
"u" name=
"keycode" direction=
"in"/>
155 The active keyboard modifiers::
161 <property name=
"Modifiers" type=
"u" access=
"read"/>
165 org.qemu.Display1.Mouse:
167 This interface in implemented on ``/org/qemu/Display1/Console_$id`` (see
168 :dbus:iface:`~org.qemu.Display1.Console` documentation).
170 .. _dbus-button-values:
182 <interface name=
"org.qemu.Display1.Mouse">
185 @button: :ref:`button value<dbus-button-values>`.
187 Send a mouse button press event.
189 <method name=
"Press">
190 <arg type=
"u" name=
"button" direction=
"in"/>
195 @button: :ref:`button value<dbus-button-values>`.
197 Send a mouse button release event.
199 <method name=
"Release">
200 <arg type=
"u" name=
"button" direction=
"in"/>
205 @x: X position, in pixels.
206 @y: Y position, in pixels.
208 Set the mouse pointer position.
210 Returns an error if not :dbus:prop:`IsAbsolute`.
212 <method name=
"SetAbsPosition">
213 <arg type=
"u" name=
"x" direction=
"in"/>
214 <arg type=
"u" name=
"y" direction=
"in"/>
219 @dx: X-delta, in pixels.
220 @dy: Y-delta, in pixels.
222 Move the mouse pointer position, relative to the current position.
224 Returns an error if :dbus:prop:`IsAbsolute`.
226 <method name=
"RelMotion">
227 <arg type=
"i" name=
"dx" direction=
"in"/>
228 <arg type=
"i" name=
"dy" direction=
"in"/>
234 Whether the mouse is using absolute movements.
236 <property name=
"IsAbsolute" type=
"b" access=
"read"/>
240 org.qemu.Display1.Listener:
242 This client-side interface must be available on
243 ``/org/qemu/Display1/Listener`` when registering the peer-to-peer
244 connection with :dbus:meth:`~org.qemu.Display1.Console.Register`.
246 <interface name=
"org.qemu.Display1.Listener">
249 @width: display width, in pixels.
250 @height: display height, in pixels.
251 @stride: data stride, in bytes.
252 @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``).
255 Resize and update the display content.
257 The data to transfer for the display update may be large. The preferred
258 scanout method is :dbus:meth:`ScanoutDMABUF`, used whenever possible.
260 <method name=
"Scanout">
261 <arg type=
"u" name=
"width" direction=
"in"/>
262 <arg type=
"u" name=
"height" direction=
"in"/>
263 <arg type=
"u" name=
"stride" direction=
"in"/>
264 <arg type=
"u" name=
"pixman_format" direction=
"in"/>
265 <arg type=
"ay" name=
"data" direction=
"in">
266 <annotation name=
"org.gtk.GDBus.C.ForceGVariant" value=
"true"/>
272 @x: X update position, in pixels.
273 @y: Y update position, in pixels.
274 @width: update width, in pixels.
275 @height: update height, in pixels.
276 @stride: data stride, in bytes.
277 @pixman_format: image format (ex: ``PIXMAN_X8R8G8B8``).
278 @data: display image data.
280 Update the display content.
282 This method is only called after a :dbus:meth:`Scanout` call.
284 <method name=
"Update">
285 <arg type=
"i" name=
"x" direction=
"in"/>
286 <arg type=
"i" name=
"y" direction=
"in"/>
287 <arg type=
"i" name=
"width" direction=
"in"/>
288 <arg type=
"i" name=
"height" direction=
"in"/>
289 <arg type=
"u" name=
"stride" direction=
"in"/>
290 <arg type=
"u" name=
"pixman_format" direction=
"in"/>
291 <arg type=
"ay" name=
"data" direction=
"in">
292 <annotation name=
"org.gtk.GDBus.C.ForceGVariant" value=
"true"/>
298 @dmabuf: the DMABUF file descriptor.
299 @width: display width, in pixels.
300 @height: display height, in pixels.
301 @stride: stride, in bytes.
302 @fourcc: DMABUF fourcc.
303 @modifier: DMABUF modifier.
304 @y0_top: whether Y position 0 is the top or not.
306 Resize and update the display content with a DMABUF.
308 <method name=
"ScanoutDMABUF">
309 <arg type=
"h" name=
"dmabuf" direction=
"in"/>
310 <arg type=
"u" name=
"width" direction=
"in"/>
311 <arg type=
"u" name=
"height" direction=
"in"/>
312 <arg type=
"u" name=
"stride" direction=
"in"/>
313 <arg type=
"u" name=
"fourcc" direction=
"in"/>
315 <arg type=
"t" name=
"modifier" direction=
"in"/>
316 <arg type=
"b" name=
"y0_top" direction=
"in"/>
321 @x: the X update position, in pixels.
322 @y: the Y update position, in pixels.
323 @width: the update width, in pixels.
324 @height: the update height, in pixels.
326 Update the display content with the current DMABUF and the given region.
328 <method name=
"UpdateDMABUF">
329 <arg type=
"i" name=
"x" direction=
"in"/>
330 <arg type=
"i" name=
"y" direction=
"in"/>
331 <arg type=
"i" name=
"width" direction=
"in"/>
332 <arg type=
"i" name=
"height" direction=
"in"/>
338 Disable the display (turn it off).
340 <method name=
"Disable">
345 @x: X mouse position, in pixels.
346 @y: Y mouse position, in pixels.
347 @on: whether the mouse is visible or not.
349 Set the mouse position and visibility.
351 <method name=
"MouseSet">
352 <arg type=
"i" name=
"x" direction=
"in"/>
353 <arg type=
"i" name=
"y" direction=
"in"/>
354 <arg type=
"i" name=
"on" direction=
"in"/>
359 @width: cursor width, in pixels.
360 @height: cursor height, in pixels.
361 @hot_x: hot-spot X position, in pixels.
362 @hot_y: hot-spot Y position, in pixels.
363 @data: the cursor data.
365 Set the mouse cursor shape and hot-spot. The "data" must be ARGB, 32-bit
368 <method name=
"CursorDefine">
369 <arg type=
"i" name=
"width" direction=
"in"/>
370 <arg type=
"i" name=
"height" direction=
"in"/>
371 <arg type=
"i" name=
"hot_x" direction=
"in"/>
372 <arg type=
"i" name=
"hot_y" direction=
"in"/>
373 <arg type=
"ay" name=
"data" direction=
"in">
374 <annotation name=
"org.gtk.GDBus.C.ForceGVariant" value=
"true"/>