Feed one keysym to the Compose sequence state machine.
This function can advance into a compose sequence, cancel a sequence,
start a new sequence, or do nothing in particular . The resulting
status may be observed with xkb_compose_state_get_status().
Some keysyms, such as keysysm for modifier keys, are ignored - they
have no effect on the status or otherwise.
The following is a description of the possible status transitions, in
the format CURRENT STATUS => NEXT STATUS, given a non-ignored input
keysym @p keysym:
@verbatim
NOTHING or CANCELLED or COMPOSED =>
NOTHING if keysym does not start a sequence.
COMPOSING if keysym starts a sequence.
COMPOSED if keysym starts and terminates a single-keysym sequence.
COMPOSING =>
COMPOSING if keysym advances any of the currently possible
sequences but does not terminate any of them.
COMPOSED if keysym terminates one of the currently possible
sequences.
CANCELLED if keysym does not advance any of the currently
possible sequences.
@endverbatim
The current Compose formats do not support multiple-keysyms.
Therefore, if you are using a function such as xkb_state_key_get_syms()
and it returns more than one keysym, consider feeding
@p XKB_KEY_NoSymbol instead.
@param state
The compose state object.
@param keysym
A keysym, usually obtained after a key-press event, with a
function such as xkb_state_key_get_one_sym().
@returns Whether the keysym was ignored. This is useful, for example,
if you want to keep a record of the sequence matched thus far.
Feed one keysym to the Compose sequence state machine.
This function can advance into a compose sequence, cancel a sequence, start a new sequence, or do nothing in particular . The resulting status may be observed with xkb_compose_state_get_status().
Some keysyms, such as keysysm for modifier keys, are ignored - they have no effect on the status or otherwise.
The following is a description of the possible status transitions, in the format CURRENT STATUS => NEXT STATUS, given a non-ignored input keysym @p keysym:
@verbatim NOTHING or CANCELLED or COMPOSED => NOTHING if keysym does not start a sequence. COMPOSING if keysym starts a sequence. COMPOSED if keysym starts and terminates a single-keysym sequence.
COMPOSING => COMPOSING if keysym advances any of the currently possible sequences but does not terminate any of them. COMPOSED if keysym terminates one of the currently possible sequences. CANCELLED if keysym does not advance any of the currently possible sequences. @endverbatim
The current Compose formats do not support multiple-keysyms. Therefore, if you are using a function such as xkb_state_key_get_syms() and it returns more than one keysym, consider feeding @p XKB_KEY_NoSymbol instead.
@param state The compose state object. @param keysym A keysym, usually obtained after a key-press event, with a function such as xkb_state_key_get_one_sym().
@returns Whether the keysym was ignored. This is useful, for example, if you want to keep a record of the sequence matched thus far.
@memberof xkb_compose_state