diff --git a/tools/eis-demo-server.c b/tools/eis-demo-server.c index 8987051..71e945a 100644 --- a/tools/eis-demo-server.c +++ b/tools/eis-demo-server.c @@ -53,6 +53,7 @@ DEFINE_UNREF_CLEANUP_FUNC(eis); DEFINE_UNREF_CLEANUP_FUNC(eis_event); DEFINE_UNREF_CLEANUP_FUNC(eis_keymap); DEFINE_UNREF_CLEANUP_FUNC(eis_seat); +DEFINE_UNREF_CLEANUP_FUNC(eis_region); static void unlink_free(char **path) { if (*path) { @@ -221,12 +222,17 @@ eis_demo_server_printf_handle_event(struct eis_demo_server *server, { struct eis_client *client = eis_event_get_client(e); struct eis_seat *seat = eis_event_get_seat(e); - struct eis_device *ptr = eis_device_new(seat); + _unref_(eis_region) *rel_region = eis_region_new(); + eis_region_set_size(rel_region, 1920, 1080); + eis_region_set_offset(rel_region, 0, 0); + + struct eis_device *ptr = eis_device_new(seat); eis_device_configure_name(ptr, "test pointer"); eis_device_configure_capability(ptr, EIS_DEVICE_CAP_POINTER); colorprint("Creating pointer device %s for %s\n", eis_device_get_name(ptr), eis_client_get_name(client)); + eis_device_configure_region(ptr, rel_region); eis_device_add(ptr); eis_device_resume(ptr); /* ptr ref is dangling */ @@ -242,6 +248,20 @@ eis_demo_server_printf_handle_event(struct eis_demo_server *server, eis_device_add(kbd); eis_device_resume(kbd); /* kbd ref is dangling */ + + _unref_(eis_region) *region = eis_region_new(); + eis_region_set_size(region, 1920, 1080); + eis_region_set_offset(region, 0, 0); + + struct eis_device *abs = eis_device_new(seat); + eis_device_configure_name(abs, "test abs pointer"); + eis_device_configure_capability(abs, EIS_DEVICE_CAP_POINTER_ABSOLUTE); + colorprint("Creating abs pointer device %s for %s\n", eis_device_get_name(abs), + eis_client_get_name(client)); + eis_device_configure_region(abs, region); + eis_device_add(abs); + eis_device_resume(abs); + /* abs ref is dangling */ } break; case EIS_EVENT_SEAT_UNBIND: