On Fri, 12 Jun 2009, Peter Hutterer wrote: > On Fri, Jun 12, 2009 at 02:36:44PM +1000, Timothy S. Nelson wrote: >> Here's a rather mundane article with a good diagram that I just wrote. >> It should probably be linked to from http://www.x.org/wiki/XKB but since I >> don' tappear to have access to do that, I'm posting the link on the mailing >> list instead. >> >> http://computerstuff.jdarx.info/content/keystroke-flow-xorg >> >> Also, if people with some clues about xkb could review it, that would >> be great. > > First - I appreciate that you wrote up some documentation and that you're > putting it online. However, in this case I'm really sorry to say this is > seriously wrong (and also a bit confusing).
Yay clueful people! :). I'm reordering your post so that my replies make sense. > Those are just the points I can find in a quick 3 minute read. Please take > this offline, I shudder at the thought of the collatoral damage of digg, > reddit or slashdot picking this up. In years from now we'll still have to > correct people that that's now how it works at all. I agree that (after reading what you said) it needs correction. However, I hope to have a corrected version on-line after I've gotten some further clarification. > - the files in xkb/* are only read by xkbcomp to compile the original > description, key events don't go that path at all Ok, I think this can be incorporated into the diagram with no problems. > Here's a few quick points: > - drivers don't have anything to do with XKB anymore (in git anyway). XKB is > purely handled in the server now. > - the client still receives keycodes andn not keysyms, the KC->KS > translation is done in the client after retreiving the keymap table (which > is usually done before the events arrive anyway). > - scancodes == keycodes > - what you (I think) refer to are symbolic names for some keys used in the > xkb description files. they have nothing to do with anything other than > help mapping during the key table creation So, here's my impression of how it works based on what you've just said. - When a keystroke comes from the hardware, it gets picked up and translated by the xmodmap map from a key/scan code into a symbol. - The translation table is generated from xkb/*. - The compose/locale stuff happens after the xmodmap translation table. Am I at all right? :) --------------------------------------------------------------------- | Name: Tim Nelson | Because the Creator is, | | E-mail: wayl...@wayland.id.au | I am | --------------------------------------------------------------------- ----BEGIN GEEK CODE BLOCK---- Version 3.12 GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V- PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI++++ D G+ e++>++++ h! y- -----END GEEK CODE BLOCK----- _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg