BrlAPI: Types and Defines fore BrlAPI Key Codes

BrlAPI 1.0

- Main Page
- Modules
- Data Structures
- Files

Macros | Typedefs
Types and Defines fore BrlAPI Key Codes

## Macros
#define | BRLAPI_PRIxKEYCODE PRIx64
#define | BRLAPI_PRIuKEYCODE PRIu64
#define | BRLAPI_KEY_MAX UINT64_C(0XFFFFFFFFFFFFFFFF)
#define | BRLAPI_KEY_FLAGS_MASK UINT64_C(0XFFFFFFFF00000000)
#define | BRLAPI_KEY_FLAGS_SHIFT 32
#define | BRLAPI_KEY_FLG(v) ((brlapi_keyCode_t)(v) << BRLAPI_KEY_FLAGS_SHIFT)
#define | BRLAPI_KEY_FLG_MOD1 BRLAPI_KEY_FLG(0x00000008)
#define | BRLAPI_KEY_FLG_MOD2 BRLAPI_KEY_FLG(0x00000010)
#define | BRLAPI_KEY_FLG_MOD3 BRLAPI_KEY_FLG(0x00000020)
#define | BRLAPI_KEY_FLG_MOD4 BRLAPI_KEY_FLG(0x00000040)
#define | BRLAPI_KEY_FLG_MOD5 BRLAPI_KEY_FLG(0x00000080)
#define | BRLAPI_KEY_TYPE_MASK UINT64_C(0X00000000E0000000)
#define | BRLAPI_KEY_TYPE_SHIFT 29
#define | BRLAPI_KEY_TYPE_CMD UINT64_C(0X0000000020000000)
#define | BRLAPI_KEY_TYPE_SYM UINT64_C(0X0000000000000000)
#define | BRLAPI_KEY_CODE_MASK UINT64_C(0X000000001FFFFFFF)
#define | BRLAPI_KEY_CODE_SHIFT 0
#define | BRLAPI_KEY_CMD_BLK_MASK UINT64_C(0X1FFF0000)
#define | BRLAPI_KEY_CMD_BLK_SHIFT 16
#define | BRLAPI_KEY_CMD_ARG_MASK UINT64_C(0X0000FFFF)
#define | BRLAPI_KEY_CMD_ARG_SHIFT 0
#define | BRLAPI_KEY_CMD(v) ((v) << BRLAPI_KEY_CMD_BLK_SHIFT)
#define | BRLAPI_KEY_SYM_BACKSPACE UINT64_C(0X0000FF08)
#define | BRLAPI_KEY_SYM_TAB UINT64_C(0X0000FF09)
#define | BRLAPI_KEY_SYM_LINEFEED UINT64_C(0X0000FF0D)
#define | BRLAPI_KEY_SYM_ESCAPE UINT64_C(0X0000FF1B)
#define | BRLAPI_KEY_SYM_HOME UINT64_C(0X0000FF50)
#define | BRLAPI_KEY_SYM_LEFT UINT64_C(0X0000FF51)
#define | BRLAPI_KEY_SYM_UP UINT64_C(0X0000FF52)
#define | BRLAPI_KEY_SYM_RIGHT UINT64_C(0X0000FF53)
#define | BRLAPI_KEY_SYM_DOWN UINT64_C(0X0000FF54)
#define | BRLAPI_KEY_SYM_PAGE_UP UINT64_C(0X0000FF55)
#define | BRLAPI_KEY_SYM_PAGE_DOWN UINT64_C(0X0000FF56)
#define | BRLAPI_KEY_SYM_END UINT64_C(0X0000FF57)
#define | BRLAPI_KEY_SYM_INSERT UINT64_C(0X0000FF63)
#define | BRLAPI_KEY_SYM_FUNCTION UINT64_C(0X0000FFBE)
#define | BRLAPI_KEY_SYM_DELETE UINT64_C(0X0000FFFF)
#define | BRLAPI_KEY_SYM_UNICODE UINT64_C(0X01000000)

## Typedefs
typedef uint64_t | brlapi_keyCode_t
#define | BRLAPI_KEY_CMD_NOOP (BRLAPI_KEY_CMD(0) + 0)
#define | BRLAPI_KEY_CMD_LNUP (BRLAPI_KEY_CMD(0) + 1)
#define | BRLAPI_KEY_CMD_LNDN (BRLAPI_KEY_CMD(0) + 2)
#define | BRLAPI_KEY_CMD_WINUP (BRLAPI_KEY_CMD(0) + 3)
#define | BRLAPI_KEY_CMD_WINDN (BRLAPI_KEY_CMD(0) + 4)
#define | BRLAPI_KEY_CMD_PRDIFLN (BRLAPI_KEY_CMD(0) + 5)
#define | BRLAPI_KEY_CMD_NXDIFLN (BRLAPI_KEY_CMD(0) + 6)
#define | BRLAPI_KEY_CMD_ATTRUP (BRLAPI_KEY_CMD(0) + 7)
#define | BRLAPI_KEY_CMD_ATTRDN (BRLAPI_KEY_CMD(0) + 8)
#define | BRLAPI_KEY_CMD_TOP (BRLAPI_KEY_CMD(0) + 9)
#define | BRLAPI_KEY_CMD_BOT (BRLAPI_KEY_CMD(0) + 10)
#define | BRLAPI_KEY_CMD_TOP_LEFT (BRLAPI_KEY_CMD(0) + 11)
#define | BRLAPI_KEY_CMD_BOT_LEFT (BRLAPI_KEY_CMD(0) + 12)
#define | BRLAPI_KEY_CMD_PRPGRPH (BRLAPI_KEY_CMD(0) + 13)
#define | BRLAPI_KEY_CMD_NXPGRPH (BRLAPI_KEY_CMD(0) + 14)
#define | BRLAPI_KEY_CMD_PRPROMPT (BRLAPI_KEY_CMD(0) + 15)
#define | BRLAPI_KEY_CMD_NXPROMPT (BRLAPI_KEY_CMD(0) + 16)
#define | BRLAPI_KEY_CMD_PRSEARCH (BRLAPI_KEY_CMD(0) + 17)
#define | BRLAPI_KEY_CMD_NXSEARCH (BRLAPI_KEY_CMD(0) + 18)
#define | BRLAPI_KEY_CMD_CHRLT (BRLAPI_KEY_CMD(0) + 19)
#define | BRLAPI_KEY_CMD_CHRRT (BRLAPI_KEY_CMD(0) + 20)
#define | BRLAPI_KEY_CMD_HWINLT (BRLAPI_KEY_CMD(0) + 21)
#define | BRLAPI_KEY_CMD_HWINRT (BRLAPI_KEY_CMD(0) + 22)
#define | BRLAPI_KEY_CMD_FWINLT (BRLAPI_KEY_CMD(0) + 23)
#define | BRLAPI_KEY_CMD_FWINRT (BRLAPI_KEY_CMD(0) + 24)
#define | BRLAPI_KEY_CMD_FWINLTSKIP (BRLAPI_KEY_CMD(0) + 25)
#define | BRLAPI_KEY_CMD_FWINRTSKIP (BRLAPI_KEY_CMD(0) + 26)
#define | BRLAPI_KEY_CMD_LNBEG (BRLAPI_KEY_CMD(0) + 27)
#define | BRLAPI_KEY_CMD_LNEND (BRLAPI_KEY_CMD(0) + 28)
#define | BRLAPI_KEY_CMD_HOME (BRLAPI_KEY_CMD(0) + 29)
#define | BRLAPI_KEY_CMD_BACK (BRLAPI_KEY_CMD(0) + 30)
#define | BRLAPI_KEY_CMD_RETURN (BRLAPI_KEY_CMD(0) + 31)
#define | BRLAPI_KEY_CMD_FREEZE (BRLAPI_KEY_CMD(0) + 32)
#define | BRLAPI_KEY_CMD_DISPMD (BRLAPI_KEY_CMD(0) + 33)
#define | BRLAPI_KEY_CMD_SIXDOTS (BRLAPI_KEY_CMD(0) + 34)
#define | BRLAPI_KEY_CMD_SLIDEWIN (BRLAPI_KEY_CMD(0) + 35)
#define | BRLAPI_KEY_CMD_SKPIDLNS (BRLAPI_KEY_CMD(0) + 36)
#define | BRLAPI_KEY_CMD_SKPBLNKWINS (BRLAPI_KEY_CMD(0) + 37)
#define | BRLAPI_KEY_CMD_CSRVIS (BRLAPI_KEY_CMD(0) + 38)
#define | BRLAPI_KEY_CMD_CSRHIDE (BRLAPI_KEY_CMD(0) + 39)
#define | BRLAPI_KEY_CMD_CSRTRK (BRLAPI_KEY_CMD(0) + 40)
#define | BRLAPI_KEY_CMD_CSRSIZE (BRLAPI_KEY_CMD(0) + 41)
#define | BRLAPI_KEY_CMD_CSRBLINK (BRLAPI_KEY_CMD(0) + 42)
#define | BRLAPI_KEY_CMD_ATTRVIS (BRLAPI_KEY_CMD(0) + 43)
#define | BRLAPI_KEY_CMD_ATTRBLINK (BRLAPI_KEY_CMD(0) + 44)
#define | BRLAPI_KEY_CMD_CAPBLINK (BRLAPI_KEY_CMD(0) + 45)
#define | BRLAPI_KEY_CMD_TUNES (BRLAPI_KEY_CMD(0) + 46)
#define | BRLAPI_KEY_CMD_AUTOREPEAT (BRLAPI_KEY_CMD(0) + 47)
#define | BRLAPI_KEY_CMD_AUTOSPEAK (BRLAPI_KEY_CMD(0) + 48)
#define | BRLAPI_KEY_CMD_HELP (BRLAPI_KEY_CMD(0) + 49)
#define | BRLAPI_KEY_CMD_INFO (BRLAPI_KEY_CMD(0) + 50)
#define | BRLAPI_KEY_CMD_LEARN (BRLAPI_KEY_CMD(0) + 51)
#define | BRLAPI_KEY_CMD_PREFMENU (BRLAPI_KEY_CMD(0) + 52)
#define | BRLAPI_KEY_CMD_PREFSAVE (BRLAPI_KEY_CMD(0) + 53)
#define | BRLAPI_KEY_CMD_PREFLOAD (BRLAPI_KEY_CMD(0) + 54)
#define | BRLAPI_KEY_CMD_MENU_FIRST_ITEM (BRLAPI_KEY_CMD(0) + 55)
#define | BRLAPI_KEY_CMD_MENU_LAST_ITEM (BRLAPI_KEY_CMD(0) + 56)
#define | BRLAPI_KEY_CMD_MENU_PREV_ITEM (BRLAPI_KEY_CMD(0) + 57)
#define | BRLAPI_KEY_CMD_MENU_NEXT_ITEM (BRLAPI_KEY_CMD(0) + 58)
#define | BRLAPI_KEY_CMD_MENU_PREV_SETTING (BRLAPI_KEY_CMD(0) + 59)
#define | BRLAPI_KEY_CMD_MENU_NEXT_SETTING (BRLAPI_KEY_CMD(0) + 60)
#define | BRLAPI_KEY_CMD_MUTE (BRLAPI_KEY_CMD(0) + 61)
#define | BRLAPI_KEY_CMD_SPKHOME (BRLAPI_KEY_CMD(0) + 62)
#define | BRLAPI_KEY_CMD_SAY_LINE (BRLAPI_KEY_CMD(0) + 63)
#define | BRLAPI_KEY_CMD_SAY_ABOVE (BRLAPI_KEY_CMD(0) + 64)
#define | BRLAPI_KEY_CMD_SAY_BELOW (BRLAPI_KEY_CMD(0) + 65)
#define | BRLAPI_KEY_CMD_SAY_SLOWER (BRLAPI_KEY_CMD(0) + 66)
#define | BRLAPI_KEY_CMD_SAY_FASTER (BRLAPI_KEY_CMD(0) + 67)
#define | BRLAPI_KEY_CMD_SAY_SOFTER (BRLAPI_KEY_CMD(0) + 68)
#define | BRLAPI_KEY_CMD_SAY_LOUDER (BRLAPI_KEY_CMD(0) + 69)
#define | BRLAPI_KEY_CMD_SWITCHVT_PREV (BRLAPI_KEY_CMD(0) + 70)
#define | BRLAPI_KEY_CMD_SWITCHVT_NEXT (BRLAPI_KEY_CMD(0) + 71)
#define | BRLAPI_KEY_CMD_CSRJMP_VERT (BRLAPI_KEY_CMD(0) + 72)
#define | BRLAPI_KEY_CMD_PASTE (BRLAPI_KEY_CMD(0) + 73)
#define | BRLAPI_KEY_CMD_RESTARTBRL (BRLAPI_KEY_CMD(0) + 74)
#define | BRLAPI_KEY_CMD_RESTARTSPEECH (BRLAPI_KEY_CMD(0) + 75)
#define | BRLAPI_KEY_CMD_OFFLINE (BRLAPI_KEY_CMD(0) + 76)
#define | BRLAPI_KEY_CMD_SHIFT (BRLAPI_KEY_CMD(0) + 77)
#define | BRLAPI_KEY_CMD_UPPER (BRLAPI_KEY_CMD(0) + 78)
#define | BRLAPI_KEY_CMD_CONTROL (BRLAPI_KEY_CMD(0) + 79)
#define | BRLAPI_KEY_CMD_META (BRLAPI_KEY_CMD(0) + 80)
#define | BRLAPI_KEY_CMD_TIME (BRLAPI_KEY_CMD(0) + 81)
#define | BRLAPI_KEY_CMD_MENU_PREV_LEVEL (BRLAPI_KEY_CMD(0) + 82)
#define | BRLAPI_KEY_CMD_ASPK_SEL_LINE (BRLAPI_KEY_CMD(0) + 83)
#define | BRLAPI_KEY_CMD_ASPK_SEL_CHAR (BRLAPI_KEY_CMD(0) + 84)
#define | BRLAPI_KEY_CMD_ASPK_INS_CHARS (BRLAPI_KEY_CMD(0) + 85)
#define | BRLAPI_KEY_CMD_ASPK_DEL_CHARS (BRLAPI_KEY_CMD(0) + 86)
#define | BRLAPI_KEY_CMD_ASPK_REP_CHARS (BRLAPI_KEY_CMD(0) + 87)
#define | BRLAPI_KEY_CMD_ASPK_CMP_WORDS (BRLAPI_KEY_CMD(0) + 88)
#define | BRLAPI_KEY_CMD_SPEAK_CURR_CHAR (BRLAPI_KEY_CMD(0) + 89)
#define | BRLAPI_KEY_CMD_SPEAK_PREV_CHAR (BRLAPI_KEY_CMD(0) + 90)
#define | BRLAPI_KEY_CMD_SPEAK_NEXT_CHAR (BRLAPI_KEY_CMD(0) + 91)
#define | BRLAPI_KEY_CMD_SPEAK_CURR_WORD (BRLAPI_KEY_CMD(0) + 92)
#define | BRLAPI_KEY_CMD_SPEAK_PREV_WORD (BRLAPI_KEY_CMD(0) + 93)
#define | BRLAPI_KEY_CMD_SPEAK_NEXT_WORD (BRLAPI_KEY_CMD(0) + 94)
#define | BRLAPI_KEY_CMD_SPEAK_CURR_LINE (BRLAPI_KEY_CMD(0) + 95)
#define | BRLAPI_KEY_CMD_SPEAK_PREV_LINE (BRLAPI_KEY_CMD(0) + 96)
#define | BRLAPI_KEY_CMD_SPEAK_NEXT_LINE (BRLAPI_KEY_CMD(0) + 97)
#define | BRLAPI_KEY_CMD_SPEAK_FRST_CHAR (BRLAPI_KEY_CMD(0) + 98)
#define | BRLAPI_KEY_CMD_SPEAK_LAST_CHAR (BRLAPI_KEY_CMD(0) + 99)
#define | BRLAPI_KEY_CMD_SPEAK_FRST_LINE (BRLAPI_KEY_CMD(0) + 100)
#define | BRLAPI_KEY_CMD_SPEAK_LAST_LINE (BRLAPI_KEY_CMD(0) + 101)
#define | BRLAPI_KEY_CMD_DESC_CURR_CHAR (BRLAPI_KEY_CMD(0) + 102)
#define | BRLAPI_KEY_CMD_SPELL_CURR_WORD (BRLAPI_KEY_CMD(0) + 103)
#define | BRLAPI_KEY_CMD_ROUTE_CURR_LOCN (BRLAPI_KEY_CMD(0) + 104)
#define | BRLAPI_KEY_CMD_SPEAK_CURR_LOCN (BRLAPI_KEY_CMD(0) + 105)
#define | BRLAPI_KEY_CMD_SHOW_CURR_LOCN (BRLAPI_KEY_CMD(0) + 106)
#define | BRLAPI_KEY_CMD_CLIP_SAVE (BRLAPI_KEY_CMD(0) + 107)
#define | BRLAPI_KEY_CMD_CLIP_RESTORE (BRLAPI_KEY_CMD(0) + 108)
#define | BRLAPI_KEY_CMD_BRLUCDOTS (BRLAPI_KEY_CMD(0) + 109)
#define | BRLAPI_KEY_CMD_BRLKBD (BRLAPI_KEY_CMD(0) + 110)
#define | BRLAPI_KEY_FLG_TOGGLE_ON BRLAPI_KEY_FLG(0X0100)
#define | BRLAPI_KEY_FLG_TOGGLE_OFF BRLAPI_KEY_FLG(0X0200)
#define | BRLAPI_KEY_FLG_TOGGLE_MASK (BRLAPI_KEY_FLG_TOGGLE_ON | BRLAPI_KEY_FLG_TOGGLE_OFF)
#define | BRLAPI_KEY_FLG_MOTION_ROUTE BRLAPI_KEY_FLG(0X0400)
#define | BRLAPI_KEY_CMD_ROUTE BRLAPI_KEY_CMD(1)
#define | BRLAPI_KEY_CMD_CLIP_NEW BRLAPI_KEY_CMD(2)
#define | BRLAPI_KEY_CMD_CUTBEGIN BRLAPI_KEY_CMD(2)
#define | BRLAPI_KEY_CMD_CLIP_ADD BRLAPI_KEY_CMD(3)
#define | BRLAPI_KEY_CMD_CUTAPPEND BRLAPI_KEY_CMD(3)
#define | BRLAPI_KEY_CMD_COPY_RECT BRLAPI_KEY_CMD(4)
#define | BRLAPI_KEY_CMD_CUTRECT BRLAPI_KEY_CMD(4)
#define | BRLAPI_KEY_CMD_COPY_LINE BRLAPI_KEY_CMD(5)
#define | BRLAPI_KEY_CMD_CUTLINE BRLAPI_KEY_CMD(5)
#define | BRLAPI_KEY_CMD_SWITCHVT BRLAPI_KEY_CMD(6)
#define | BRLAPI_KEY_CMD_PRINDENT BRLAPI_KEY_CMD(7)
#define | BRLAPI_KEY_CMD_NXINDENT BRLAPI_KEY_CMD(8)
#define | BRLAPI_KEY_CMD_DESCCHAR BRLAPI_KEY_CMD(9)
#define | BRLAPI_KEY_CMD_SETLEFT BRLAPI_KEY_CMD(10)
#define | BRLAPI_KEY_CMD_SETMARK BRLAPI_KEY_CMD(11)
#define | BRLAPI_KEY_CMD_GOTOMARK BRLAPI_KEY_CMD(12)
#define | BRLAPI_KEY_CMD_GOTOLINE BRLAPI_KEY_CMD(13)
#define | BRLAPI_KEY_CMD_PRDIFCHAR BRLAPI_KEY_CMD(14)
#define | BRLAPI_KEY_CMD_NXDIFCHAR BRLAPI_KEY_CMD(15)
#define | BRLAPI_KEY_CMD_CLIP_COPY BRLAPI_KEY_CMD(16)
#define | BRLAPI_KEY_CMD_COPYCHARS BRLAPI_KEY_CMD(16)
#define | BRLAPI_KEY_CMD_CLIP_APPEND BRLAPI_KEY_CMD(17)
#define | BRLAPI_KEY_CMD_APNDCHARS BRLAPI_KEY_CMD(17)
#define | BRLAPI_KEY_CMD_PASTE_HISTORY BRLAPI_KEY_CMD(18)
#define | BRLAPI_KEY_CMD_SET_TEXT_TABLE BRLAPI_KEY_CMD(19)
#define | BRLAPI_KEY_CMD_SET_ATTRIBUTES_TABLE BRLAPI_KEY_CMD(20)
#define | BRLAPI_KEY_CMD_SET_CONTRACTION_TABLE BRLAPI_KEY_CMD(21)
#define | BRLAPI_KEY_CMD_SET_KEYBOARD_TABLE BRLAPI_KEY_CMD(22)
#define | BRLAPI_KEY_CMD_SET_LANGUAGE_PROFILE BRLAPI_KEY_CMD(23)
#define | BRLAPI_KEY_CMD_PASSDOTS BRLAPI_KEY_CMD(34)
#define | BRLAPI_KEY_CMD_PASSAT BRLAPI_KEY_CMD(35)
#define | BRLAPI_KEY_CMD_PASSXT BRLAPI_KEY_CMD(36)
#define | BRLAPI_KEY_CMD_PASSPS2 BRLAPI_KEY_CMD(37)
#define | BRLAPI_KEY_CMD_CONTEXT BRLAPI_KEY_CMD(38)
#define | BRLAPI_KEY_CMD_TOUCH BRLAPI_KEY_CMD(39)
#define | BRLAPI_KEY_FLG_LINE_SCALED BRLAPI_KEY_FLG(0X0100)
#define | BRLAPI_KEY_FLG_LINE_TOLEFT BRLAPI_KEY_FLG(0X0200)
#define | BRLAPI_KEY_FLG_SHIFT BRLAPI_KEY_FLG(0X01)
#define | BRLAPI_KEY_FLG_UPPER BRLAPI_KEY_FLG(0X02)
#define | BRLAPI_KEY_FLG_CONTROL BRLAPI_KEY_FLG(0X04)
#define | BRLAPI_KEY_FLG_META BRLAPI_KEY_FLG(0X08)
#define | BRLAPI_KEY_FLG_KBD_RELEASE BRLAPI_KEY_FLG(0X0100)
#define | BRLAPI_KEY_FLG_KBD_EMUL0 BRLAPI_KEY_FLG(0X0200)
#define | BRLAPI_KEY_FLG_KBD_EMUL1 BRLAPI_KEY_FLG(0X0400)
#define | BRLAPI_DOT1 1
#define | BRLAPI_DOT2 2
#define | BRLAPI_DOT3 4
#define | BRLAPI_DOT4 8
#define | BRLAPI_DOT5 16
#define | BRLAPI_DOT6 32
#define | BRLAPI_DOT7 64
#define | BRLAPI_DOT8 128
#define | BRLAPI_DOTC 256
#define | BRLAPI_DOTS(dot1, dot2, dot3, dot4, dot5, dot6, dot7, dot8)
#define | BRLAPI_DOT_CHORD 256

## Detailed Description

Key codes are unsigned 64 bit integers. This 64-bit space is split into 3 parts:

- bits 63-32 (BRLAPI_KEY_FLAGS_MASK), flags: bits 39-32 are standard X modifiers (shift, control, meta, ...). Other flags are used for some commands, see documentation of BRLAPI_KEY_FLG_* for their respective uses.
- bits 31-29 (BRLAPI_KEY_TYPE_MASK), key type: either BRLAPI_KEY_TYPE_CMD for braille commands, or BRLAPI_KEY_TYPE_SYM for standard X keysyms.
- bits 28-0 (BRLAPI_KEY_CODE_MASK), key code: for braille commands, see BRLAPI_KEY_CMD_* ; for standard X keysyms, this is the keysym value, see X11 documentation, a complete list is probably available on your system in /usr/include/X11/keysymdef.h

The third part is itself split into two parts: a command number and a command value. The relative sizes of these parts vary according to the key type.

For a braille command, bits 28-16 (BRLAPI_KEY_CMD_BLK_MASK) hold the braille command number, while bits 15-0 (BRLAPI_KEY_CMD_ARG_MASK) hold the command value.

For a X keysym, if it is a unicode keysym (0x1uvwxyz), then the command number part is 0x1000000 and the value part is 0xuvwxyz. Else, the command part is held by bits 28-8 and the value part is held by bits 7-0. This permits to easily handle usual cases like 0x00xy (latin1), 0x01xy (latin2), XK_Backspace (0xff08, backspace), XK_Tab (0xff09, tab), ...

