[Xcb] GSoC 2009: XKB and XI2 support

Mariusz Ceier mceier at gmail.com
Wed Sep 30 02:10:05 PDT 2009

Peter Harris pisze:
> Mariusz Ceier wrote:
>> Julien Danjou pisze:
>>> Everything is available at:
>>> http://github.com/mceier/input-protos-for-xcb/
> This is a great work. Thank you for all your effort.
> I especially like <bitcase> and <enumref>. This looks like it could
> easily be extended to CreateWindow/ChangeWindowAttributes (and similar).
> My initial plan was to hang type information off the enum, but your way
> is much more flexible.
> A few comments as I begin to work with the xcbproto side of this:
> 0) The history is quite messy. Before this is merged, it should be
> cleaned up (see "git rebase -i", etc). But don't waste time doing this
> yet, as further changes will be needed first.
I will do this, but first I need to learn how to use git rebase :p

> 1) make check fails. This should be a matter of applying your replyof
> removal patch, and adjusting the XSD to reflect recent changes (add
> popcount and unop, remove neg). <switch> needs to be named as a valid
> field inside a bitcase, too.
I applied replyof patch, and adjusted XSD, so make check doesn't fail

> 2) In your enums, you should be using <bit> 4 </bit> instead of <value>
> 0x10 </value> (and etc).
> 3) The values that aren't single bits should be decimalized. It's harder
> to read, but not forcing hex decoding on every processor is a plus.
> (This policy was put in place by commit 183ecf ). Perhaps put the
> hexadecimal into a comment on the same line?
> 4) You use <op> in an <enum>. This is new syntax that decoders don't
> need to support, since you're defining a constant. Just use <value> 32
> </value> instead of your complex op. Leave the calculation comment, of
> course.
all done

> 5) If you propagate the KeyNameLength constant to structs KeyName and
> KeyAlias, you can document that <enumref> must refer to a <bit> and is
> only valid as the first entry of a <bitcase>, simplifying processor
> implementation.
I don't understand this, should I replace <enumref> with <value>, add
some comment ?
<enumref> always references constants, so maybe I should document that
<list> with <enumref> length expression, if fixed-length list ?

> 6) <case> doesn't appear to be used anywhere, and can be removed from
> the XSD.
ok, removed

Mariusz Ceier

More information about the Xcb mailing list