On this page
GtkEventControllerKey
GtkEventControllerKey — Event controller for key events
Functions
Signals
| void | im-update | Run Last |
| gboolean | key-pressed | Run Last |
| void | key-released | Run Last |
| gboolean | modifiers | Run Last |
Types and Values
Object Hierarchy
GObject
╰── GtkEventController
╰── GtkEventControllerKey
Includes
#include <gtk/gtk.h>
Description
GtkEventControllerKey is an event controller meant for situations where you need access to key events.
Functions
gtk_event_controller_key_new ()
GtkEventController *
gtk_event_controller_key_new (void);
Creates a new event controller that will handle key events.
Returns
a new GtkEventControllerKey
gtk_event_controller_key_set_im_context ()
void gtk_event_controller_key_set_im_context (GtkEventControllerKey *controller,GtkIMContext *im_context);
Sets the input method context of the key controller .
Parameters
controller |
||
im_context |
gtk_event_controller_key_get_im_context ()
GtkIMContext *
gtk_event_controller_key_get_im_context
(GtkEventControllerKey *controller);
Gets the input method context of the key controller .
Parameters
controller |
gtk_event_controller_key_forward ()
gboolean gtk_event_controller_key_forward (GtkEventControllerKey *controller,GtkWidget *widget);
Forwards the current event of this controller to a widget .
This function can only be used in handlers for the “key-pressed”, “key-released” or “modifiers” signals.
Parameters
controller |
||
widget |
Returns
whether the widget handled the event
gtk_event_controller_key_get_group ()
guint
gtk_event_controller_key_get_group (GtkEventControllerKey *controller);
Gets the key group of the current event of this controller . See gdk_key_event_get_group().
Parameters
controller |
Returns
the key group
Types and Values
GtkEventControllerKey
typedef struct _GtkEventControllerKey GtkEventControllerKey;
Signal Details
The “im-update” signal
void
user_function (GtkEventControllerKey *controller,
gpointer user_data)
This signal is emitted whenever the input method context filters away a keypress and prevents the controller receiving it. See gtk_event_controller_key_set_im_context() and gtk_im_context_filter_keypress().
Parameters
controller |
the object which received the signal |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
The “key-pressed” signal
gboolean
user_function (GtkEventControllerKey *controller,
guint keyval,
guint keycode,
GdkModifierType state,
gpointer user_data)
This signal is emitted whenever a key is pressed.
Parameters
controller |
the object which received the signal. |
|
keyval |
the pressed key. |
|
keycode |
the raw code of the pressed key. |
|
state |
the bitmask, representing the state of modifier keys and pointer buttons. See GdkModifierType. |
|
user_data |
user data set when the signal handler was connected. |
Returns
TRUE if the key press was handled, FALSE otherwise.
Flags: Run Last
The “key-released” signal
void
user_function (GtkEventControllerKey *controller,
guint keyval,
guint keycode,
GdkModifierType state,
gpointer user_data)
This signal is emitted whenever a key is released.
Parameters
controller |
the object which received the signal. |
|
keyval |
the released key. |
|
keycode |
the raw code of the released key. |
|
state |
the bitmask, representing the state of modifier keys and pointer buttons. See GdkModifierType. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
The “modifiers” signal
gboolean
user_function (GtkEventControllerKey *controller,
GdkModifierType keyval,
gpointer user_data)
This signal is emitted whenever the state of modifier keys and pointer buttons change.
Parameters
controller |
the object which received the signal. |
|
keyval |
the released key. |
|
state |
the bitmask, representing the new state of modifier keys and pointer buttons. See GdkModifierType. |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
See Also
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkEventControllerKey.html