diff options
author | Matthias Clasen <mclasen@redhat.com> | 2008-09-29 20:40:45 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2008-09-29 20:40:45 +0000 |
commit | 859aaf903d8e6ad5ca93c3205771edadfc24969c (patch) | |
tree | 29c082c6b5a720b5efdf2fdbb46bc65e9221d5d0 /gdk/gdkkeys.c | |
parent | 978e780018ebfdbb95521c60dd5ac7b7ae9e8603 (diff) | |
download | gtk+-859aaf903d8e6ad5ca93c3205771edadfc24969c.tar.gz |
Bug 107000 – Add signals to GdkKeymap for monitoring caps_lock, etc.
2008-09-29 Matthias Clasen <mclasen@redhat.com>
Bug 107000 – Add signals to GdkKeymap for monitoring caps_lock, etc.
* gdk/gdk.symbols:
* gdk/gdkkeys.[ch]: Add a new GdkKeymap::state-changed signal, and
a gdk_keymap_get_caps_lock_state function.
* gdk/x11/gdkkeys-x11.c: Implement it here. For now, only emit
state-changed when caps lock lockedness changes.
* gdk/x11/gdkdisplay-x11.c: Also select for modifier lock status
changes in the XkbSelectEventDetails call.
svn path=/trunk/; revision=21545
Diffstat (limited to 'gdk/gdkkeys.c')
-rw-r--r-- | gdk/gdkkeys.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index b01d6398c3..d3e4d1b8f3 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -33,6 +33,7 @@ enum { DIRECTION_CHANGED, KEYS_CHANGED, + STATE_CHANGED, LAST_SIGNAL }; @@ -81,6 +82,26 @@ gdk_keymap_class_init (GdkKeymapClass *klass) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + + /** + * GdkKeymap::state-changed: + * @keymap: the object on which the signal is emitted + * + * The ::state-changed signal is emitted when the state of the + * keyboard changes, e.g when the Caps Lock is turned on or off. + * See gdk_keyboard_get_caps_lock_state(). + * + * Since: 2.16 + */ + signals[STATE_CHANGED] = + g_signal_new ("state_changed", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GdkKeymapClass, state_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); } static void |