For instance, if key == 0x0000000020010008,

- (key & BRLAPI_KEY_TYPE_MASK) == BRLAPI_KEY_TYPE_CMD, so it's a braille command
- (key & BRLAPI_KEY_CMD_BLK_MASK) == BRLAPI_KEY_CMD_ROUTE, so it's the braille route command.
- (key & BRLAPI_KEY_CMD_ARG_MASK) == 8, so the highlighted cell is the 9th one (cells are numbered from 0)
- (key & BRLAPI_KEY_FLAGS_MASK) == 0, so no modifier key was pressed during the command, and no particular flag applies to the command.

if key == 0x000000010000FF09,

- (key & BRLAPI_KEY_TYPE_MASK) == BRLAPI_KEY_TYPE_SYM, so it's a keysym
- (key & BRLAPI_KEY_CODE_MASK) == XK_Tab, so it's the tab key. BRLAPI_KEY_SYM_TAB can also be used here, as well as a few other BRLAPI_KEY_SYM_* constants which are provided to avoid having to include X11/keysymdef.h
- (key & BRLAPI_KEY_FLAGS_MASK) == BRLAPI_KEY_FLG_SHIFT, so the shift modifier was pressed during the command.

in the X11 standard some keysyms are directly unicode, for instance if key == 0x0000000001001EA0,

- (key & BRLAPI_KEY_TYPE_MASK) == BRLAPI_KEY_TYPE_SYM, so it's a keysym
- (key & BRLAPI_KEY_SYM_UNICODE) != 0 so it's a unicode keysym, whose value is key & (BRLAPI_KEY_SYM_UNICODE-1). Of course, one can also consider (key & BRLAPI_KEY_CODE_MASK) == XK_Abelowdot
- (key & BRLAPI_KEY_FLAGS_MASK) == 0, so no modifier key was pressed during the command, and no particular flag applies to the command.

The brlapi_expandKeyCode() function may be used for splitting key codes into these parts.

## Macro Definition Documentation

#define BRLAPI_DOT1 1

upper-left dot of standard braille cell

#define BRLAPI_DOT2 2

middle-left dot of standard braille cell

#define BRLAPI_DOT3 4

lower-left dot of standard braille cell

#define BRLAPI_DOT4 8

upper-right dot of standard braille cell

#define BRLAPI_DOT5 16

middle-right dot of standard braille cell

#define BRLAPI_DOT6 32

lower-right dot of standard braille cell

#define BRLAPI_DOT7 64

lower-left dot of computer braille cell

#define BRLAPI_DOT8 128

lower-right dot of computer braille cell

#define BRLAPI_DOT_CHORD 256

space key

#define BRLAPI_DOTC 256

space key pressed

#define BRLAPI_DOTS | ( |  | dot1,
|  |  | dot2,
|  |  | dot3,
|  |  | dot4,
|  |  | dot5,
|  |  | dot6,
|  |  | dot7,
|  |  | dot8
| ) |  |

Value:
(\
((dot1)? BRLAPI_DOT1: 0) | \
((dot2)? BRLAPI_DOT2: 0) | \
((dot3)? BRLAPI_DOT3: 0) | \
((dot4)? BRLAPI_DOT4: 0) | \
((dot5)? BRLAPI_DOT5: 0) | \
((dot6)? BRLAPI_DOT6: 0) | \
((dot7)? BRLAPI_DOT7: 0) | \
((dot8)? BRLAPI_DOT8: 0) \
)

Helper macro to easily produce braille patterns

#define BRLAPI_KEY_CMD | ( |  | v | ) | ((v) << BRLAPI_KEY_CMD_BLK_SHIFT)

#define BRLAPI_KEY_CMD_APNDCHARS BRLAPI_KEY_CMD(17)

deprecated definition of CLIP_APPEND - append characters to clipboard

#define BRLAPI_KEY_CMD_ARG_MASK UINT64_C(0X0000FFFF)

Mask for braille command value

#define BRLAPI_KEY_CMD_ARG_SHIFT 0

Shift for braille command value

#define BRLAPI_KEY_CMD_ASPK_CMP_WORDS (BRLAPI_KEY_CMD(0) + 88)

set autospeak completed words on/off

#define BRLAPI_KEY_CMD_ASPK_DEL_CHARS (BRLAPI_KEY_CMD(0) + 86)

set autospeak deleted characters on/off

#define BRLAPI_KEY_CMD_ASPK_INS_CHARS (BRLAPI_KEY_CMD(0) + 85)

set autospeak inserted characters on/off

#define BRLAPI_KEY_CMD_ASPK_REP_CHARS (BRLAPI_KEY_CMD(0) + 87)

set autospeak replaced characters on/off

#define BRLAPI_KEY_CMD_ASPK_SEL_CHAR (BRLAPI_KEY_CMD(0) + 84)

set autospeak selected character on/off

#define BRLAPI_KEY_CMD_ASPK_SEL_LINE (BRLAPI_KEY_CMD(0) + 83)

set autospeak selected line on/off

#define BRLAPI_KEY_CMD_ATTRBLINK (BRLAPI_KEY_CMD(0) + 44)

set attribute blinking on/off

#define BRLAPI_KEY_CMD_ATTRDN (BRLAPI_KEY_CMD(0) + 8)

go down to nearest line with different highlighting

#define BRLAPI_KEY_CMD_ATTRUP (BRLAPI_KEY_CMD(0) + 7)

go up to nearest line with different highlighting

#define BRLAPI_KEY_CMD_ATTRVIS (BRLAPI_KEY_CMD(0) + 43)

set attribute underlining on/off

#define BRLAPI_KEY_CMD_AUTOREPEAT (BRLAPI_KEY_CMD(0) + 47)

set autorepeat on/off

#define BRLAPI_KEY_CMD_AUTOSPEAK (BRLAPI_KEY_CMD(0) + 48)

set autospeak on/off

#define BRLAPI_KEY_CMD_BACK (BRLAPI_KEY_CMD(0) + 30)

go back after cursor tracking

#define BRLAPI_KEY_CMD_BLK_MASK UINT64_C(0X1FFF0000)

Mask for braille command type

#define BRLAPI_KEY_CMD_BLK_SHIFT 16

Shift for braille command type

#define BRLAPI_KEY_CMD_BOT (BRLAPI_KEY_CMD(0) + 10)

go to bottom line

#define BRLAPI_KEY_CMD_BOT_LEFT (BRLAPI_KEY_CMD(0) + 12)

go to beginning of bottom line

#define BRLAPI_KEY_CMD_BRLKBD (BRLAPI_KEY_CMD(0) + 110)

set braille keyboard enabled/disabled

#define BRLAPI_KEY_CMD_BRLUCDOTS (BRLAPI_KEY_CMD(0) + 109)

set braille input mode dots/text

#define BRLAPI_KEY_CMD_CAPBLINK (BRLAPI_KEY_CMD(0) + 45)

set capital letter blinking on/off

#define BRLAPI_KEY_CMD_CHRLT (BRLAPI_KEY_CMD(0) + 19)

go left one character

#define BRLAPI_KEY_CMD_CHRRT (BRLAPI_KEY_CMD(0) + 20)

go right one character

#define BRLAPI_KEY_CMD_CLIP_ADD BRLAPI_KEY_CMD(3)

append to clipboard from character

#define BRLAPI_KEY_CMD_CLIP_APPEND BRLAPI_KEY_CMD(17)

append characters to clipboard

#define BRLAPI_KEY_CMD_CLIP_COPY BRLAPI_KEY_CMD(16)

copy characters to clipboard

#define BRLAPI_KEY_CMD_CLIP_NEW BRLAPI_KEY_CMD(2)

start new clipboard at character

#define BRLAPI_KEY_CMD_CLIP_RESTORE (BRLAPI_KEY_CMD(0) + 108)

restore clipboard from disk

#define BRLAPI_KEY_CMD_CLIP_SAVE (BRLAPI_KEY_CMD(0) + 107)

save clipboard to disk

#define BRLAPI_KEY_CMD_CONTEXT BRLAPI_KEY_CMD(38)

switch to command context

#define BRLAPI_KEY_CMD_CONTROL (BRLAPI_KEY_CMD(0) + 79)

set control modifier of next typed character or emulated key on/off

#define BRLAPI_KEY_CMD_COPY_LINE BRLAPI_KEY_CMD(5)

linear copy to character

#define BRLAPI_KEY_CMD_COPY_RECT BRLAPI_KEY_CMD(4)

rectangular copy to character

#define BRLAPI_KEY_CMD_COPYCHARS BRLAPI_KEY_CMD(16)

deprecated definition of CLIP_COPY - copy characters to clipboard

#define BRLAPI_KEY_CMD_CSRBLINK (BRLAPI_KEY_CMD(0) + 42)

set cursor blinking on/off

#define BRLAPI_KEY_CMD_CSRHIDE (BRLAPI_KEY_CMD(0) + 39)

set hidden cursor on/off

#define BRLAPI_KEY_CMD_CSRJMP_VERT (BRLAPI_KEY_CMD(0) + 72)

bring cursor to line

#define BRLAPI_KEY_CMD_CSRSIZE (BRLAPI_KEY_CMD(0) + 41)

set cursor style block/underline

#define BRLAPI_KEY_CMD_CSRTRK (BRLAPI_KEY_CMD(0) + 40)

set cursor tracking on/off

#define BRLAPI_KEY_CMD_CSRVIS (BRLAPI_KEY_CMD(0) + 38)

set cursor visibility on/off

#define BRLAPI_KEY_CMD_CUTAPPEND BRLAPI_KEY_CMD(3)

deprecated definition of CLIP_ADD - append to clipboard from character

#define BRLAPI_KEY_CMD_CUTBEGIN BRLAPI_KEY_CMD(2)

deprecated definition of CLIP_NEW - start new clipboard at character

#define BRLAPI_KEY_CMD_CUTLINE BRLAPI_KEY_CMD(5)

deprecated definition of COPY_LINE - linear copy to character

#define BRLAPI_KEY_CMD_CUTRECT BRLAPI_KEY_CMD(4)

deprecated definition of COPY_RECT - rectangular copy to character

#define BRLAPI_KEY_CMD_DESC_CURR_CHAR (BRLAPI_KEY_CMD(0) + 102)

describe current character

#define BRLAPI_KEY_CMD_DESCCHAR BRLAPI_KEY_CMD(9)

describe character

#define BRLAPI_KEY_CMD_DISPMD (BRLAPI_KEY_CMD(0) + 33)

set display mode attributes/text

#define BRLAPI_KEY_CMD_FREEZE (BRLAPI_KEY_CMD(0) + 32)

set screen image frozen/unfrozen

#define BRLAPI_KEY_CMD_FWINLT (BRLAPI_KEY_CMD(0) + 23)

go left one window

#define BRLAPI_KEY_CMD_FWINLTSKIP (BRLAPI_KEY_CMD(0) + 25)

go left to nearest non-blank window

#define BRLAPI_KEY_CMD_FWINRT (BRLAPI_KEY_CMD(0) + 24)

go right one window

#define BRLAPI_KEY_CMD_FWINRTSKIP (BRLAPI_KEY_CMD(0) + 26)

go right to nearest non-blank window

#define BRLAPI_KEY_CMD_GOTOLINE BRLAPI_KEY_CMD(13)

go to selected line

#define BRLAPI_KEY_CMD_GOTOMARK BRLAPI_KEY_CMD(12)

go to remembered window position

#define BRLAPI_KEY_CMD_HELP (BRLAPI_KEY_CMD(0) + 49)

enter/leave help display

#define BRLAPI_KEY_CMD_HOME (BRLAPI_KEY_CMD(0) + 29)

go to cursor

#define BRLAPI_KEY_CMD_HWINLT (BRLAPI_KEY_CMD(0) + 21)

go left half a window

#define BRLAPI_KEY_CMD_HWINRT (BRLAPI_KEY_CMD(0) + 22)

go right half a window

#define BRLAPI_KEY_CMD_INFO (BRLAPI_KEY_CMD(0) + 50)

enter/leave status display

#define BRLAPI_KEY_CMD_LEARN (BRLAPI_KEY_CMD(0) + 51)

enter/leave command learn mode

#define BRLAPI_KEY_CMD_LNBEG (BRLAPI_KEY_CMD(0) + 27)

go to beginning of line

#define BRLAPI_KEY_CMD_LNDN (BRLAPI_KEY_CMD(0) + 2)

go down one line

#define BRLAPI_KEY_CMD_LNEND (BRLAPI_KEY_CMD(0) + 28)

go to end of line

#define BRLAPI_KEY_CMD_LNUP (BRLAPI_KEY_CMD(0) + 1)

go up one line

#define BRLAPI_KEY_CMD_MENU_FIRST_ITEM (BRLAPI_KEY_CMD(0) + 55)

go to first item

#define BRLAPI_KEY_CMD_MENU_LAST_ITEM (BRLAPI_KEY_CMD(0) + 56)

go to last item

#define BRLAPI_KEY_CMD_MENU_NEXT_ITEM (BRLAPI_KEY_CMD(0) + 58)

go to next item

#define BRLAPI_KEY_CMD_MENU_NEXT_SETTING (BRLAPI_KEY_CMD(0) + 60)

select next choice

#define BRLAPI_KEY_CMD_MENU_PREV_ITEM (BRLAPI_KEY_CMD(0) + 57)

go to previous item

#define BRLAPI_KEY_CMD_MENU_PREV_LEVEL (BRLAPI_KEY_CMD(0) + 82)

go to previous menu level

#define BRLAPI_KEY_CMD_MENU_PREV_SETTING (BRLAPI_KEY_CMD(0) + 59)

select previous choice

#define BRLAPI_KEY_CMD_META (BRLAPI_KEY_CMD(0) + 80)

set meta modifier of next typed character or emulated key on/off

#define BRLAPI_KEY_CMD_MUTE (BRLAPI_KEY_CMD(0) + 61)

stop speaking

#define BRLAPI_KEY_CMD_NOOP (BRLAPI_KEY_CMD(0) + 0)

do nothing

#define BRLAPI_KEY_CMD_NXDIFCHAR BRLAPI_KEY_CMD(15)

go down to nearest line with different character

#define BRLAPI_KEY_CMD_NXDIFLN (BRLAPI_KEY_CMD(0) + 6)

go down to nearest line with different content

#define BRLAPI_KEY_CMD_NXINDENT BRLAPI_KEY_CMD(8)

go down to nearest line with less indent than character

#define BRLAPI_KEY_CMD_NXPGRPH (BRLAPI_KEY_CMD(0) + 14)

go down to first line of next paragraph

#define BRLAPI_KEY_CMD_NXPROMPT (BRLAPI_KEY_CMD(0) + 16)

go down to next command prompt

#define BRLAPI_KEY_CMD_NXSEARCH (BRLAPI_KEY_CMD(0) + 18)

search forward for clipboard text

#define BRLAPI_KEY_CMD_OFFLINE (BRLAPI_KEY_CMD(0) + 76)

braille display temporarily unavailable

#define BRLAPI_KEY_CMD_PASSAT BRLAPI_KEY_CMD(35)

AT (set 2) keyboard scan code

#define BRLAPI_KEY_CMD_PASSDOTS BRLAPI_KEY_CMD(34)

type braille character

#define BRLAPI_KEY_CMD_PASSPS2 BRLAPI_KEY_CMD(37)

PS/2 (set 3) keyboard scan code

#define BRLAPI_KEY_CMD_PASSXT BRLAPI_KEY_CMD(36)

XT (set 1) keyboard scan code

#define BRLAPI_KEY_CMD_PASTE (BRLAPI_KEY_CMD(0) + 73)

insert clipboard text at cursor

#define BRLAPI_KEY_CMD_PASTE_HISTORY BRLAPI_KEY_CMD(18)

insert clipboard history entry at cursor

#define BRLAPI_KEY_CMD_PRDIFCHAR BRLAPI_KEY_CMD(14)

go up to nearest line with different character

#define BRLAPI_KEY_CMD_PRDIFLN (BRLAPI_KEY_CMD(0) + 5)

go up to nearest line with different content

#define BRLAPI_KEY_CMD_PREFLOAD (BRLAPI_KEY_CMD(0) + 54)

restore preferences from disk

#define BRLAPI_KEY_CMD_PREFMENU (BRLAPI_KEY_CMD(0) + 52)

enter/leave preferences menu

#define BRLAPI_KEY_CMD_PREFSAVE (BRLAPI_KEY_CMD(0) + 53)

