summaryrefslogtreecommitdiff
path: root/src/libsystemd-terminal/idev-internal.h
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-08-27 18:34:55 +0200
committerDavid Herrmann <dh.herrmann@gmail.com>2014-08-27 18:42:28 +0200
commite06cc7b07465369fb7c01c9778b84cf82c82fdcf (patch)
tree508f232b7efc0c022d8a2a2180155af302b53a52 /src/libsystemd-terminal/idev-internal.h
parentc93e5a62ff599528c3bf2a8656825403aaebe093 (diff)
terminal: add xkb-based keyboard devices to idev
The idev-keyboard object provides keyboard devices to the idev interface. It uses libxkbcommon to provide proper keymap support. So far, the keyboard implementation is pretty straightforward with one keyboard device per matching evdev element. We feed everything into the system keymap and provide proper high-level keyboard events to the application. Compose-features and IM need to be added later.
Diffstat (limited to 'src/libsystemd-terminal/idev-internal.h')
-rw-r--r--src/libsystemd-terminal/idev-internal.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsystemd-terminal/idev-internal.h b/src/libsystemd-terminal/idev-internal.h
index 3301ebf6e..c416f4fad 100644
--- a/src/libsystemd-terminal/idev-internal.h
+++ b/src/libsystemd-terminal/idev-internal.h
@@ -28,6 +28,7 @@
#include <stdlib.h>
#include <systemd/sd-bus.h>
#include <systemd/sd-event.h>
+#include <xkbcommon/xkbcommon.h>
#include "hashmap.h"
#include "idev.h"
#include "list.h"
@@ -47,6 +48,14 @@ idev_element *idev_find_evdev(idev_session *s, dev_t devnum);
int idev_evdev_new(idev_element **out, idev_session *s, struct udev_device *ud);
/*
+ * Keyboard Devices
+ */
+
+bool idev_is_keyboard(idev_device *d);
+idev_device *idev_find_keyboard(idev_session *s, const char *name);
+int idev_keyboard_new(idev_device **out, idev_session *s, const char *name);
+
+/*
* Element Links
*/