Re: several fixes for XKB

David Dawes <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Message-ID <[email protected]>
On Thu, Jun 02, 2005 at 05:30:31PM +0200, Michal Maru?ka wrote:
>
>hello fellow _xfree86_ hackers!
>
>In order to provide to my friends, and maybe one day customers, a way to type
>differently, as described at http://maruska.dyndns.org/wiki/forkExtension.html
>
>... i would like to donate a necessary infrastructure to xfree86 project,
>to be distributed under the xfree86 version 1.1 licence. 
>I also provide patches exclusively under this license.

Thanks.  I'm going to commit these patches now.

>I'm working on the documentation (and final patches), which i will send here as
>several emails, you can see a pre-version at:
>
>http://maruska.dyndns.org/wiki/x-plugin
>
>
>In this email, I provide some patches(against CVS)/fixes for XKB:
>
>
>*  memory allocation
>in file lib/X11/XKBMAlloc.c
>
>**  off-by-one errors. bzero-ing wrong regions.
>
>This is only triggered by a keyboard driver, which (at start) registers <256 keycodes.
>It is also impossible to change the interval of *core* valid keycodes.
>I have hacked a (probably unacceptable) workaround, by updating ConnectionInfo
>(from DIX).  A part of my work is a new keyboard driver
>( http://maruska.dyndns.org/wiki/medved ), and if this workaround is not
>accepted (nor easily corrected), i'll just force registering of all 256 keycodes.

I'd like to see it possible to change most, if not all, connection block
information at run time.  This is something that would be good material
for a minor revision of the X11 protocol.  However, in the meantime, the
impact of this on clients that do not expect such changes needs some
investigation.

Regarding your changes to ConnectionInfo in xkbUtils.c, it would be better
to do as your comments says, and recompute it in the dix/ code.

>** growing tables w/o never shrinking.
>
>table of XKB actions and keysyms.   (i provide comments in the patch)
>
>
>
>* client requests for info
>lib/X11/XKBGetMap.c
>various vmodmap vs. modmap  "incomplete cut-n-paste" bugs
>
>
>* client request to change XKB configuration failing (ProcXkbSetMap)
>programs/Xserver/xkb/xkb.c
>if the client request does not specify (XKB) types, the request fails.
>
>
>*   notify event processing
>in  lib/X11/XKBUse.c
>
>If number of XKB types changes (by calling apropriate functions),
>the XKB-unaware applications (eg. xterm) don't notice it!
>In other words (client side) synthesized core X events were not sufficiently informative.
>
>
>
>Next patches (some against the same files) will not contain these
>modifications (i hope).
>


David
-- 
David Dawes                                     X-Oz Technologies
www.XFree86.org/~dawes                          www.x-oz.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.