save preferences to disk

#define BRLAPI_KEY_CMD_PRINDENT BRLAPI_KEY_CMD(7)

go up to nearest line with less indent than character

#define BRLAPI_KEY_CMD_PRPGRPH (BRLAPI_KEY_CMD(0) + 13)

go up to last line of previous paragraph

#define BRLAPI_KEY_CMD_PRPROMPT (BRLAPI_KEY_CMD(0) + 15)

go up to previous command prompt

#define BRLAPI_KEY_CMD_PRSEARCH (BRLAPI_KEY_CMD(0) + 17)

search backward for clipboard text

#define BRLAPI_KEY_CMD_RESTARTBRL (BRLAPI_KEY_CMD(0) + 74)

restart braille driver

#define BRLAPI_KEY_CMD_RESTARTSPEECH (BRLAPI_KEY_CMD(0) + 75)

restart speech driver

#define BRLAPI_KEY_CMD_RETURN (BRLAPI_KEY_CMD(0) + 31)

go to cursor or go back after cursor tracking

#define BRLAPI_KEY_CMD_ROUTE BRLAPI_KEY_CMD(1)

bring cursor to character

#define BRLAPI_KEY_CMD_ROUTE_CURR_LOCN (BRLAPI_KEY_CMD(0) + 104)

bring cursor to speech location

#define BRLAPI_KEY_CMD_SAY_ABOVE (BRLAPI_KEY_CMD(0) + 64)

speak from top of screen through current line

#define BRLAPI_KEY_CMD_SAY_BELOW (BRLAPI_KEY_CMD(0) + 65)

speak from current line through bottom of screen

#define BRLAPI_KEY_CMD_SAY_FASTER (BRLAPI_KEY_CMD(0) + 67)

increase speech rate

#define BRLAPI_KEY_CMD_SAY_LINE (BRLAPI_KEY_CMD(0) + 63)

speak current line

#define BRLAPI_KEY_CMD_SAY_LOUDER (BRLAPI_KEY_CMD(0) + 69)

increase speech volume

#define BRLAPI_KEY_CMD_SAY_SLOWER (BRLAPI_KEY_CMD(0) + 66)

decrease speech rate

#define BRLAPI_KEY_CMD_SAY_SOFTER (BRLAPI_KEY_CMD(0) + 68)

decrease speech volume

#define BRLAPI_KEY_CMD_SET_ATTRIBUTES_TABLE BRLAPI_KEY_CMD(20)

set the attributes table

#define BRLAPI_KEY_CMD_SET_CONTRACTION_TABLE BRLAPI_KEY_CMD(21)

set the contraction table

#define BRLAPI_KEY_CMD_SET_KEYBOARD_TABLE BRLAPI_KEY_CMD(22)

set the keyboard table

#define BRLAPI_KEY_CMD_SET_LANGUAGE_PROFILE BRLAPI_KEY_CMD(23)

set the language profile

#define BRLAPI_KEY_CMD_SET_TEXT_TABLE BRLAPI_KEY_CMD(19)

set the text table

#define BRLAPI_KEY_CMD_SETLEFT BRLAPI_KEY_CMD(10)

place left end of window at character

#define BRLAPI_KEY_CMD_SETMARK BRLAPI_KEY_CMD(11)

remember current window position

#define BRLAPI_KEY_CMD_SHIFT (BRLAPI_KEY_CMD(0) + 77)

set shift modifier of next typed character or emulated key on/off

#define BRLAPI_KEY_CMD_SHOW_CURR_LOCN (BRLAPI_KEY_CMD(0) + 106)

set speech location visibility on/off

#define BRLAPI_KEY_CMD_SIXDOTS (BRLAPI_KEY_CMD(0) + 34)

set text style 6-dot/8-dot

#define BRLAPI_KEY_CMD_SKPBLNKWINS (BRLAPI_KEY_CMD(0) + 37)

set skipping of blank windows on/off

#define BRLAPI_KEY_CMD_SKPIDLNS (BRLAPI_KEY_CMD(0) + 36)

set skipping of lines with identical content on/off

#define BRLAPI_KEY_CMD_SLIDEWIN (BRLAPI_KEY_CMD(0) + 35)

set sliding window on/off

#define BRLAPI_KEY_CMD_SPEAK_CURR_CHAR (BRLAPI_KEY_CMD(0) + 89)

speak current character

#define BRLAPI_KEY_CMD_SPEAK_CURR_LINE (BRLAPI_KEY_CMD(0) + 95)

speak current line

#define BRLAPI_KEY_CMD_SPEAK_CURR_LOCN (BRLAPI_KEY_CMD(0) + 105)

speak speech location

#define BRLAPI_KEY_CMD_SPEAK_CURR_WORD (BRLAPI_KEY_CMD(0) + 92)

speak current word

#define BRLAPI_KEY_CMD_SPEAK_FRST_CHAR (BRLAPI_KEY_CMD(0) + 98)

go to and speak first non-blank character on line

#define BRLAPI_KEY_CMD_SPEAK_FRST_LINE (BRLAPI_KEY_CMD(0) + 100)

go to and speak first non-blank line on screen

#define BRLAPI_KEY_CMD_SPEAK_LAST_CHAR (BRLAPI_KEY_CMD(0) + 99)

go to and speak last non-blank character on line

#define BRLAPI_KEY_CMD_SPEAK_LAST_LINE (BRLAPI_KEY_CMD(0) + 101)

go to and speak last non-blank line on screen

#define BRLAPI_KEY_CMD_SPEAK_NEXT_CHAR (BRLAPI_KEY_CMD(0) + 91)

go to and speak next character

#define BRLAPI_KEY_CMD_SPEAK_NEXT_LINE (BRLAPI_KEY_CMD(0) + 97)

go to and speak next line

#define BRLAPI_KEY_CMD_SPEAK_NEXT_WORD (BRLAPI_KEY_CMD(0) + 94)

go to and speak next word

#define BRLAPI_KEY_CMD_SPEAK_PREV_CHAR (BRLAPI_KEY_CMD(0) + 90)

go to and speak previous character

#define BRLAPI_KEY_CMD_SPEAK_PREV_LINE (BRLAPI_KEY_CMD(0) + 96)

go to and speak previous line

#define BRLAPI_KEY_CMD_SPEAK_PREV_WORD (BRLAPI_KEY_CMD(0) + 93)

go to and speak previous word

#define BRLAPI_KEY_CMD_SPELL_CURR_WORD (BRLAPI_KEY_CMD(0) + 103)

spell current word

#define BRLAPI_KEY_CMD_SPKHOME (BRLAPI_KEY_CMD(0) + 62)

go to current speech position

#define BRLAPI_KEY_CMD_SWITCHVT BRLAPI_KEY_CMD(6)

switch to virtual terminal

#define BRLAPI_KEY_CMD_SWITCHVT_NEXT (BRLAPI_KEY_CMD(0) + 71)

switch to next virtual terminal

