Top |
Functions
const char * | gdk_device_get_name () |
const char * | gdk_device_get_vendor_id () |
const char * | gdk_device_get_product_id () |
GdkInputSource | gdk_device_get_source () |
GdkDisplay * | gdk_device_get_display () |
gboolean | gdk_device_get_has_cursor () |
GdkSeat * | gdk_device_get_seat () |
guint | gdk_device_get_num_touches () |
GdkDeviceTool * | gdk_device_get_device_tool () |
gboolean | gdk_device_get_caps_lock_state () |
PangoDirection | gdk_device_get_direction () |
GdkModifierType | gdk_device_get_modifier_state () |
gboolean | gdk_device_get_num_lock_state () |
gboolean | gdk_device_get_scroll_lock_state () |
gboolean | gdk_device_has_bidi_layouts () |
GdkSurface * | gdk_device_get_surface_at_position () |
guint64 | gdk_device_tool_get_serial () |
GdkDeviceToolType | gdk_device_tool_get_tool_type () |
guint64 | gdk_device_tool_get_hardware_id () |
GdkAxisFlags | gdk_device_tool_get_axes () |
Properties
gboolean | caps-lock-state | Read |
PangoDirection | direction | Read |
GdkDisplay * | display | Read / Write / Construct Only |
gboolean | has-bidi-layouts | Read |
gboolean | has-cursor | Read / Write / Construct Only |
GdkModifierType | modifier-state | Read |
guint | n-axes | Read |
char * | name | Read / Write / Construct Only |
gboolean | num-lock-state | Read |
guint | num-touches | Read / Write / Construct Only |
char * | product-id | Read / Write / Construct Only |
gboolean | scroll-lock-state | Read |
GdkSeat * | seat | Read / Write |
GdkInputSource | source | Read / Write / Construct Only |
GdkDeviceTool * | tool | Read |
char * | vendor-id | Read / Write / Construct Only |
GdkAxisFlags | axes | Read / Write / Construct Only |
guint64 | hardware-id | Read / Write / Construct Only |
guint64 | serial | Read / Write / Construct Only |
GdkDeviceToolType | tool-type | Read / Write / Construct Only |
Types and Values
GdkDevice | |
enum | GdkInputSource |
enum | GdkAxisUse |
enum | GdkAxisFlags |
GdkDeviceTool | |
enum | GdkDeviceToolType |
struct | GdkTimeCoord |
Description
The GdkDevice object represents a single input device, such as a keyboard, a mouse, a touchpad, etc.
See the GdkSeat documentation for more information about the various kinds of devices, and their relationships.
Functions
gdk_device_get_name ()
const char *
gdk_device_get_name (GdkDevice *device
);
Determines the name of the device, suitable for showing in a user interface.
gdk_device_get_vendor_id ()
const char *
gdk_device_get_vendor_id (GdkDevice *device
);
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.
This function, together with gdk_device_get_product_id()
, can be used to eg.
compose GSettings paths to store settings for this device.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
static GSettings * get_device_settings (GdkDevice *device) { const char *vendor, *product; GSettings *settings; GdkDevice *device; char *path; vendor = gdk_device_get_vendor_id (device); product = gdk_device_get_product_id (device); path = g_strdup_printf ("/org/example/app/devices/%s:%s/", vendor, product); settings = g_settings_new_with_path (DEVICE_SCHEMA, path); g_free (path); return settings; } |
gdk_device_get_product_id ()
const char *
gdk_device_get_product_id (GdkDevice *device
);
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_get_vendor_id()
for more information.
gdk_device_get_source ()
GdkInputSource
gdk_device_get_source (GdkDevice *device
);
Determines the type of the device.
gdk_device_get_display ()
GdkDisplay *
gdk_device_get_display (GdkDevice *device
);
Returns the GdkDisplay to which device
pertains.
Returns
a GdkDisplay. This memory is owned by GTK, and must not be freed or unreffed.
[transfer none]
gdk_device_get_has_cursor ()
gboolean
gdk_device_get_has_cursor (GdkDevice *device
);
Determines whether the pointer follows device motion. This is not meaningful for keyboard devices, which don't have a pointer.
gdk_device_get_seat ()
GdkSeat *
gdk_device_get_seat (GdkDevice *device
);
Returns the GdkSeat the device belongs to.
gdk_device_get_num_touches ()
guint
gdk_device_get_num_touches (GdkDevice *device
);
Retrieves the number of touch points associated to device
.
gdk_device_get_device_tool ()
GdkDeviceTool *
gdk_device_get_device_tool (GdkDevice *device
);
Retrieves the GdkDeviceTool associated to device
.
gdk_device_get_caps_lock_state ()
gboolean
gdk_device_get_caps_lock_state (GdkDevice *device
);
Retrieves whether the Caps Lock modifier of the
keyboard is locked, if device
is a keyboard device.
gdk_device_get_direction ()
PangoDirection
gdk_device_get_direction (GdkDevice *device
);
Returns the direction of effective layout of the keyboard,
if device
is a keyboard device.
The direction of a layout is the direction of the majority
of its symbols. See pango_unichar_direction()
.
Returns
PANGO_DIRECTION_LTR
or PANGO_DIRECTION_RTL
if it can determine the direction. PANGO_DIRECTION_NEUTRAL
otherwise
gdk_device_get_modifier_state ()
GdkModifierType
gdk_device_get_modifier_state (GdkDevice *device
);
Retrieves the current modifier state of the keyboard,
if device
is a keyboard device.
gdk_device_get_num_lock_state ()
gboolean
gdk_device_get_num_lock_state (GdkDevice *device
);
Retrieves whether the Num Lock modifier of the
keyboard is locked, if device
is a keyboard device.
gdk_device_get_scroll_lock_state ()
gboolean
gdk_device_get_scroll_lock_state (GdkDevice *device
);
Retrieves whether the Scroll Lock modifier of the
keyboard is locked, if device
is a keyboard device.
gdk_device_has_bidi_layouts ()
gboolean
gdk_device_has_bidi_layouts (GdkDevice *device
);
Determines if keyboard layouts for both right-to-left and
left-to-right languages are in use on the keyboard, if
device
is a keyboard device.
gdk_device_get_surface_at_position ()
GdkSurface * gdk_device_get_surface_at_position (GdkDevice *device
,double *win_x
,double *win_y
);
Obtains the surface underneath device
, returning the location of the device in win_x
and win_y
in
double precision. Returns NULL
if the surface tree under device
is not known to GDK (for example,
belongs to another application).
Parameters
device |
pointer GdkDevice to query info to. |
|
win_x |
return location for the X coordinate of the device location,
relative to the surface origin, or |
[out][allow-none] |
win_y |
return location for the Y coordinate of the device location,
relative to the surface origin, or |
[out][allow-none] |
gdk_device_tool_get_serial ()
guint64
gdk_device_tool_get_serial (GdkDeviceTool *tool
);
Gets the serial of this tool, this value can be used to identify a physical tool (eg. a tablet pen) across program executions.
gdk_device_tool_get_tool_type ()
GdkDeviceToolType
gdk_device_tool_get_tool_type (GdkDeviceTool *tool
);
Gets the GdkDeviceToolType of the tool.
gdk_device_tool_get_hardware_id ()
guint64
gdk_device_tool_get_hardware_id (GdkDeviceTool *tool
);
Gets the hardware ID of this tool, or 0 if it's not known. When
non-zero, the identificator is unique for the given tool model,
meaning that two identical tools will share the same hardware_id
,
but will have different serial numbers (see gdk_device_tool_get_serial()
).
This is a more concrete (and device specific) method to identify
a GdkDeviceTool than gdk_device_tool_get_tool_type()
, as a tablet
may support multiple devices with the same GdkDeviceToolType,
but having different hardware identificators.
gdk_device_tool_get_axes ()
GdkAxisFlags
gdk_device_tool_get_axes (GdkDeviceTool *tool
);
Gets the axes of the tool.
Types and Values
GdkDevice
typedef struct _GdkDevice GdkDevice;
The GdkDevice struct contains only private fields and should not be accessed directly.
enum GdkInputSource
An enumeration describing the type of an input device in general terms.
Members
the device is a mouse. (This will be reported for the core pointer, even if it is something else, such as a trackball.) |
||
the device is a stylus of a graphics tablet or similar device. |
||
the device is a keyboard. |
||
the device is a direct-input touch device, such as a touchscreen or tablet |
||
the device is an indirect touch device, such as a touchpad |
||
the device is a trackpoint |
||
the device is a "pad", a collection of buttons, rings and strips found in drawing tablets |
enum GdkAxisUse
An enumeration describing the way in which a device axis (valuator) maps onto the predefined valuator types that GTK understands.
Note that the X and Y axes are not really needed; pointer devices report their location via the x/y members of events regardless. Whether X and Y are present as axes depends on the GDK backend.
Members
the axis is ignored. |
||
the axis is used as the x axis. |
||
the axis is used as the y axis. |
||
the axis is used as the scroll x delta |
||
the axis is used as the scroll y delta |
||
the axis is used for pressure information. |
||
the axis is used for x tilt information. |
||
the axis is used for y tilt information. |
||
the axis is used for wheel information. |
||
the axis is used for pen/tablet distance information |
||
the axis is used for pen rotation information |
||
the axis is used for pen slider information |
||
a constant equal to the numerically highest axis value. |
enum GdkAxisFlags
Flags describing the current capabilities of a device/tool.
GdkDeviceTool
typedef struct _GdkDeviceTool GdkDeviceTool;
A physical tool associated to a GdkDevice.
enum GdkDeviceToolType
Indicates the specific type of tool being used being a tablet. Such as an airbrush, pencil, etc.
struct GdkTimeCoord
struct GdkTimeCoord { guint32 time; GdkAxisFlags flags; double axes[GDK_AXIS_LAST]; };
A GdkTimeCoord stores a single event in a motion history.
Members
The timestamp for this event. |
||
GdkAxisFlags |
Flags indicating what axes are present |
|
axis values. |
[array fixed-size=12] |
Property Details
The “caps-lock-state”
property
“caps-lock-state” gboolean
Whether the keyboard caps lock is on.
Owner: GdkDevice
Flags: Read
Default value: FALSE
The “direction”
property
“direction” PangoDirection
The direction of the current layout of the keyboard.
Owner: GdkDevice
Flags: Read
Default value: PANGO_DIRECTION_NEUTRAL
The “display”
property
“display” GdkDisplay *
The GdkDisplay the GdkDevice pertains to.
Owner: GdkDevice
Flags: Read / Write / Construct Only
The “has-bidi-layouts”
property
“has-bidi-layouts” gboolean
Whether the keyboard has bidi layouts.
Owner: GdkDevice
Flags: Read
Default value: FALSE
The “has-cursor”
property
“has-cursor” gboolean
Whether the device is represented by a cursor on the screen.
Owner: GdkDevice
Flags: Read / Write / Construct Only
Default value: FALSE
The “modifier-state”
property
“modifier-state” GdkModifierType
The modifier state of the keyboard.
Owner: GdkDevice
Flags: Read
The “n-axes”
property
“n-axes” guint
Number of axes in the device.
Owner: GdkDevice
Flags: Read
Default value: 0
The “name”
property
“name” char *
The device name.
Owner: GdkDevice
Flags: Read / Write / Construct Only
Default value: NULL
The “num-lock-state”
property
“num-lock-state” gboolean
Whether the keyboard num lock is on.
Owner: GdkDevice
Flags: Read
Default value: FALSE
The “num-touches”
property
“num-touches” guint
The maximal number of concurrent touches on a touch device. Will be 0 if the device is not a touch device or if the number of touches is unknown.
Owner: GdkDevice
Flags: Read / Write / Construct Only
Default value: 0
The “product-id”
property
“product-id” char *
Product ID of this device, see gdk_device_get_product_id()
.
Owner: GdkDevice
Flags: Read / Write / Construct Only
Default value: NULL
The “scroll-lock-state”
property
“scroll-lock-state” gboolean
Whether the keyboard scroll lock is on.
Owner: GdkDevice
Flags: Read
Default value: FALSE
The “source”
property
“source” GdkInputSource
Source type for the device.
Owner: GdkDevice
Flags: Read / Write / Construct Only
Default value: GDK_SOURCE_MOUSE
The “tool”
property
“tool” GdkDeviceTool *
The tool that is currently used with this device.
Owner: GdkDevice
Flags: Read
The “vendor-id”
property
“vendor-id” char *
Vendor ID of this device, see gdk_device_get_vendor_id()
.
Owner: GdkDevice
Flags: Read / Write / Construct Only
Default value: NULL
The “axes”
property
“axes” GdkAxisFlags
Tool axes.
Owner: GdkDeviceTool
Flags: Read / Write / Construct Only
The “hardware-id”
property
“hardware-id” guint64
Hardware ID.
Owner: GdkDeviceTool
Flags: Read / Write / Construct Only
Default value: 0
The “serial”
property
“serial” guint64
Serial number.
Owner: GdkDeviceTool
Flags: Read / Write / Construct Only
Default value: 0
The “tool-type”
property
“tool-type” GdkDeviceToolType
Tool type.
Owner: GdkDeviceTool
Flags: Read / Write / Construct Only
Default value: GDK_DEVICE_TOOL_TYPE_UNKNOWN
Signal Details
The “changed”
signal
void user_function (GdkDevice *device, gpointer user_data)
The ::changed signal is emitted either when the GdkDevice has changed the number of either axes or keys. For example on X11 this will normally happen when the physical device routing events through the logical device changes (for example, user switches from the USB mouse to a tablet); in that case the logical device will change to reflect the axes and keys on the new physical device.
Parameters
device |
the GdkDevice that changed. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
The “tool-changed”
signal
void user_function (GdkDevice *device, GdkDeviceTool *tool, gpointer user_data)
The ::tool-changed signal is emitted on pen/eraser GdkDevices whenever tools enter or leave proximity.
Parameters
device |
the GdkDevice that changed. |
|
tool |
The new current tool |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last