From e06cc7b07465369fb7c01c9778b84cf82c82fdcf Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Wed, 27 Aug 2014 18:34:55 +0200 Subject: 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. --- src/libsystemd-terminal/idev-internal.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/libsystemd-terminal/idev-internal.h') 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 #include #include +#include #include "hashmap.h" #include "idev.h" #include "list.h" @@ -46,6 +47,14 @@ bool idev_is_evdev(idev_element *e); 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 */ -- cgit v1.2.3-54-g00ecf