summaryrefslogtreecommitdiff
path: root/gdk/directfb/gdkkeys-directfb.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/directfb/gdkkeys-directfb.c')
-rw-r--r--gdk/directfb/gdkkeys-directfb.c28
1 files changed, 27 insertions, 1 deletions
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