Atspi.Device
Description: Reference for Atspi.Device

### Class

# AtspiDevice

#### Description

    class Atspi.Device : GObject.Object
    {
      /* No available fields */
    }

No description available.

#### Ancestors

- GObject

#### Descendants

- AtspiDeviceLegacy
- AtspiDeviceX11

#### Constructors

###### atspi_device_new

Creates a new `AtspiDevice` with a specified callback function.

#### Instance methods

###### atspi_device_add_key_grab

No description available.

###### atspi_device_add_key_watcher

Add a callback that will receive a notification whenever a key is pressed or released.

###### atspi_device_generate_mouse_event

Synthesizes a mouse event at a specific screen coordinate. Most AT clients should use the `AccessibleAction` interface when tempted to generate mouse events, rather than this method. Event names: b1p = button 1 press; b2r = button 2 release; b3c = button 3 click; b2d = button 2 double-click; abs = absolute motion; rel = relative motion.

since: 2.52

###### atspi_device_get_grab_by_id

No description available.

###### atspi_device_get_locked_modifiers

Returns the locked modifiers (ie, num lock, caps lock) associated with this keyboard.

###### atspi_device_get_modifier

Gets the modifier for a given keycode, if one exists. Does not create a new mapping. This function should be used when the intention is to query a locking modifier such as num lock via atspi_device_get_locked_modifiers, rather than to add key grabs.

###### atspi_device_grab_keyboard

Attempts to grab the entire keyboard. This should only be done temporarily, as it may conflict with other applications that also want to grab the keyboard.

###### atspi_device_map_modifier

Maps the specified key code to a modifier so that it can be used in conjunction with other keys to create a key grab. If the given keycode is already mapped, then this function will return the modifier that is currently mapped to the keycode, without doing anything else. Otherwise, it will use the last modifier that AT-SPI used to map a key. If no keys have yet been mapped using this device, then it will look for a modifier that is not currently being used. If no unused modifier can be found, then it will use the first modifier by default.

###### atspi_device_notify_key

No description available.

###### atspi_device_remove_key_grab

Removes the key grab specified by `id`.

###### atspi_device_ungrab_keyboard

Removes a keyboard grab added via a call to atspi_device_add_keyboard.

###### atspi_device_unmap_modifier

Removes a mapped modifier from the given keycode.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct AtspiDeviceClass {
      GObjectClass parent_class;
      gboolean (* add_key_grab) (
        AtspiDevice* device,
        AtspiKeyDefinition* kd
      );
      void (* remove_key_grab) (
        AtspiDevice* device,
        guint id
      );
      guint (* map_modifier) (
        AtspiDevice* device,
        gint keycode
      );
      void (* unmap_modifier) (
        AtspiDevice* device,
        gint keycode
      );
      guint (* get_modifier) (
        AtspiDevice* device,
        gint keycode
      );
      gboolean (* grab_keyboard) (
        AtspiDevice* device
      );
      void (* ungrab_keyboard) (
        AtspiDevice* device
      );
      guint (* get_locked_modifiers) (
        AtspiDevice* device
      );
      void (* generate_mouse_event) (
        AtspiDevice* device,
        AtspiAccessible* obj,
        gint x,
        gint y,
        const gchar* name,
        GError** error
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`add_key_grab: gboolean (* add_key_grab) ( AtspiDevice* device, AtspiKeyDefinition* kd )`

  No description available.

`remove_key_grab: void (* remove_key_grab) ( AtspiDevice* device, guint id )`

  No description available.

`map_modifier: guint (* map_modifier) ( AtspiDevice* device, gint keycode )`

  No description available.

`unmap_modifier: void (* unmap_modifier) ( AtspiDevice* device, gint keycode )`

  No description available.

`get_modifier: guint (* get_modifier) ( AtspiDevice* device, gint keycode )`

  No description available.

`grab_keyboard: gboolean (* grab_keyboard) ( AtspiDevice* device )`

  No description available.

`ungrab_keyboard: void (* ungrab_keyboard) ( AtspiDevice* device )`

  No description available.

`get_locked_modifiers: guint (* get_locked_modifiers) ( AtspiDevice* device )`

  No description available.

`generate_mouse_event: void (* generate_mouse_event) ( AtspiDevice* device, AtspiAccessible* obj, gint x, gint y, const gchar* name, GError** error )`

  No description available.

#### Virtual methods

###### Atspi.DeviceClass.add_key_grab

No description available.

###### Atspi.DeviceClass.generate_mouse_event

Synthesizes a mouse event at a specific screen coordinate. Most AT clients should use the `AccessibleAction` interface when tempted to generate mouse events, rather than this method. Event names: b1p = button 1 press; b2r = button 2 release; b3c = button 3 click; b2d = button 2 double-click; abs = absolute motion; rel = relative motion.

since: 2.52

###### Atspi.DeviceClass.get_locked_modifiers

Returns the locked modifiers (ie, num lock, caps lock) associated with this keyboard.

###### Atspi.DeviceClass.get_modifier

Gets the modifier for a given keycode, if one exists. Does not create a new mapping. This function should be used when the intention is to query a locking modifier such as num lock via atspi_device_get_locked_modifiers, rather than to add key grabs.

###### Atspi.DeviceClass.grab_keyboard

Attempts to grab the entire keyboard. This should only be done temporarily, as it may conflict with other applications that also want to grab the keyboard.

###### Atspi.DeviceClass.map_modifier

Maps the specified key code to a modifier so that it can be used in conjunction with other keys to create a key grab. If the given keycode is already mapped, then this function will return the modifier that is currently mapped to the keycode, without doing anything else. Otherwise, it will use the last modifier that AT-SPI used to map a key. If no keys have yet been mapped using this device, then it will look for a modifier that is not currently being used. If no unused modifier can be found, then it will use the first modifier by default.

###### Atspi.DeviceClass.remove_key_grab

Removes the key grab specified by `id`.

###### Atspi.DeviceClass.ungrab_keyboard

Removes a keyboard grab added via a call to atspi_device_add_keyboard.

###### Atspi.DeviceClass.unmap_modifier

Removes a mapped modifier from the given keycode.