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