#define BRLAPI_KEY_CMD_SWITCHVT_PREV (BRLAPI_KEY_CMD(0) + 70)

switch to previous virtual terminal

#define BRLAPI_KEY_CMD_TIME (BRLAPI_KEY_CMD(0) + 81)

show the current date and time

#define BRLAPI_KEY_CMD_TOP (BRLAPI_KEY_CMD(0) + 9)

go to top line

#define BRLAPI_KEY_CMD_TOP_LEFT (BRLAPI_KEY_CMD(0) + 11)

go to beginning of top line

#define BRLAPI_KEY_CMD_TOUCH BRLAPI_KEY_CMD(39)

current reading location

#define BRLAPI_KEY_CMD_TUNES (BRLAPI_KEY_CMD(0) + 46)

set alert tunes on/off

#define BRLAPI_KEY_CMD_UPPER (BRLAPI_KEY_CMD(0) + 78)

set upper modifier of next typed character or emulated key on/off

#define BRLAPI_KEY_CMD_WINDN (BRLAPI_KEY_CMD(0) + 4)

go down several lines

#define BRLAPI_KEY_CMD_WINUP (BRLAPI_KEY_CMD(0) + 3)

go up several lines

#define BRLAPI_KEY_CODE_MASK UINT64_C(0X000000001FFFFFFF)

Mask for code of brlapi_keyCode_t

#define BRLAPI_KEY_CODE_SHIFT 0

Shift for code of brlapi_keyCode_t

#define BRLAPI_KEY_FLAGS_MASK UINT64_C(0XFFFFFFFF00000000)

Mask for flags of brlapi_keyCode_t

#define BRLAPI_KEY_FLAGS_SHIFT 32

Shift for flags of brlapi_keyCode_t

#define BRLAPI_KEY_FLG | ( |  | v | ) | ((brlapi_keyCode_t)(v) << BRLAPI_KEY_FLAGS_SHIFT)

#define BRLAPI_KEY_FLG_CONTROL BRLAPI_KEY_FLG(0X04)

control key pressed

#define BRLAPI_KEY_FLG_KBD_EMUL0 BRLAPI_KEY_FLG(0X0200)

it is an emulation 0 scan code

#define BRLAPI_KEY_FLG_KBD_EMUL1 BRLAPI_KEY_FLG(0X0400)

it is an emulation 1 scan code

#define BRLAPI_KEY_FLG_KBD_RELEASE BRLAPI_KEY_FLG(0X0100)

it is a release scan code

#define BRLAPI_KEY_FLG_LINE_SCALED BRLAPI_KEY_FLG(0X0100)

scale arg=0X00-0XFF to screen height

#define BRLAPI_KEY_FLG_LINE_TOLEFT BRLAPI_KEY_FLG(0X0200)

go to beginning of line

#define BRLAPI_KEY_FLG_META BRLAPI_KEY_FLG(0X08)

meta key pressed

#define BRLAPI_KEY_FLG_MOD1 BRLAPI_KEY_FLG(0x00000008)

Standard X modifiers Mod1 modifier (AKA meta)

#define BRLAPI_KEY_FLG_MOD2 BRLAPI_KEY_FLG(0x00000010)

Mod2 modifier (usually numlock)

#define BRLAPI_KEY_FLG_MOD3 BRLAPI_KEY_FLG(0x00000020)

Mod3 modifier

#define BRLAPI_KEY_FLG_MOD4 BRLAPI_KEY_FLG(0x00000040)

Mod4 modifier

#define BRLAPI_KEY_FLG_MOD5 BRLAPI_KEY_FLG(0x00000080)

Mod5 modifier (usually Alt-Gr)

#define BRLAPI_KEY_FLG_MOTION_ROUTE BRLAPI_KEY_FLG(0X0400)

bring cursor into window after function

#define BRLAPI_KEY_FLG_SHIFT BRLAPI_KEY_FLG(0X01)

shift key pressed

#define BRLAPI_KEY_FLG_TOGGLE_MASK (BRLAPI_KEY_FLG_TOGGLE_ON | BRLAPI_KEY_FLG_TOGGLE_OFF)

mask for all toggle flags

#define BRLAPI_KEY_FLG_TOGGLE_OFF BRLAPI_KEY_FLG(0X0200)

disable feature

#define BRLAPI_KEY_FLG_TOGGLE_ON BRLAPI_KEY_FLG(0X0100)

enable feature

#define BRLAPI_KEY_FLG_UPPER BRLAPI_KEY_FLG(0X02)

convert to uppercase

#define BRLAPI_KEY_MAX UINT64_C(0XFFFFFFFFFFFFFFFF)

Brlapi_keyCode_t's biggest value

As defined in `<stdint.h>`

#define BRLAPI_KEY_SYM_BACKSPACE UINT64_C(0X0000FF08)

Standard X keysyms

#define BRLAPI_KEY_SYM_DELETE UINT64_C(0X0000FFFF)

#define BRLAPI_KEY_SYM_DOWN UINT64_C(0X0000FF54)

#define BRLAPI_KEY_SYM_END UINT64_C(0X0000FF57)

#define BRLAPI_KEY_SYM_ESCAPE UINT64_C(0X0000FF1B)

#define BRLAPI_KEY_SYM_FUNCTION UINT64_C(0X0000FFBE)

#define BRLAPI_KEY_SYM_HOME UINT64_C(0X0000FF50)

#define BRLAPI_KEY_SYM_INSERT UINT64_C(0X0000FF63)

#define BRLAPI_KEY_SYM_LEFT UINT64_C(0X0000FF51)

#define BRLAPI_KEY_SYM_LINEFEED UINT64_C(0X0000FF0D)

#define BRLAPI_KEY_SYM_PAGE_DOWN UINT64_C(0X0000FF56)

#define BRLAPI_KEY_SYM_PAGE_UP UINT64_C(0X0000FF55)

#define BRLAPI_KEY_SYM_RIGHT UINT64_C(0X0000FF53)

#define BRLAPI_KEY_SYM_TAB UINT64_C(0X0000FF09)

#define BRLAPI_KEY_SYM_UNICODE UINT64_C(0X01000000)

#define BRLAPI_KEY_SYM_UP UINT64_C(0X0000FF52)

#define BRLAPI_KEY_TYPE_CMD UINT64_C(0X0000000020000000)

Braille command brlapi_keyCode_t

#define BRLAPI_KEY_TYPE_MASK UINT64_C(0X00000000E0000000)

Mask for type of brlapi_keyCode_t

#define BRLAPI_KEY_TYPE_SHIFT 29

Shift for type of brlapi_keyCode_t

#define BRLAPI_KEY_TYPE_SYM UINT64_C(0X0000000000000000)

X Keysym brlapi_keyCode_t

#define BRLAPI_PRIuKEYCODE PRIu64

Unsigned print format for brlapi_keyCode_t

#define BRLAPI_PRIxKEYCODE PRIx64

Hex print format for brlapi_keyCode_t

## Typedef Documentation

typedef uint64_t brlapi_keyCode_t