Summary: | XKeycodeToKeysym returns incorrect value | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Rafal Radulski <rrafal> | ||||||
Component: | Server/Input/XKB | Assignee: | Daniel Stone <daniel> | ||||||
Status: | RESOLVED NOTABUG | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | halsmit | ||||||
Version: | unspecified | ||||||||
Hardware: | x86 (IA32) | ||||||||
OS: | other | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Rafal Radulski
2009-12-20 17:47:38 UTC
Please attach the output of xkbcomp :0 -xkb out.xkb Created attachment 32297 [details]
Ouput from xkbcomp :0 -xkb out.xkb
Created attachment 32303 [details]
Source code that recreates the bug.
Output when keyboard is set to Czechia:
keycode=11, index=0 => keysym=492
keycode=11, index=1 => keysym=50
keycode=11, index=2 => keysym=50
keycode=11, index=3 => keysym=64
You have to use XkbKeycodeToKeysym (mind the Xkb prefix). XKeycodeToKeysym keeps compatibility with pre-Xkb and thus only sees 2 groups with 2 levels each. It wraps the index into the next group. Thank you very much. Your suggestion works perfectly. Rafal |
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.