AM_CONDITIONAL(ENABLE_X11, test x$enable_x11 = xyes)
if test x$enable_x11 = xyes; then
- PEPPER_X11_REQUIRES="x11 xcb-shm x11-xcb xkbcommon xkbcommon-x11"
+ PEPPER_X11_REQUIRES="x11 xcb-shm x11-xcb"
PKG_CHECK_MODULES(PEPPER_X11, [$PEPPER_X11_REQUIRES])
PEPPER_X11_REQUIRES="$PEPPER_X11_REQUIRES pepper pepper-render"
event.id = PEPPER_EVENT_KEYBOARD_KEY;
event.time = kp->time;
- event.key = xkb_state_key_get_one_sym(seat->xkb_state, kp->detail);
+ event.key = kp->detail - 8;
event.state = PEPPER_KEY_STATE_PRESSED;
pepper_object_emit_event((pepper_object_t *)seat->keyboard,
event.id = PEPPER_EVENT_KEYBOARD_KEY;
event.time = kr->time;
- event.key = xkb_state_key_get_one_sym(seat->xkb_state, kr->detail);
+ event.key = kr->detail - 8;
event.state = PEPPER_KEY_STATE_RELEASED;
pepper_object_emit_event((pepper_object_t *)seat->keyboard,
if (seat->conn)
seat->conn->seat = NULL;
- if (seat->xkb_state)
- xkb_state_unref(seat->xkb_state);
-
- if (seat->keymap)
- xkb_keymap_unref(seat->keymap);
-
- if (seat->xkb_ctx)
- xkb_context_unref(seat->xkb_ctx);
-
free(seat);
}
seat->id = X11_BACKEND_INPUT_ID;
- /* Init XKB extension */
- seat->xkb_ctx = xkb_context_new(XKB_CONTEXT_NO_FLAGS);
- if (!seat->xkb_ctx)
- {
- PEPPER_ERROR("xkb_context_new failed\n");
-
- goto failed;
- }
-
- seat->device_id = xkb_x11_get_core_keyboard_device_id(conn->xcb_connection);
- if (seat->device_id == -1)
- {
- PEPPER_ERROR("xkb_x11_get_core_keyboard_device_id failed\n");
-
- goto failed;
- }
-
- seat->keymap = xkb_x11_keymap_new_from_device(seat->xkb_ctx,
- conn->xcb_connection,
- seat->device_id,
- XKB_KEYMAP_COMPILE_NO_FLAGS);
- if (!seat->keymap)
- {
- PEPPER_ERROR("xkb_x11_keymap_new_from_device failed\n");
-
- goto failed;
- }
-
- seat->xkb_state = xkb_x11_state_new_from_device(seat->keymap, conn->xcb_connection, seat->device_id);
- if (!seat->xkb_state)
- {
- PEPPER_ERROR("xkb_x11_state_new_from_device failed\n");
-
- goto failed;
- }
-
/* Hard-coded: */
seat->pointer = pepper_input_device_create(conn->compositor, WL_SEAT_CAPABILITY_POINTER,
NULL, NULL);
#include <xcb/xcb.h>
#include <xcb/shm.h>
-#include <xkbcommon/xkbcommon.h>
-#include <xkbcommon/xkbcommon-x11.h>
#include <X11/Xlib.h>
#include <X11/Xlib-xcb.h>
#include <string.h>
uint32_t caps;
char *name;
- struct xkb_context *xkb_ctx;
- int32_t device_id;
- struct xkb_keymap *keymap;
- struct xkb_state *xkb_state;
-
pepper_list_t link;
struct wl_listener conn_destroy_listener;