lewin@savax.UUCP (Stuart Lewin) (06/16/89)
Well, maybe I'm confused but: In the Digital Press X Bible (the maroonish one) on page 191 it talks about having the input to XChangeKeyboardControl being a 32-bit mask for the LEDs (and the implication that you can change multiple ones with a single call), yet on page 596 the protocol encoding has it as a single 8-bit id for a single led (i.e., 1-32). OK, so I'll go look at the source...Well, Xproto.h and XChKeyCon.c have the input defined as a 32-bit mask coming in via the structure and being stuffed into the protocol packet for transmission, but in events.c the server is extracting it as a value from 1-32, and returning an error on anything else. So my question is, which way is it: the Xlib or client's point of view, or the server's...of course, in reality the server would win out, but which way should it be (it seems like the ability to set multiple LED's with a single request is the more desirable approach, and wouldn't require a change to the protocol, only to events.c and any subsequent processing). Should I file a bug report on this or am I missing something obvious. Thanks, Stu Sanders Associates, Inc. 603/885-0179 lewin@savax.sanders.com or ...!decvax!savax!lewin Would you trust a man implementing a server in Ada?!?!
rws@EXPO.LCS.MIT.EDU (06/20/89)
Read your bible again. Page 191 does not talk about a 32-bit mask; the XKeyboardControl structure has an "int led" field. Page 193 does talk about a mask, and the XKeyboardState structure has an "unsigned long led_mask" field. This is all consistent with the protocol, where ChangeKeyboardControl takes a single LED number but GetKeyboardControl returns a mask.