diff --git a/kaccess/kaccess.cpp b/kaccess/kaccess.cpp --- a/kaccess/kaccess.cpp +++ b/kaccess/kaccess.cpp @@ -20,6 +20,7 @@ */ #include +#include #include "kaccess.h" @@ -437,7 +438,8 @@ xcb_generic_event_t* event = static_cast(message); if ((event->response_type & ~0x80) == XkbEventCode + xkb_opcode) { xkb_any_ *ev = reinterpret_cast(event); - switch (ev->xkbType) { + const int eventType = pow(2, ev->xkbType); + switch (eventType) { case XCB_XKB_EVENT_TYPE_STATE_NOTIFY: xkbStateNotify(); break;