[BRLTTY] Low-level BrlAPI questions
Aura Kelloniemi
kaura.dev at sange.fi
Thu Apr 1 04:33:06 EDT 2021
Hello,
I return to this questions:
On 2021-03-29 at 09:56 +0300, Aura Kelloniemi <kaura.dev at sange.fi> 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
More information about the BRLTTY
mailing list