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

Reply via email to