Keystroke flow in X.org
Timothy S. Nelson
wayland at wayland.id.au
Thu Jun 11 23:58:26 PDT 2009
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: wayland at 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-----
More information about the xorg
mailing list