Device

The #GdkDevice object represents a single input device, such as a keyboard, a mouse, a touchpad, etc.

See the #GdkDeviceManager documentation for more information about the various kinds of master and slave devices, and their relationships.

class Device : ObjectWrap {}

Constructors

this
this(void* ptr, Flag!"Take" take)

Members

Functions

connectChanged
gulong connectChanged(T callback, Flag!"After" after)

Connect to Changed signal.

connectToolChanged
gulong connectToolChanged(T callback, Flag!"After" after)

Connect to ToolChanged signal.

getAssociatedDevice
gdk.device.Device getAssociatedDevice()

Returns the associated device to device, if device is of type gdk.types.DeviceType.Master, it will return the paired pointer or keyboard.

getAxes
gdk.types.AxisFlags getAxes()

Returns the axes currently available on the device.

getAxisUse
gdk.types.AxisUse getAxisUse(uint index)

Returns the axis use for index_.

getDeviceType
gdk.types.DeviceType getDeviceType()

Returns the device type for device.

getDisplay
gdk.display.Display getDisplay()

Returns the #GdkDisplay to which device pertains.

getHasCursor
bool getHasCursor()

Determines whether the pointer follows device motion. This is not meaningful for keyboard devices, which don't have a pointer.

getKey
bool getKey(uint index, uint keyval, gdk.types.ModifierType modifiers)

If index_ has a valid keyval, this function will return true and fill in keyval and modifiers with the keyval settings.

getLastEventWindow
gdk.window.Window getLastEventWindow()

Gets information about which window the given pointer device is in, based on events that have been received so far from the display server. If another application has a pointer grab, or this application has a grab with owner_events = false, null may be returned even if the pointer is physically over one of this application's windows.

getMode
gdk.types.InputMode getMode()

Determines the mode of the device.

getNAxes
int getNAxes()

Returns the number of axes the device currently has.

getNKeys
int getNKeys()

Returns the number of keys the device currently has.

getName
string getName()

Determines the name of the device.

getPosition
void getPosition(gdk.screen.Screen screen, int x, int y)

Gets the current location of device. As a slave device coordinates are those of its master pointer, This function may not be called on devices of type gdk.types.DeviceType.Slave, unless there is an ongoing grab on them, see gdk.device.Device.grab.

getPositionDouble
void getPositionDouble(gdk.screen.Screen screen, double x, double y)

Gets the current location of device in double precision. As a slave device's coordinates are those of its master pointer, this function may not be called on devices of type gdk.types.DeviceType.Slave, unless there is an ongoing grab on them. See gdk.device.Device.grab.

getProductId
string getProductId()

Returns the product ID of this device, or null if this information couldn't be obtained. This ID is retrieved from the device, and is thus constant for it. See gdk.device.Device.getVendorId for more information.

getSeat
gdk.seat.Seat getSeat()

Returns the #GdkSeat the device belongs to.

getSource
gdk.types.InputSource getSource()

Determines the type of the device.

getVendorId
string getVendorId()

Returns the vendor ID of this device, or null if this information couldn't be obtained. This ID is retrieved from the device, and is thus constant for it.

getWindowAtPosition
gdk.window.Window getWindowAtPosition(int winX, int winY)

Obtains the window underneath device, returning the location of the device in win_x and win_y. Returns null if the window tree under device is not known to GDK (for example, belongs to another application).

getWindowAtPositionDouble
gdk.window.Window getWindowAtPositionDouble(double winX, double winY)

Obtains the window underneath device, returning the location of the device in win_x and win_y in double precision. Returns null if the window tree under device is not known to GDK (for example, belongs to another application).

grab
gdk.types.GrabStatus grab(gdk.window.Window window, gdk.types.GrabOwnership grabOwnership, bool ownerEvents, gdk.types.EventMask eventMask, gdk.cursor.Cursor cursor, uint time)

Grabs the device so that all events coming from this device are passed to this application until the device is ungrabbed with gdk.device.Device.ungrab, or the window becomes unviewable. This overrides any previous grab on the device by this client.

listSlaveDevices
gdk.device.Device[] listSlaveDevices()

If the device if of type gdk.types.DeviceType.Master, it will return the list of slave devices attached to it, otherwise it will return null

self
Device self()

Returns this, for use in with statements.

setAxisUse
void setAxisUse(uint index, gdk.types.AxisUse use)

Specifies how an axis of a device is used.

setKey
void setKey(uint index, uint keyval, gdk.types.ModifierType modifiers)

Specifies the X key event to generate when a macro button of a device is pressed.

setMode
bool setMode(gdk.types.InputMode mode)

Sets a the mode of an input device. The mode controls if the device is active and whether the device’s range is mapped to the entire screen or to a single window.

ungrab
void ungrab(uint time)

Release any grab on device.

warp
void warp(gdk.screen.Screen screen, int x, int y)

Warps device in display to the point x,y on the screen screen, unless the device is confined to a window by a grab, in which case it will be moved as far as allowed by the grab. Warping the pointer creates events as if the user had moved the mouse instantaneously to the destination.

Properties

_gType
GType _gType [@property getter]
associatedDevice
gdk.device.Device associatedDevice [@property getter]

Get associatedDevice property.

axes
gdk.types.AxisFlags axes [@property getter]

Get axes property.

deviceManager
gdk.device_manager.DeviceManager deviceManager [@property getter]

Get deviceManager property.

display
gdk.display.Display display [@property getter]

Get display property.

hasCursor
bool hasCursor [@property getter]

Get hasCursor property.

