Add conditional for the 0.3.3 → 0.3.4 API fix in libxcb-keysyms
This commit is contained in:
parent
e29ec509e0
commit
69c9db4016
6
Makefile
6
Makefile
|
@ -13,6 +13,12 @@ CFLAGS += -Iinclude
|
||||||
CFLAGS += -I/usr/local/include
|
CFLAGS += -I/usr/local/include
|
||||||
CFLAGS += -DI3_VERSION=\"${GIT_VERSION}\"
|
CFLAGS += -DI3_VERSION=\"${GIT_VERSION}\"
|
||||||
|
|
||||||
|
ifeq ($(shell pkg-config --exact-version=0.3.3 xcb-keysyms && echo 1),1)
|
||||||
|
# xcb-keysyms fixed API from 0.3.3 to 0.3.4, so for some months, we will
|
||||||
|
# have this here. Distributions should upgrade their libxcb in the meantime.
|
||||||
|
CFLAGS += -DOLD_XCB_KEYSYMS_API
|
||||||
|
endif
|
||||||
|
|
||||||
LDFLAGS += -lm
|
LDFLAGS += -lm
|
||||||
LDFLAGS += -lxcb-event
|
LDFLAGS += -lxcb-event
|
||||||
LDFLAGS += -lxcb-property
|
LDFLAGS += -lxcb-property
|
||||||
|
|
10
src/xcb.c
10
src/xcb.c
|
@ -236,7 +236,7 @@ void xcb_get_numlock_mask(xcb_connection_t *conn) {
|
||||||
xcb_key_symbols_t *keysyms;
|
xcb_key_symbols_t *keysyms;
|
||||||
xcb_get_modifier_mapping_cookie_t cookie;
|
xcb_get_modifier_mapping_cookie_t cookie;
|
||||||
xcb_get_modifier_mapping_reply_t *reply;
|
xcb_get_modifier_mapping_reply_t *reply;
|
||||||
xcb_keycode_t *modmap, numlock;
|
xcb_keycode_t *modmap;
|
||||||
int mask, i;
|
int mask, i;
|
||||||
const int masks[8] = { XCB_MOD_MASK_SHIFT,
|
const int masks[8] = { XCB_MOD_MASK_SHIFT,
|
||||||
XCB_MOD_MASK_LOCK,
|
XCB_MOD_MASK_LOCK,
|
||||||
|
@ -261,7 +261,13 @@ void xcb_get_numlock_mask(xcb_connection_t *conn) {
|
||||||
modmap = xcb_get_modifier_mapping_keycodes(reply);
|
modmap = xcb_get_modifier_mapping_keycodes(reply);
|
||||||
|
|
||||||
/* Get the keycode for numlock */
|
/* Get the keycode for numlock */
|
||||||
numlock = xcb_key_symbols_get_keycode(keysyms, XCB_NUM_LOCK);
|
#ifdef OLD_XCB_KEYSYMS_API
|
||||||
|
xcb_keysym_t numlock = xcb_key_symbols_get_keycode(keysyms, XCB_NUM_LOCK);
|
||||||
|
#else
|
||||||
|
/* For now, we only use the first keysymbol. */
|
||||||
|
xcb_keysym_t *numlock_syms = xcb_key_symbols_get_keycode(keysyms, XCB_NUM_LOCK);
|
||||||
|
xcb_keysym_t numlock = *numlock_syms;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Check all modifiers (Mod1-Mod5, Shift, Control, Lock) */
|
/* Check all modifiers (Mod1-Mod5, Shift, Control, Lock) */
|
||||||
for (mask = 0; mask < sizeof(masks); mask++)
|
for (mask = 0; mask < sizeof(masks); mask++)
|
||||||
|
|
Loading…
Reference in New Issue