Summary: | xcb_xkb_get_kbd_by_name not working | ||
---|---|---|---|
Product: | XCB | Reporter: | Konstantin <ria.freelander> |
Component: | Library | Assignee: | xcb mailing list dummy <xcb> |
Status: | RESOLVED MOVED | QA Contact: | xcb mailing list dummy <xcb> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 1.11 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Konstantin
2015-03-12 12:31:44 UTC
Just read all about this bug and related changes (expand XKB support in XCB). I cannot wait until full correct realization of XKB arrives. For now I am want a replacement for this in setxkbmap: if (verbose > 5) { MSG("Trying to build keymap using the following components:\n"); dumpNames(False, True); } /* Upload the new description to the server. */ if (dpy && !print && !query) { XkbComponentNamesRec cmdNames = { .keymap = settings.keymap.value, .keycodes = settings.keycodes.value, .types = settings.types.value, .compat = settings.compat.value, .symbols = settings.symbols.value, .geometry = settings.geometry.value }; xkb = XkbGetKeyboardByName(dpy, deviceSpec, &cmdNames, XkbGBN_AllComponentsMask, XkbGBN_AllComponentsMask & (~XkbGBN_GeometryMask), True); if (!xkb) { ERR("Error loading new keyboard description\n"); return False; } To fill XkbComponentNames-like struct, I am using libxkbcommon and regexes from GLib. So the one problem is replicate XkbGetKeyboardByName request to set description to server. It is even possible with use current XCB? For example, using raw xcb_send_request (I am tried, but got XI_BadDevice)? If yes, can you post a simple how to for it? Can you attach the code you've used, that returns NULL for XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS or XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS? It'd be easier to diagnose the problem this way. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/lib/libxcb/issues/1. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.