InputCaptureSession#

class InputCaptureSession(**properties: Any)#

Superclasses: Object

A representation of a long-lived input capture portal interaction.

The InputCaptureSession object is used to represent portal interactions with the input capture desktop portal that extend over multiple portal calls. Usually a caller creates an input capture session, requests the available zones and sets up pointer barriers on those zones before enabling the session.

To find available zones, call get_zones. These InputCaptureZone object represent the accessible desktop area for input capturing. InputCapturePointerBarrier objects can be set up on these zones to trigger input capture.

The InputCaptureSession wraps a Session object.

Methods#

class InputCaptureSession
connect_to_eis() int#

Connect this session to an EIS implementation and return the fd. This fd can be passed into ei_setup_backend_fd(). See the libei documentation for details.

This is a sync DBus invocation.

disable() None#

Disables this input capture session.

enable() None#

Enables this input capture session. In the future, this client may receive input events.

get_session() Session#

Return the XdpSession for this InputCapture session.

get_zones() list[InputCaptureZone]#

Obtains the current set of InputCaptureZone objects.

The returned object is valid until the zones are invalidated by the zones_changed signal.

Unless the session is active, this function returns NULL.

release(activation_id: int) None#

Releases this input capture session without a suggested cursor position.

Parameters:

activation_id

release_at(activation_id: int, cursor_x_position: float, cursor_y_position: float) None#

Releases this input capture session with a suggested cursor position. Note that the implementation is not required to honour this position.

Parameters:
  • activation_id

  • cursor_x_position – the suggested cursor x position once capture has been released

  • cursor_y_position – the suggested cursor y position once capture has been released

set_pointer_barriers(barriers: list[InputCapturePointerBarrier], cancellable: Cancellable | None = None, callback: Callable[[Object | None, AsyncResult, Any], None] | None = None, data: Any = None) None#

Sets the pointer barriers for this session. When the request is done, callback will be called. You can then call set_pointer_barriers_finish to get the results. The result of this request is the list of pointer barriers that failed to apply - barriers not present in the returned list are active.

Once the pointer barrier is applied (i.e. the reply to the DBus Request has been received), the the is_active property is changed on that barrier. Failed barriers have the property set to a False value.

Parameters:
  • barriers – the pointer barriers to apply

  • cancellable

  • callback

  • data

set_pointer_barriers_finish(result: AsyncResult) list[InputCapturePointerBarrier]#

Finishes the set-pointer-barriers request, and returns a GList with the pointer barriers that failed to apply and should be cleaned up by the caller.

Parameters:

result – a AsyncResult

Signals#

class InputCaptureSession.signals
activated(activation_id: int, options: Variant) None#

The type of the None singleton.

Parameters:
  • activation_id – the unique activation_id to identify this input capture

  • options – a GVariant with the signal options

deactivated(activation_id: int, options: Variant) None#

The type of the None singleton.

Parameters:
  • activation_id – the unique activation_id to identify this input capture

  • options – a GVariant with the signal options

disabled(options: Variant) None#

The type of the None singleton.

Parameters:

options – a GVariant with the signal options

zones_changed(options: Variant) None#

The type of the None singleton.

Parameters:

options – a GVariant with the signal options