summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Neumann <sven@gimp.org>2009-02-16 20:58:16 +0000
committerSven Neumann <neo@src.gnome.org>2009-02-16 20:58:16 +0000
commitd35689a9789f9c948aacd47c09542f8ae09ed64e (patch)
tree48c68a36cac0573468ea668391f639b0d11974c9
parentbd35d9f6a2f4c56c6e1d94f9cc39de2d9cb0425c (diff)
downloadgdk-pixbuf-d35689a9789f9c948aacd47c09542f8ae09ed64e.tar.gz
gdk/gdk.symbols implement gdk_keymap_get_caps_lock_state(). No
2009-02-16 Sven Neumann <sven@gimp.org> * gdk/gdk.symbols * gdk/directfb/gdkkeys-directfb.c: implement gdk_keymap_get_caps_lock_state(). No "state-changed" signal yet. svn path=/trunk/; revision=22341
-rw-r--r--ChangeLog6
-rw-r--r--gdk/directfb/gdkkeys-directfb.c28
-rw-r--r--gdk/gdk.symbols1
3 files changed, 34 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1b66aeba3..fff77d86c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-16 Sven Neumann <sven@gimp.org>
+
+ * gdk/gdk.symbols
+ * gdk/directfb/gdkkeys-directfb.c: implement
+ gdk_keymap_get_caps_lock_state(). No "state-changed" signal yet.
+
2009-02-16 Tor Lillqvist <tml@novell.com>
Bug 571873 - Compile error with gdk/win32/gdkselection-win32.c
diff --git a/gdk/directfb/gdkkeys-directfb.c b/gdk/directfb/gdkkeys-directfb.c
index e87b67834..34cb4c4a6 100644
--- a/gdk/directfb/gdkkeys-directfb.c
+++ b/gdk/directfb/gdkkeys-directfb.c
@@ -1715,7 +1715,7 @@ _gdk_directfb_keyboard_exit (void)
void
gdk_directfb_translate_key_event (DFBWindowEvent *dfb_event,
- GdkEventKey *event)
+ GdkEventKey *event)
{
gint len;
gchar buf[6];
@@ -1754,6 +1754,32 @@ gdk_directfb_translate_key_event (DFBWindowEvent *dfb_event,
}
/**
+ * gdk_keymap_get_caps_lock_state:
+ * @keymap: a #GdkKeymap
+ *
+ * Returns whether the Caps Lock modifer is locked.
+ *
+ * Returns: %TRUE if Caps Lock is on
+ *
+ * Since: 2.16
+ */
+gboolean
+gdk_keymap_get_caps_lock_state (GdkKeymap *keymap)
+{
+ IDirectFBInputDevice *keyboard = _gdk_display->keyboard;
+
+ if (keyboard)
+ {
+ DFBInputDeviceLockState state;
+
+ if (keyboard->GetLockState (keyboard, &state) == DFB_OK)
+ return ((state & DILS_CAPS) != 0);
+ }
+
+ return FALSE;
+}
+
+/**
* gdk_keymap_get_entries_for_keycode:
* @keymap: a #GdkKeymap or %NULL to use the default keymap
* @hardware_keycode: a keycode
diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols
index 71cf0dbc2..cfb54c202 100644
--- a/gdk/gdk.symbols
+++ b/gdk/gdk.symbols
@@ -846,6 +846,7 @@ gdk_keymap_get_direction
gdk_keymap_get_entries_for_keycode
gdk_keymap_get_entries_for_keyval
gdk_keymap_get_for_display
+gdk_keymap_get_caps_lock_state
gdk_keymap_lookup_key
gdk_keymap_translate_keyboard_state
gdk_keyval_from_name