Re: KeySyms 5 to 8, multiple character sequences
Danilo Segan <[email protected]>
| Newsgroups | gmane.comp.xfree86.internationalization |
|---|---|
| Message-ID | <[email protected]> |
Hi Jacek, "Jacek M. Holeczek" <[email protected]> написа: >> Basically, I cannot see how can you have a portable >> one-definition-fits-all keymap if such things change (keycodes and >> layout of the keyboard). > > Have a look at this mail : > http://www.mail-archive.com/[email protected]/msg01608.html > > Ivan U. Pascal explains there the new .XCompose and $XCOMPOSEFILE > implemented in the 4.4.x : ^^^ This is what the problem is -- the initial request was because of having to switch between several X servers, with probably only a tiny portion of them being XFree86 servers, let alone XFree86 4.4 (CVS or prerelease). XFree86 4.3 also has some very interesting features not present on other X servers (like multi-layout combining) or earlier XFree86's, but in such cases it would be best to create standalone file from xkbcomp, and carry that with you and use it wherever is the XKB available. Simply, xkbcomp provided with earlier XFree86's or other X servers is incapable of joining multiple layouts, but the resulting already-combined map can be used without any problems. The keycodes shouldn't differ much, but that means that you might have problems with eg. Lock and Control switching places, or similar. Still, regarding the circumstances, I'm still convinced that this is the best (partly) solution. Perhaps it's also possible to I've also tried this and removed the keycodes section from the generated file, and it seemed to work fine on XFree86 4.3 (please report how it works for other systems): (you do the following on the system with a "sr" map you'd like to use everywhere) $ setxkbmap sr -print | xkbcomp -o sr.xkb -xkb - (now you remove the xkb_keycodes section from generated sr.xkb and you carry sr.xkb to other systems, and do the following on "other" systems) $ xkbcomp -merge -synch -a sr.xkb :0.0 Of course, adjust setxkbmap command, and display (":0.0") part of xkbcomp command to suit your needs. This should make use of server provided definitions of keycodes (that's what -merge should do, though it worked for me even without that option on XFree86 4.3), and they're basically like coordinates: <AE03> indicates fifth-row, third key (or was it zero-based and fourth key?). If all the other servers have this kind of mapping, this should probably work (but I'm just guessing, please test and report back). Cheers, Danilo