# Gdk::Device Class Reference

A Gdk::Device instance contains a detailed description of an extended input device. More...

Inherits Glib::Object.

Collaboration diagram for Gdk::Device:
[legend]

List of all members.

## Public Member Functions

virtual | ~Device ()
GdkDevice* | gobj ()
| Provides access to the underlying C GObject.
const GdkDevice* | gobj () const
| Provides access to the underlying C GObject.
GdkDevice* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::ustring | get_name () const
bool | get_has_cursor () const
InputSource | get_source () const
void | set_source (InputSource source)
InputMode | get_mode () const
bool | set_mode (InputMode mode)
bool | get_key (guint index_, guint& keyval, ModifierType& modifiers) const
void | set_key (guint index_, guint keyval, ModifierType modifiers)
AxisUse | get_axis_use (guint index_) const
void | set_axis_use (guint index_, AxisUse use)
void | get_state (const Glib::RefPtr< Window >& window, double& axes, ModifierType& mask)
| Gets the current state of a device.
bool | get_history (const Glib::RefPtr< Window >& window, guint32 start, guint32 stop, GdkTimeCoord**& events, int& n_events)
| Obtains the motion history for a device; given a starting and ending timestamp, return all events in the motion history for the device in the given range of time.
guint | get_n_axes () const
bool | get_axis_value (double& axes, GdkAtom axis_label, double&value) const
bool | get_axis (double& axes, AxisUse use, double&value) const
| Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis use.
Glib::RefPtr< Display > | get_display ()
Glib::RefPtr< const Display > | get_display () const
Glib::RefPtr< Device > | get_associated_device ()
Glib::RefPtr< const Device > | get_associated_device () const
DeviceType | get_device_type () const
GdkGrabStatus | grab (const Glib::RefPtr< Window >& window, GrabOwnership grab_ownership, bool owner_events, EventMask event_mask, const Cursor& cursor, guint32 time_)
void | ungrab (guint32 time_)

## Protected Member Functions

| Device ()

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gdk::Device > | wrap (GdkDevice* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A Gdk::Device instance contains a detailed description of an extended input device.

## Constructor & Destructor Documentation

virtual Gdk::Device::~Device | ( |  | ) | `[virtual]`

Gdk::Device::Device | ( |  | ) | `[protected]`

## Member Function Documentation

Glib::RefPtr<Device> Gdk::Device::get_associated_device | ( |  | ) |

Glib::RefPtr<const Device> Gdk::Device::get_associated_device | ( |  | ) | const

bool Gdk::Device::get_axis | ( | double & | axes,
|  | AxisUse | use,
|  | double & | value |
| ) |  |  | const

Interprets an array of double as axis values for a given device, and locates the value in the array for a given axis use.

Parameters:

  | axes | Pointer to an array of axes.
  | use | The use to look for.
  | value | Location to store the found value.

Returns:
  `true` if the given axis use was found, otherwise `false`.

AxisUse Gdk::Device::get_axis_use | ( | guint | index_ | ) | const

bool Gdk::Device::get_axis_value | ( | double & | axes,
|  | GdkAtom | axis_label,
|  | double & | value |
| ) |  |  | const

DeviceType Gdk::Device::get_device_type | ( |  | ) | const

Glib::RefPtr<Display> Gdk::Device::get_display | ( |  | ) |

Glib::RefPtr<const Display> Gdk::Device::get_display | ( |  | ) | const

bool Gdk::Device::get_has_cursor | ( |  | ) | const

bool Gdk::Device::get_history | ( | const Glib::RefPtr< Window >& | window,
|  | guint32 | start,
|  | guint32 | stop,
|  | GdkTimeCoord **& | events,
|  | int & | n_events |
| ) |  |  |

Obtains the motion history for a device; given a starting and ending timestamp, return all events in the motion history for the device in the given range of time.

Some windowing systems do not support motion history, in which case, `false` will be returned. (This is not distinguishable from the case where motion history is supported and no events were found.)

Parameters:

  | window | The window with respect to which which the event coordinates will be reported.
  | start | Starting timestamp for range of events to return.
  | stop | Ending timestamp for the range of events to return.
  | events | Location to store a newly-allocated array of Gdk::TimeCoord, or `0`.
  | n_events | Location to store the length of events, or `0`.

Returns:
  `true` if the windowing system supports motion history and at least one event was found.

bool Gdk::Device::get_key | ( | guint | index_,
|  | guint & | keyval,
|  | ModifierType& | modifiers |
| ) |  |  | const

InputMode Gdk::Device::get_mode | ( |  | ) | const

guint Gdk::Device::get_n_axes | ( |  | ) | const

Glib::ustring Gdk::Device::get_name | ( |  | ) | const

InputSource Gdk::Device::get_source | ( |  | ) | const

void Gdk::Device::get_state | ( | const Glib::RefPtr< Window >& | window,
|  | double & | axes,
|  | ModifierType& | mask |
| ) |  |  |

Gets the current state of a device.

Parameters:

  | window | A Gdk::Window.
  | axes | An array of doubles to store the values of the axes of device in, or `0`.
  | mask | Location to store the modifiers, or `0`.

const GdkDevice* Gdk::Device::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdkDevice* Gdk::Device::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GdkDevice* Gdk::Device::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

GdkGrabStatus Gdk::Device::grab | ( | const Glib::RefPtr< Window >& | window,
|  | GrabOwnership | grab_ownership,
|  | bool | owner_events,
|  | EventMask | event_mask,
|  | const Cursor& | cursor,
|  | guint32 | time_ |
| ) |  |  |

void Gdk::Device::set_axis_use | ( | guint | index_,
|  | AxisUse | use |
| ) |  |  |

void Gdk::Device::set_key | ( | guint | index_,
|  | guint | keyval,
|  | ModifierType | modifiers |
| ) |  |  |

bool Gdk::Device::set_mode | ( | InputMode | mode | ) |

void Gdk::Device::set_source | ( | InputSource | source | ) |

void Gdk::Device::ungrab | ( | guint32 | time_ | ) |

## Friends And Related Function Documentation

Glib::RefPtr< Gdk::Device > wrap | ( | GdkDevice * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gdkmm/device.h