Hello,

I return to this questions:

On 2021-03-29 at 09:56 +0300, Aura Kelloniemi <[email protected]> wrote:
 > Would it require changing the BrlAPI protocol to be able to pass the 
 > exception
 > message to the client? It is a nuisance to restart BRLTTY and search the 
 > logs.

And I have one more about brlapi_expandKeyCode. I kind of understand what this
function supplies to the caller in struct brlapi_expandedKeyCode_t, but there
is one dark corner: the case of type == BRLAPI_KEY_TYPE_SYM.

As far as I understand, if the key event corresponds to a Unicode symbol, cmd
is set to 0 and arg is set to a Unicode scalar value.

If the symbol corresponds to an X keyboard symbol, cmd is set to 0xFF00, and
arg contains 8 bits of key symbol value.

Questions:
- Am I right in my observations?
- Is there a named constant for this 0xFF00 somewhere?
- Is 8 bits enough space for the key symbol value?
- Are there other possible cmd/arg combinations that I did not list?
- I can't compare the returned keysym arg to the constants defined in
  /usr/include/X11/keysymdef.h, because arg contains only the lowest 8 bits of
  the key symbol value. Is this intentional?
- What would be the most accurate and porable way of extracting all
  information from a brlapi_keyCode_t value? brlapi_expandKeyCode or manually
  decoding the value?
- Why is brlapi_argumentWidth() not exported, even if it is needed to fully
  decode a brlapi_keyCode_t? Its implementation contains undocumented
  information. (For example, see brlapi_common.h line 544.)

-- 
Aura
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Reply via email to