diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2014-08-27 18:34:55 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2014-08-27 18:42:28 +0200 |
commit | e06cc7b07465369fb7c01c9778b84cf82c82fdcf (patch) | |
tree | 508f232b7efc0c022d8a2a2180155af302b53a52 /src/libsystemd-terminal/idev-internal.h | |
parent | c93e5a62ff599528c3bf2a8656825403aaebe093 (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.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libsystemd-terminal/idev-internal.h b/src/libsystemd-terminal/idev-internal.h index 3301ebf6e4..c416f4fadd 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 */ |