GdkSeat

GdkSeat — Object representing a user seat

Properties

GdkDisplay * display Read / Write / Construct Only

Signals

void device-added Run Last
void device-removed Run Last
void tool-added Run Last
void tool-removed Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GdkSeat

Includes

#include <gdk/gdk.h>

Description

The GdkSeat object represents a collection of input devices that belong to a user.

Functions

gdk_seat_get_display ()

GdkDisplay *
gdk_seat_get_display (GdkSeat *seat);

Returns the GdkDisplay this seat belongs to.

Parameters

seat

a GdkSeat

 

Returns

a GdkDisplay. This object is owned by GTK and must not be freed.

[transfer none]


gdk_seat_get_capabilities ()

GdkSeatCapabilities
gdk_seat_get_capabilities (GdkSeat *seat);

Returns the capabilities this GdkSeat currently has.

Parameters

seat

a GdkSeat

 

Returns

the seat capabilities


gdk_seat_get_pointer ()

GdkDevice *
gdk_seat_get_pointer (GdkSeat *seat);

Returns the master device that routes pointer events.

Parameters

seat

a GdkSeat

 

Returns

a master GdkDevice with pointer capabilities. This object is owned by GTK and must not be freed.

[transfer none][nullable]


gdk_seat_get_keyboard ()

GdkDevice *
gdk_seat_get_keyboard (GdkSeat *seat);

Returns the master device that routes keyboard events.

Parameters

seat

a GdkSeat

 

Returns

a master GdkDevice with keyboard capabilities. This object is owned by GTK and must not be freed.

[transfer none][nullable]


gdk_seat_get_slaves ()

GList *
gdk_seat_get_slaves (GdkSeat *seat,
                     GdkSeatCapabilities capabilities);

Returns the slave devices that match the given capabilities.

Parameters

seat

a GdkSeat

 

capabilities

capabilities to get devices for

 

Returns

A list of GdkDevices. The list must be freed with g_list_free(), the elements are owned by GDK and must not be freed.

[transfer container][element-type GdkDevice]


gdk_seat_get_master_pointers ()

GList *
gdk_seat_get_master_pointers (GdkSeat *seat,
                              GdkSeatCapabilities capabilities);

Returns all master pointers with the given capabilities driven by this seat . On most backends this function will return a list with a single element (meaning that all input devices drive the same onscreen cursor).

In other backends where there can possibly be multiple foci (eg. wayland), this function will return all master GdkDevices that represent these.

Parameters

seat

The GdkSeat

 

capabilities

Queried capabilities

 

Returns

A list of master pointing devices.

[transfer container][element-type GdkDevice]

Types and Values

GdkSeat

typedef struct _GdkSeat GdkSeat;

The GdkSeat struct contains only private fields and should not be accessed directly.


enum GdkSeatCapabilities

Flags describing the seat capabilities.

Members

GDK_SEAT_CAPABILITY_NONE

No input capabilities

 

GDK_SEAT_CAPABILITY_POINTER

The seat has a pointer (e.g. mouse)

 

GDK_SEAT_CAPABILITY_TOUCH

The seat has touchscreen(s) attached

 

GDK_SEAT_CAPABILITY_TABLET_STYLUS

The seat has drawing tablet(s) attached

 

GDK_SEAT_CAPABILITY_KEYBOARD

The seat has keyboard(s) attached

 

GDK_SEAT_CAPABILITY_TABLET_PAD

The seat has drawing tablet pad(s) attached

 

GDK_SEAT_CAPABILITY_ALL_POINTING

The union of all pointing capabilities

 

GDK_SEAT_CAPABILITY_ALL

The union of all capabilities

 

Property Details

The “display” property

  “display”                  GdkDisplay *

GdkDisplay of this seat.

Owner: GdkSeat

Flags: Read / Write / Construct Only

Signal Details

The “device-added” signal

void
user_function (GdkSeat   *seat,
               GdkDevice *device,
               gpointer   user_data)

The ::device-added signal is emitted when a new input device is related to this seat.

Parameters

seat

the object on which the signal is emitted

 

device

the newly added GdkDevice.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “device-removed” signal

void
user_function (GdkSeat   *seat,
               GdkDevice *device,
               gpointer   user_data)

The ::device-removed signal is emitted when an input device is removed (e.g. unplugged).

Parameters

seat

the object on which the signal is emitted

 

device

the just removed GdkDevice.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tool-added” signal

void
user_function (GdkSeat       *seat,
               GdkDeviceTool *tool,
               gpointer       user_data)

The ::tool-added signal is emitted whenever a new tool is made known to the seat. The tool may later be assigned to a device (i.e. on proximity with a tablet). The device will emit the “tool-changed” signal accordingly.

A same tool may be used by several devices.

Parameters

seat

the object on which the signal is emitted

 

tool

the new GdkDeviceTool known to the seat

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “tool-removed” signal

void
user_function (GdkSeat       *seat,
               GdkDeviceTool *tool,
               gpointer       user_data)

This signal is emitted whenever a tool is no longer known to this seat .

Parameters

seat

the object on which the signal is emitted

 

tool

the just removed GdkDeviceTool

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GdkDisplay, GdkDevice