inputMode
gdk.types.InputMode inputMode [@property getter]
inputMode
gdk.types.InputMode inputMode [@property setter]
inputSource
gdk.types.InputSource inputSource [@property getter]

Get inputSource property.

nAxes
uint nAxes [@property getter]

Get nAxes property.

name
string name [@property getter]

Get name property.

numTouches
uint numTouches [@property getter]

Get numTouches property.

productId
string productId [@property getter]

Get productId property.

seat
gdk.seat.Seat seat [@property getter]

Get seat property.

seat
gdk.seat.Seat seat [@property setter]

Set seat property.

tool
gdk.device_tool.DeviceTool tool [@property getter]
type
gdk.types.DeviceType type [@property getter]

Get type property.

vendorId
string vendorId [@property getter]

Get vendorId property.

Static functions

_getGType
GType _getGType()
builder
DeviceGidBuilder builder()

Get builder for gdk.device.Device

grabInfoLibgtkOnly
bool grabInfoLibgtkOnly(gdk.display.Display display, gdk.device.Device device, gdk.window.Window grabWindow, bool ownerEvents)

Determines information about the current keyboard grab. This is not public API and must not be used by applications.

Inherited Members

From ObjectWrap

_setGObject
void _setGObject(void* cObj, Flag!"Take" take)

Set the GObject of a D ObjectWrap wrapper.

_cPtr
void* _cPtr(Flag!"Dup" dup)

Get a pointer to the underlying C object.

_ref
void* _ref(void* gObj)

Calls g_object_ref() on a GObject.

_unref
_unref(void* gObj)

Calls g_object_unref() on a GObject.

_getGType
GType _getGType()

Get the GType of an object.

_gType
GType _gType [@property getter]

GObject GType property.

self
ObjectWrap self()

Convenience method to return this cast to a type. For use in D with statements.

_getDObject
T _getDObject(void* cptr, Flag!"Take" take)

Template to get the D object from a C GObject and cast it to the given D object type.

connectSignalClosure
gulong connectSignalClosure(string signalDetail, DClosure closure, Flag!"After" after)

Connect a D closure to an object signal.

setProperty
void setProperty(string propertyName, T val)

Template for setting a GObject property.

getProperty
T getProperty(string propertyName)

Template for getting a GObject property.

compatControl
size_t compatControl(size_t what, void* data)
bindProperty
gobject.binding.Binding bindProperty(string sourceProperty, gobject.object.ObjectWrap target, string targetProperty, gobject.types.BindingFlags flags)

Creates a binding between source_property on source and target_property on target.

bindPropertyFull
gobject.binding.Binding bindPropertyFull(string sourceProperty, gobject.object.ObjectWrap target, string targetProperty, gobject.types.BindingFlags flags, gobject.closure.Closure transformTo, gobject.closure.Closure transformFrom)

Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

forceFloating
void forceFloating()

This function is intended for #GObject implementations to re-enforce a floating[floating-ref] object reference. Doing this is seldom required: all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling gobject.object.ObjectWrap.refSink.

freezeNotify
void freezeNotify()

Increases the freeze count on object. If the freeze count is non-zero, the emission of "notify" signals on object is stopped. The signals are queued until the freeze count is decreased to zero. Duplicate notifications are squashed so that at most one #GObject::notify signal is emitted for each property modified while the object is frozen.

getData
void* getData(string key)

Gets a named field from the objects table of associations (see gobject.object.ObjectWrap.setData).

getProperty
void getProperty(string propertyName, gobject.value.Value value)

Gets a property of an object.

getQdata
void* getQdata(glib.types.Quark quark)

This function gets back user data pointers stored via gobject.object.ObjectWrap.setQdata.

getv
void getv(string[] names, gobject.value.Value[] values)

Gets n_properties properties for an object. Obtained properties will be set to values. All properties must be valid. Warnings will be emitted and undefined behaviour may result if invalid properties are passed in.

isFloating
bool isFloating()

Checks whether object has a floating[floating-ref] reference.

notify
void notify(string propertyName)

Emits a "notify" signal for the property property_name on object.

notifyByPspec
void notifyByPspec(gobject.param_spec.ParamSpec pspec)

Emits a "notify" signal for the property specified by pspec on object.

refSink
gobject.object.ObjectWrap refSink()

Increase the reference count of object, and possibly remove the floating[floating-ref] reference, if object has a floating reference.

runDispose
void runDispose()

Releases all references to other objects. This can be used to break reference cycles.

setData
void setData(string key, void* data)

Each object carries around a table of associations from strings to pointers. This function lets you set an association.

setProperty
void setProperty(string propertyName, gobject.value.Value value)

Sets a property on an object.

stealData
void* stealData(string key)

Remove a specified datum from the object's data associations, without invoking the association's destroy handler.

stealQdata
void* stealQdata(glib.types.Quark quark)

This function gets back user data pointers stored via gobject.object.ObjectWrap.setQdata and removes the data from object without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example:

thawNotify
void thawNotify()

Reverts the effect of a previous call to gobject.object.ObjectWrap.freezeNotify. The freeze count is decreased on object and when it reaches zero, queued "notify" signals are emitted.

watchClosure
void watchClosure(gobject.closure.Closure closure)

This function essentially limits the life time of the closure to the life time of the object. That is, when the object is finalized, the closure is invalidated by calling gobject.closure.Closure.invalidate on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, gobject.object.ObjectWrap.ref_ and gobject.object.ObjectWrap.unref are added as marshal guards to the closure, to ensure that an extra reference count is held on object during invocation of the closure. Usually, this function will be called on closures that use this object as closure data.

connectNotify
gulong connectNotify(string detail, T callback, Flag!"After" after)

Connect to Notify signal.