Merge pull request #558 from psychon/xkb-detectable-autorepeat

Xkb detectable autorepeat

Closes https://github.com/awesomeWM/awesome/pull/558.
This commit is contained in:
Daniel Hahler 2015-11-19 22:22:52 +01:00
commit c9c60810cc
1 changed files with 25 additions and 14 deletions

29
xkb.c
View File

@ -275,14 +275,25 @@ xkb_init(void)
XCB_XKB_MAP_PART_VIRTUAL_MODS | XCB_XKB_MAP_PART_VIRTUAL_MODS |
XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP; XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP;
xcb_xkb_select_events_checked(globalconf.connection, /* Enable detectable auto-repeat, but ignore failures */
XCB_XKB_ID_USE_CORE_KBD, xcb_discard_reply(globalconf.connection,
map, xcb_xkb_per_client_flags(globalconf.connection,
0, XCB_XKB_ID_USE_CORE_KBD,
map, XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT,
map_parts, XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT,
map_parts, 0,
0); 0,
0)
.sequence);
xcb_xkb_select_events(globalconf.connection,
XCB_XKB_ID_USE_CORE_KBD,
map,
0,
map,
map_parts,
map_parts,
0);
/* load keymap to use when resolving keypresses */ /* load keymap to use when resolving keypresses */
xkb_init_keymap(); xkb_init_keymap();
@ -294,7 +305,7 @@ void
xkb_free(void) xkb_free(void)
{ {
// unsubscribe from all events // unsubscribe from all events
xcb_xkb_select_events_checked(globalconf.connection, xcb_xkb_select_events(globalconf.connection,
XCB_XKB_ID_USE_CORE_KBD, XCB_XKB_ID_USE_CORE_KBD,
0, 0,
0, 0,