tools/demo-client: print a server-side keymap if there was one

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2020-08-25 09:48:12 +10:00
parent ee1935b8c5
commit 31988e056d

View file

@ -108,6 +108,29 @@ setup_keymap(struct ei_device *kbd, const char *layout)
#endif
}
static void
handle_keymap(struct ei_event *event)
{
struct ei_device *device = ei_event_get_device(event);
if (!ei_device_has_capability(device, EI_DEVICE_CAP_KEYBOARD))
return;
const char *type = "unknown";
switch (ei_device_get_keymap_type(device)) {
case EI_KEYMAP_TYPE_NONE: type = "none"; break;
case EI_KEYMAP_TYPE_XKB: type = "xkb"; break;
}
const char *source = "unknown";
switch(ei_device_get_keymap_source(device)) {
case EI_KEYMAP_SOURCE_CLIENT: source = "client"; break;
case EI_KEYMAP_SOURCE_SERVER: source = "server"; break;
}
colorprint("Using keymap type %s from the %s\n", type, source);
}
static void
usage(FILE *fp, const char *argv0)
{
@ -232,6 +255,7 @@ int main(int argc, char **argv)
}
case EI_EVENT_DEVICE_ADDED:
colorprint("our device was accepted, waiting for resume\n");
handle_keymap(e);
break;
case EI_EVENT_DEVICE_RESUMED:
colorprint("our device was resumed\n");