compositor-x11: Attempt to track state without XKB
authorDaniel Stone <daniel@fooishbar.org>
Fri, 22 Jun 2012 12:21:40 +0000 (13:21 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 22 Jun 2012 15:52:07 +0000 (11:52 -0400)
commit154c34c8511b73d88ea0f86c23d97e085032d918
tree79d2c2b8718be2763137fb9d96d954b22922c2a1
parente2faa120efd897367439bf4ca733b9fa74407e26
compositor-x11: Attempt to track state without XKB

This isn't very pleasant, but it's pretty much the best we can do in the
absence of either XCB XKB support, or XCB XI2 bindings (argh!).

We get a state mask with most significant X11 events (which inexplicably
includes EnterNotify but not FocusIn), but unfortunately it's only a
single flat set of effective modifiers rather than the more granular
sets we want, so we still update the state with every key, but then also
use the core X11 state as a mask to make sure we don't get any stuck
modifiers.

Ugh.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
src/compositor-x11.c