brlapi_keycodes(3)

๐Ÿ’– NAME ๐Ÿ’–

brlapi_keycodes(3) โ€” Types and Defines for \e BrlAPI Key Codes, from the Library Functions Manual. Okay so this is the BrlAPI key-code lore: types and defines, exactly as the page says. No cap, itโ€™s giving header-file energy. ๐ŸŽ€

โœจ SYNOPSIS โœจ

๐ŸŽ€ Macros ๐ŸŽ€

Bestie, hereโ€™s the full macro menu. Every #define is copied exactly โ€” same names, same values, same spacing โ€” because we are not about to fumble the bag on a UINT64_C or a mask. ๐Ÿ’…

#define BRLAPI_KEYCODE_C(value)
#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)
#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)
#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)
#define BRLAPI_DRV_KEY_PRESS   BRLAPI_KEYCODE_C(0X8000000000000000)
#define BRLAPI_DRV_KEY_NUMBER_SHIFT   0
#define BRLAPI_DRV_KEY_NUMBER_MASK   0XFF
#define BRLAPI_DRV_KEY_NUMBER(code)
#define BRLAPI_DRV_KEY_GROUP_SHIFT   8
#define BRLAPI_DRV_KEY_GROUP_MASK   0XFF00
#define BRLAPI_DRV_KEY_GROUP(code)
#define BRLAPI_DRV_KEY_VALUE_MASK   (BRLAPI_DRV_KEY_GROUP_MASK |
    BRLAPI_DRV_KEY_NUMBER_MASK)
#define BRLAPI_DRV_KEY_NUMBER_ANY   0XFF

โœจ Typedefs โœจ

Okay bestie, before we get into the โœจspicyโœจ command soup, here's the one typedef you actually gotta know:

typedef uint64_t brlapi_keyCode_t

That's the type. Sixty-four bits of pure keycode realness. ๐Ÿ’…


So what follows is a whole lot of #defines, and every single one is built off BRLAPI_KEY_CMD(*n*) โ€” that's the macro doing the heavy lifting so you don't have to. The first huge chunk is all BRLAPI_KEY_CMD(0) plus some offset, and then there's a lil' bonus squad at the end where the number inside the parens goes up instead. iykyk. ๐Ÿงš

Not me listing every single one though โ€” we don't skip, we don't summarize, we list. Grab a snack. ๐Ÿ“


the BRLAPI_KEY_CMD(0) + *n* girlies ๐ŸŒธ

  • BRLAPI_KEY_CMD_NOOP โ€” (BRLAPI_KEY_CMD(0) + 0) โ€” do absolutely nothing, iconic behaviour honestly ๐Ÿ’ค
  • BRLAPI_KEY_CMD_LNUP โ€” (BRLAPI_KEY_CMD(0) + 1) โ€” line up โฌ†๏ธ
  • BRLAPI_KEY_CMD_LNDN โ€” (BRLAPI_KEY_CMD(0) + 2) โ€” line down โฌ‡๏ธ
  • BRLAPI_KEY_CMD_WINUP โ€” (BRLAPI_KEY_CMD(0) + 3) โ€” window up
  • BRLAPI_KEY_CMD_WINDN โ€” (BRLAPI_KEY_CMD(0) + 4) โ€” window down
  • BRLAPI_KEY_CMD_PRDIFLN โ€” (BRLAPI_KEY_CMD(0) + 5) โ€” previous different line
  • BRLAPI_KEY_CMD_NXDIFLN โ€” (BRLAPI_KEY_CMD(0) + 6) โ€” next different line
  • BRLAPI_KEY_CMD_ATTRUP โ€” (BRLAPI_KEY_CMD(0) + 7) โ€” attribute up ๐ŸŽ€
  • BRLAPI_KEY_CMD_ATTRDN โ€” (BRLAPI_KEY_CMD(0) + 8) โ€” attribute down
  • BRLAPI_KEY_CMD_TOP โ€” (BRLAPI_KEY_CMD(0) + 9) โ€” to the top, we're going up bestie ๐Ÿ”ฅ
  • BRLAPI_KEY_CMD_BOT โ€” (BRLAPI_KEY_CMD(0) + 10) โ€” to the bottom
  • BRLAPI_KEY_CMD_TOP_LEFT โ€” (BRLAPI_KEY_CMD(0) + 11) โ€” top left corner, main character energy
  • BRLAPI_KEY_CMD_BOT_LEFT โ€” (BRLAPI_KEY_CMD(0) + 12) โ€” bottom left corner
  • BRLAPI_KEY_CMD_PRPGRPH โ€” (BRLAPI_KEY_CMD(0) + 13) โ€” previous paragraph
  • BRLAPI_KEY_CMD_NXPGRPH โ€” (BRLAPI_KEY_CMD(0) + 14) โ€” next paragraph
  • BRLAPI_KEY_CMD_PRPROMPT โ€” (BRLAPI_KEY_CMD(0) + 15) โ€” previous prompt
  • BRLAPI_KEY_CMD_NXPROMPT โ€” (BRLAPI_KEY_CMD(0) + 16) โ€” next prompt
  • BRLAPI_KEY_CMD_PRSEARCH โ€” (BRLAPI_KEY_CMD(0) + 17) โ€” previous search result ๐Ÿ”
  • BRLAPI_KEY_CMD_NXSEARCH โ€” (BRLAPI_KEY_CMD(0) + 18) โ€” next search result
  • BRLAPI_KEY_CMD_CHRLT โ€” (BRLAPI_KEY_CMD(0) + 19) โ€” char left
  • BRLAPI_KEY_CMD_CHRRT โ€” (BRLAPI_KEY_CMD(0) + 20) โ€” char right
  • BRLAPI_KEY_CMD_HWINLT โ€” (BRLAPI_KEY_CMD(0) + 21) โ€” half window left
  • BRLAPI_KEY_CMD_HWINRT โ€” (BRLAPI_KEY_CMD(0) + 22) โ€” half window right
  • BRLAPI_KEY_CMD_FWINLT โ€” (BRLAPI_KEY_CMD(0) + 23) โ€” full window left
  • BRLAPI_KEY_CMD_FWINRT โ€” (BRLAPI_KEY_CMD(0) + 24) โ€” full window right
  • BRLAPI_KEY_CMD_FWINLTSKIP โ€” (BRLAPI_KEY_CMD(0) + 25) โ€” full window left, but make it skip ๐Ÿฆ‹
  • BRLAPI_KEY_CMD_FWINRTSKIP โ€” (BRLAPI_KEY_CMD(0) + 26) โ€” full window right, but make it skip
  • BRLAPI_KEY_CMD_LNBEG โ€” (BRLAPI_KEY_CMD(0) + 27) โ€” beginning of the line
  • BRLAPI_KEY_CMD_LNEND โ€” (BRLAPI_KEY_CMD(0) + 28) โ€” end of the line
  • BRLAPI_KEY_CMD_HOME โ€” (BRLAPI_KEY_CMD(0) + 29) โ€” home ๐Ÿ 
  • BRLAPI_KEY_CMD_BACK โ€” (BRLAPI_KEY_CMD(0) + 30) โ€” back
  • BRLAPI_KEY_CMD_RETURN โ€” (BRLAPI_KEY_CMD(0) + 31) โ€” return, periodt
  • BRLAPI_KEY_CMD_FREEZE โ€” (BRLAPI_KEY_CMD(0) + 32) โ€” freeze ๐ŸงŠ
  • BRLAPI_KEY_CMD_DISPMD โ€” (BRLAPI_KEY_CMD(0) + 33) โ€” display mode
  • BRLAPI_KEY_CMD_SIXDOTS โ€” (BRLAPI_KEY_CMD(0) + 34) โ€” six dots, the classic โ ฟ
  • BRLAPI_KEY_CMD_SLIDEWIN โ€” (BRLAPI_KEY_CMD(0) + 35) โ€” slide the window
  • BRLAPI_KEY_CMD_SKPIDLNS โ€” (BRLAPI_KEY_CMD(0) + 36) โ€” skip idle lines
  • BRLAPI_KEY_CMD_SKPBLNKWINS โ€” (BRLAPI_KEY_CMD(0) + 37) โ€” skip blank windows
  • BRLAPI_KEY_CMD_CSRVIS โ€” (BRLAPI_KEY_CMD(0) + 38) โ€” cursor visible ๐Ÿ‘€
  • BRLAPI_KEY_CMD_CSRHIDE โ€” (BRLAPI_KEY_CMD(0) + 39) โ€” cursor hide ๐Ÿ™ˆ
  • BRLAPI_KEY_CMD_CSRTRK โ€” (BRLAPI_KEY_CMD(0) + 40) โ€” cursor tracking
  • BRLAPI_KEY_CMD_CSRSIZE โ€” (BRLAPI_KEY_CMD(0) + 41) โ€” cursor size, it's giving resize
  • BRLAPI_KEY_CMD_CSRBLINK โ€” (BRLAPI_KEY_CMD(0) + 42) โ€” cursor blink โœจ
  • BRLAPI_KEY_CMD_ATTRVIS โ€” (BRLAPI_KEY_CMD(0) + 43) โ€” attribute visible
  • BRLAPI_KEY_CMD_ATTRBLINK โ€” (BRLAPI_KEY_CMD(0) + 44) โ€” attribute blink
  • BRLAPI_KEY_CMD_CAPBLINK โ€” (BRLAPI_KEY_CMD(0) + 45) โ€” capital blink
  • BRLAPI_KEY_CMD_TUNES โ€” (BRLAPI_KEY_CMD(0) + 46) โ€” tunes ๐ŸŽต
  • BRLAPI_KEY_CMD_AUTOREPEAT โ€” (BRLAPI_KEY_CMD(0) + 47) โ€” autorepeat, the way it just keeps going
  • BRLAPI_KEY_CMD_AUTOSPEAK โ€” (BRLAPI_KEY_CMD(0) + 48) โ€” autospeak ๐Ÿ—ฃ๏ธ
  • BRLAPI_KEY_CMD_HELP โ€” (BRLAPI_KEY_CMD(0) + 49) โ€” help, we love a rescue moment ๐Ÿซถ
  • BRLAPI_KEY_CMD_INFO โ€” (BRLAPI_KEY_CMD(0) + 50) โ€” info
  • BRLAPI_KEY_CMD_LEARN โ€” (BRLAPI_KEY_CMD(0) + 51) โ€” learn ๐Ÿ“š
  • BRLAPI_KEY_CMD_PREFMENU โ€” (BRLAPI_KEY_CMD(0) + 52) โ€” preferences menu
  • BRLAPI_KEY_CMD_PREFSAVE โ€” (BRLAPI_KEY_CMD(0) + 53) โ€” save those prefs ๐Ÿ’พ
  • BRLAPI_KEY_CMD_PREFLOAD โ€” (BRLAPI_KEY_CMD(0) + 54) โ€” load those prefs
  • BRLAPI_KEY_CMD_MENU_FIRST_ITEM โ€” (BRLAPI_KEY_CMD(0) + 55) โ€” first menu item
  • BRLAPI_KEY_CMD_MENU_LAST_ITEM โ€” (BRLAPI_KEY_CMD(0) + 56) โ€” last menu item
  • BRLAPI_KEY_CMD_MENU_PREV_ITEM โ€” (BRLAPI_KEY_CMD(0) + 57) โ€” previous menu item
  • BRLAPI_KEY_CMD_MENU_NEXT_ITEM โ€” (BRLAPI_KEY_CMD(0) + 58) โ€” next menu item
  • BRLAPI_KEY_CMD_MENU_PREV_SETTING โ€” (BRLAPI_KEY_CMD(0) + 59) โ€” previous menu setting
  • BRLAPI_KEY_CMD_MENU_NEXT_SETTING โ€” (BRLAPI_KEY_CMD(0) + 60) โ€” next menu setting
  • BRLAPI_KEY_CMD_MUTE โ€” (BRLAPI_KEY_CMD(0) + 61) โ€” mute ๐Ÿคซ
  • BRLAPI_KEY_CMD_SPKHOME โ€” (BRLAPI_KEY_CMD(0) + 62) โ€” speech home
  • BRLAPI_KEY_CMD_SAY_LINE โ€” (BRLAPI_KEY_CMD(0) + 63) โ€” say the line
  • BRLAPI_KEY_CMD_SAY_ABOVE โ€” (BRLAPI_KEY_CMD(0) + 64) โ€” say what's above
  • BRLAPI_KEY_CMD_SAY_BELOW โ€” (BRLAPI_KEY_CMD(0) + 65) โ€” say what's below
  • BRLAPI_KEY_CMD_SAY_SLOWER โ€” (BRLAPI_KEY_CMD(0) + 66) โ€” slower, bestie, we can't keep up ๐Ÿ˜ญ
  • BRLAPI_KEY_CMD_SAY_FASTER โ€” (BRLAPI_KEY_CMD(0) + 67) โ€” faster, go go go ๐Ÿ”ฅ
  • BRLAPI_KEY_CMD_SAY_SOFTER โ€” (BRLAPI_KEY_CMD(0) + 68) โ€” softer
  • BRLAPI_KEY_CMD_SAY_LOUDER โ€” (BRLAPI_KEY_CMD(0) + 69) โ€” louder ๐Ÿ“ข
  • BRLAPI_KEY_CMD_SWITCHVT_PREV โ€” (BRLAPI_KEY_CMD(0) + 70) โ€” previous VT
  • BRLAPI_KEY_CMD_SWITCHVT_NEXT โ€” (BRLAPI_KEY_CMD(0) + 71) โ€” next VT
  • BRLAPI_KEY_CMD_CSRJMP_VERT โ€” (BRLAPI_KEY_CMD(0) + 72) โ€” cursor jump, vertical
  • BRLAPI_KEY_CMD_PASTE โ€” (BRLAPI_KEY_CMD(0) + 73) โ€” paste ๐Ÿ“‹
  • BRLAPI_KEY_CMD_RESTARTBRL โ€” (BRLAPI_KEY_CMD(0) + 74) โ€” restart the braille
  • BRLAPI_KEY_CMD_RESTARTSPEECH โ€” (BRLAPI_KEY_CMD(0) + 75) โ€” restart the speech
  • BRLAPI_KEY_CMD_OFFLINE โ€” (BRLAPI_KEY_CMD(0) + 76) โ€” offline mode, going ghost ๐Ÿ‘ป
  • BRLAPI_KEY_CMD_SHIFT โ€” (BRLAPI_KEY_CMD(0) + 77) โ€” shift
  • BRLAPI_KEY_CMD_UPPER โ€” (BRLAPI_KEY_CMD(0) + 78) โ€” upper
  • BRLAPI_KEY_CMD_CONTROL โ€” (BRLAPI_KEY_CMD(0) + 79) โ€” control
  • BRLAPI_KEY_CMD_META โ€” (BRLAPI_KEY_CMD(0) + 80) โ€” meta
  • BRLAPI_KEY_CMD_TIME โ€” (BRLAPI_KEY_CMD(0) + 81) โ€” time โฐ
  • BRLAPI_KEY_CMD_MENU_PREV_LEVEL โ€” (BRLAPI_KEY_CMD(0) + 82) โ€” previous menu level
  • BRLAPI_KEY_CMD_ASPK_SEL_LINE โ€” (BRLAPI_KEY_CMD(0) + 83) โ€” select line
  • BRLAPI_KEY_CMD_ASPK_SEL_CHAR โ€” (BRLAPI_KEY_CMD(0) + 84) โ€” select char
  • BRLAPI_KEY_CMD_ASPK_INS_CHARS โ€” (BRLAPI_KEY_CMD(0) + 85) โ€” insert chars
  • BRLAPI_KEY_CMD_ASPK_DEL_CHARS โ€” (BRLAPI_KEY_CMD(0) + 86) โ€” delete chars
  • BRLAPI_KEY_CMD_ASPK_REP_CHARS โ€” (BRLAPI_KEY_CMD(0) + 87) โ€” replace chars
  • BRLAPI_KEY_CMD_ASPK_CMP_WORDS โ€” (BRLAPI_KEY_CMD(0) + 88) โ€” compare words
  • BRLAPI_KEY_CMD_SPEAK_CURR_CHAR โ€” (BRLAPI_KEY_CMD(0) + 89) โ€” speak current char
  • BRLAPI_KEY_CMD_SPEAK_PREV_CHAR โ€” (BRLAPI_KEY_CMD(0) + 90) โ€” speak previous char
  • BRLAPI_KEY_CMD_SPEAK_NEXT_CHAR โ€” (BRLAPI_KEY_CMD(0) + 91) โ€” speak next char
  • BRLAPI_KEY_CMD_SPEAK_CURR_WORD โ€” (BRLAPI_KEY_CMD(0) + 92) โ€” speak current word
  • BRLAPI_KEY_CMD_SPEAK_PREV_WORD โ€” (BRLAPI_KEY_CMD(0) + 93) โ€” speak previous word
  • BRLAPI_KEY_CMD_SPEAK_NEXT_WORD โ€” (BRLAPI_KEY_CMD(0) + 94) โ€” speak next word
  • BRLAPI_KEY_CMD_SPEAK_CURR_LINE โ€” (BRLAPI_KEY_CMD(0) + 95) โ€” speak current line
  • BRLAPI_KEY_CMD_SPEAK_PREV_LINE โ€” (BRLAPI_KEY_CMD(0) + 96) โ€” speak previous line
  • BRLAPI_KEY_CMD_SPEAK_NEXT_LINE โ€” (BRLAPI_KEY_CMD(0) + 97) โ€” speak next line
  • BRLAPI_KEY_CMD_SPEAK_FRST_CHAR โ€” (BRLAPI_KEY_CMD(0) + 98) โ€” speak first char
  • BRLAPI_KEY_CMD_SPEAK_LAST_CHAR โ€” (BRLAPI_KEY_CMD(0) + 99) โ€” speak last char
  • BRLAPI_KEY_CMD_SPEAK_FRST_LINE โ€” (BRLAPI_KEY_CMD(0) + 100) โ€” speak first line
  • BRLAPI_KEY_CMD_SPEAK_LAST_LINE โ€” (BRLAPI_KEY_CMD(0) + 101) โ€” speak last line
  • BRLAPI_KEY_CMD_DESC_CURR_CHAR โ€” (BRLAPI_KEY_CMD(0) + 102) โ€” describe current char
  • BRLAPI_KEY_CMD_SPELL_CURR_WORD โ€” (BRLAPI_KEY_CMD(0) + 103) โ€” spell current word ๐Ÿ”ค
  • BRLAPI_KEY_CMD_ROUTE_CURR_LOCN โ€” (BRLAPI_KEY_CMD(0) + 104) โ€” route current location
  • BRLAPI_KEY_CMD_SPEAK_CURR_LOCN โ€” (BRLAPI_KEY_CMD(0) + 105) โ€” speak current location ๐Ÿ“
  • BRLAPI_KEY_CMD_SHOW_CURR_LOCN โ€” (BRLAPI_KEY_CMD(0) + 106) โ€” show current location
  • BRLAPI_KEY_CMD_CLIP_SAVE โ€” (BRLAPI_KEY_CMD(0) + 107) โ€” clip save
  • BRLAPI_KEY_CMD_CLIP_RESTORE โ€” (BRLAPI_KEY_CMD(0) + 108) โ€” clip restore
  • BRLAPI_KEY_CMD_BRLUCDOTS โ€” (BRLAPI_KEY_CMD(0) + 109) โ€” braille unicode dots โ  โ ต
  • BRLAPI_KEY_CMD_BRLKBD โ€” (BRLAPI_KEY_CMD(0) + 110) โ€” braille keyboard
  • BRLAPI_KEY_CMD_UNSTICK โ€” (BRLAPI_KEY_CMD(0) + 111) โ€” unstuck that thing ๐Ÿซ 
  • BRLAPI_KEY_CMD_ALTGR โ€” (BRLAPI_KEY_CMD(0) + 112) โ€” AltGr
  • BRLAPI_KEY_CMD_GUI โ€” (BRLAPI_KEY_CMD(0) + 113) โ€” GUI
  • BRLAPI_KEY_CMD_BRL_STOP โ€” (BRLAPI_KEY_CMD(0) + 114) โ€” stop braille
  • BRLAPI_KEY_CMD_BRL_START โ€” (BRLAPI_KEY_CMD(0) + 115) โ€” start braille
  • BRLAPI_KEY_CMD_SPK_STOP โ€” (BRLAPI_KEY_CMD(0) + 116) โ€” stop speech
  • BRLAPI_KEY_CMD_SPK_START โ€” (BRLAPI_KEY_CMD(0) + 117) โ€” start speech
  • BRLAPI_KEY_CMD_SCR_STOP โ€” (BRLAPI_KEY_CMD(0) + 118) โ€” stop screen
  • BRLAPI_KEY_CMD_SCR_START โ€” (BRLAPI_KEY_CMD(0) + 119) โ€” start screen
  • BRLAPI_KEY_CMD_SELECTVT_PREV โ€” (BRLAPI_KEY_CMD(0) + 120) โ€” select previous VT
  • BRLAPI_KEY_CMD_SELECTVT_NEXT โ€” (BRLAPI_KEY_CMD(0) + 121) โ€” select next VT
  • BRLAPI_KEY_CMD_PRNBWIN โ€” (BRLAPI_KEY_CMD(0) + 122) โ€” previous non-blank window
  • BRLAPI_KEY_CMD_NXNBWIN โ€” (BRLAPI_KEY_CMD(0) + 123) โ€” next non-blank window
  • BRLAPI_KEY_CMD_TOUCH_NAV โ€” (BRLAPI_KEY_CMD(0) + 124) โ€” touch navigation ๐Ÿ‘†
  • BRLAPI_KEY_CMD_SPEAK_INDENT โ€” (BRLAPI_KEY_CMD(0) + 125) โ€” speak that indent
  • BRLAPI_KEY_CMD_ASPK_INDENT โ€” (BRLAPI_KEY_CMD(0) + 126) โ€” ask about that indent
  • BRLAPI_KEY_CMD_REFRESH โ€” (BRLAPI_KEY_CMD(0) + 127) โ€” refresh, the way we all need one ๐Ÿ”„
  • BRLAPI_KEY_CMD_INDICATORS โ€” (BRLAPI_KEY_CMD(0) + 128) โ€” indicators ๐Ÿ’ก
  • BRLAPI_KEY_CMD_TXTSEL_CLEAR โ€” (BRLAPI_KEY_CMD(0) + 129) โ€” clear the text selection
  • BRLAPI_KEY_CMD_TXTSEL_ALL โ€” (BRLAPI_KEY_CMD(0) + 130) โ€” select all the text
  • BRLAPI_KEY_CMD_HOST_COPY โ€” (BRLAPI_KEY_CMD(0) + 131) โ€” host copy
  • BRLAPI_KEY_CMD_HOST_CUT โ€” (BRLAPI_KEY_CMD(0) + 132) โ€” host cut โœ‚๏ธ
  • BRLAPI_KEY_CMD_HOST_PASTE โ€” (BRLAPI_KEY_CMD(0) + 133) โ€” host paste
  • BRLAPI_KEY_CMD_GUI_TITLE โ€” (BRLAPI_KEY_CMD(0) + 134) โ€” GUI title
  • BRLAPI_KEY_CMD_GUI_BRL_ACTIONS โ€” (BRLAPI_KEY_CMD(0) + 135) โ€” GUI braille actions
  • BRLAPI_KEY_CMD_GUI_HOME โ€” (BRLAPI_KEY_CMD(0) + 136) โ€” GUI home
  • BRLAPI_KEY_CMD_GUI_BACK โ€” (BRLAPI_KEY_CMD(0) + 137) โ€” GUI back
  • BRLAPI_KEY_CMD_GUI_DEV_SETTINGS โ€” (BRLAPI_KEY_CMD(0) + 138) โ€” GUI device settings
  • BRLAPI_KEY_CMD_GUI_DEV_OPTIONS โ€” (BRLAPI_KEY_CMD(0) + 139) โ€” GUI device options
  • BRLAPI_KEY_CMD_GUI_APP_LIST โ€” (BRLAPI_KEY_CMD(0) + 140) โ€” GUI app list
  • BRLAPI_KEY_CMD_GUI_APP_MENU โ€” (BRLAPI_KEY_CMD(0) + 141) โ€” GUI app menu
  • BRLAPI_KEY_CMD_GUI_APP_ALERTS โ€” (BRLAPI_KEY_CMD(0) + 142) โ€” GUI app alerts ๐Ÿšจ
  • BRLAPI_KEY_CMD_GUI_AREA_ACTV โ€” (BRLAPI_KEY_CMD(0) + 143) โ€” GUI active area
  • BRLAPI_KEY_CMD_GUI_AREA_PREV โ€” (BRLAPI_KEY_CMD(0) + 144) โ€” GUI previous area
  • BRLAPI_KEY_CMD_GUI_AREA_NEXT โ€” (BRLAPI_KEY_CMD(0) + 145) โ€” GUI next area
  • BRLAPI_KEY_CMD_GUI_ITEM_FRST โ€” (BRLAPI_KEY_CMD(0) + 146) โ€” GUI first item
  • BRLAPI_KEY_CMD_GUI_ITEM_PREV โ€” (BRLAPI_KEY_CMD(0) + 147) โ€” GUI previous item
  • BRLAPI_KEY_CMD_GUI_ITEM_NEXT โ€” (BRLAPI_KEY_CMD(0) + 148) โ€” GUI next item
  • BRLAPI_KEY_CMD_GUI_ITEM_LAST โ€” (BRLAPI_KEY_CMD(0) + 149) โ€” GUI last item
  • BRLAPI_KEY_CMD_SAY_LOWER โ€” (BRLAPI_KEY_CMD(0) + 150) โ€” lower
  • BRLAPI_KEY_CMD_SAY_HIGHER โ€” (BRLAPI_KEY_CMD(0) + 151) โ€” higher
  • BRLAPI_KEY_CMD_SAY_ALL โ€” (BRLAPI_KEY_CMD(0) + 152) โ€” say it ALL ๐Ÿ—ฃ๏ธ
  • BRLAPI_KEY_CMD_CONTRACTED โ€” (BRLAPI_KEY_CMD(0) + 153) โ€” contracted braille
  • BRLAPI_KEY_CMD_COMPBRL6 โ€” (BRLAPI_KEY_CMD(0) + 154) โ€” computer braille 6
  • BRLAPI_KEY_CMD_PREFRESET โ€” (BRLAPI_KEY_CMD(0) + 155) โ€” reset those prefs
  • BRLAPI_KEY_CMD_ASPK_EMP_LINE โ€” (BRLAPI_KEY_CMD(0) + 156) โ€” ask about the empty line
  • BRLAPI_KEY_CMD_SPK_PUNCT_LEVEL โ€” (BRLAPI_KEY_CMD(0) + 157) โ€” speech punctuation level โ—
  • BRLAPI_KEY_CMD_PASTE_ALTMODE โ€” (BRLAPI_KEY_CMD(0) + 158) โ€” paste, alt mode

and the ones that switch up the number inside the parens ๐Ÿฆ‹

Yeah, these girlies leveled up โ€” different first arg, same energy. (Also: some of them are straight-up aliases of each other, same value and all. Not a typo, that's just how the page ships them. ๐Ÿ’…)

  • BRLAPI_KEY_CMD_ROUTE โ€” BRLAPI_KEY_CMD(1)
  • BRLAPI_KEY_CMD_CLIP_NEW โ€” BRLAPI_KEY_CMD(2)
  • BRLAPI_KEY_CMD_CUTBEGIN โ€” BRLAPI_KEY_CMD(2) โ€” same value as CLIP_NEW, twins fr fr ๐Ÿ‘ฏ
  • BRLAPI_KEY_CMD_CLIP_ADD โ€” BRLAPI_KEY_CMD(3)
  • BRLAPI_KEY_CMD_CUTAPPEND โ€” BRLAPI_KEY_CMD(3) โ€” twinning with CLIP_ADD
  • BRLAPI_KEY_CMD_COPY_RECT โ€” BRLAPI_KEY_CMD(4)
  • BRLAPI_KEY_CMD_CUTRECT โ€” BRLAPI_KEY_CMD(4) โ€” twinning with COPY_RECT
  • BRLAPI_KEY_CMD_COPY_LINE โ€” BRLAPI_KEY_CMD(5)
  • BRLAPI_KEY_CMD_CUTLINE โ€” BRLAPI_KEY_CMD(5) โ€” twinning with COPY_LINE
  • BRLAPI_KEY_CMD_SWITCHVT โ€” BRLAPI_KEY_CMD(6)
  • BRLAPI_KEY_CMD_PRINDENT โ€” BRLAPI_KEY_CMD(7)
  • BRLAPI_KEY_CMD_NXINDENT โ€” BRLAPI_KEY_CMD(8)
  • BRLAPI_KEY_CMD_DESCCHAR โ€” BRLAPI_KEY_CMD(9)
  • BRLAPI_KEY_CMD_SETLEFT โ€” BRLAPI_KEY_CMD(10)
  • BRLAPI_KEY_CMD_SETMARK โ€” BRLAPI_KEY_CMD(11)
  • BRLAPI_KEY_CMD_GOTOMARK โ€” BRLAPI_KEY_CMD(12)
  • BRLAPI_KEY_CMD_GOTOLINE โ€” BRLAPI_KEY_CMD(13)
  • BRLAPI_KEY_CMD_PRDIFCHAR โ€” BRLAPI_KEY_CMD(14)
  • BRLAPI_KEY_CMD_NXDIFCHAR โ€” BRLAPI_KEY_CMD(15)

That's the whole typedef + define squad, bestie โ€” not a single one left behind โœจ keep scrolling, there's more coming and it's lowkey juicy ๐Ÿซถ

#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_ROUTE_LINE   BRLAPI_KEY_CMD(24)
#define BRLAPI_KEY_CMD_REFRESH_LINE   BRLAPI_KEY_CMD(25)
#define BRLAPI_KEY_CMD_TXTSEL_START   BRLAPI_KEY_CMD(26)
#define BRLAPI_KEY_CMD_TXTSEL_SET   BRLAPI_KEY_CMD(27)
#define BRLAPI_KEY_CMD_ROUTE_SPEECH   BRLAPI_KEY_CMD(28)
#define BRLAPI_KEY_CMD_PASTE_HISTORY_ALTMODE   BRLAPI_KEY_CMD(29)
#define BRLAPI_KEY_CMD_SELECTVT   BRLAPI_KEY_CMD(30)
#define BRLAPI_KEY_CMD_ALERT   BRLAPI_KEY_CMD(31)
#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_AT   BRLAPI_KEY_CMD(39)
#define BRLAPI_KEY_CMD_MACRO   BRLAPI_KEY_CMD(40)
#define BRLAPI_KEY_CMD_HOSTCMD   BRLAPI_KEY_CMD(41)
#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_FLG_MOTION_SCALED   BRLAPI_KEY_FLG(0X0800)
#define BRLAPI_KEY_FLG_MOTION_TOLEFT   BRLAPI_KEY_FLG(0X1000)
#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_ALTGR   BRLAPI_KEY_FLG(0X10)
#define BRLAPI_KEY_FLG_GUI   BRLAPI_KEY_FLG(0X20)
#define BRLAPI_KEY_FLG_ESCAPED   BRLAPI_KEY_FLG(0X40)
#define BRLAPI_KEY_FLG_CAPSLOCK   BRLAPI_KEY_FLG(0X80)
#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

okay so key codes are unsigned 64 bit integers, right? and this whole 64-bit space is split into 3 parts:

  • bits 63-32 (BRLAPI_KEY_FLAGS_MASK), the flags: bits 39-32 are standard X modifiers (shift, control, meta, ...). the other flags are used for some commands, so go read the documentation of BRLAPI_KEY_FLG_* for their respective uses, iykyk.
  • bits 31-29 (BRLAPI_KEY_TYPE_MASK), the 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), the 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.

so the second and third part are literally mandatory โ€” they're the ones telling you the type of keycode and the value of the keycode. the first part is where the optional flags live. no flags? still valid. flags are the garnish ๐ŸŽ€

The third part is itself split into two parts: a command number and a command value. and bestie, the relative sizes of these parts vary according to the key type โ€” it's giving adaptive, it's giving flexible.

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.

The brlapi_expandKeyCode() function may be used for splitting key codes into these parts. use it, it's there for you ๐Ÿซถ

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 you to easily handle usual cases like 0x00xy (latin1), 0x01xy (latin2), XK_Backspace (0xff08, backspace), XK_Tab (0xff09, tab), ... you get it โœจ

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) โ€” yes, from 0, we don't count like cavemen ๐Ÿ’€
  • (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 โ€” icon behaviour honestly ๐Ÿ‘‘
  • (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.

brlapi_ignoreKeyRanges() and brlapi_acceptKeyRanges() manipulate keycode ranges. they are composed of 2 keycodes: the "first" and the "last" boundaries. the range expressed by these two keycodes is the set of keycodes whose lower part (bits 31-0) is between the lower part of the "first" keycode and the "last" keycode (inclusive), and whose high part (bits 63-32), the flags, contains at least the flags of the "first" keycode, and at most the flags of the "last" keycode. setting the "first" and "last" keycode to the same value expresses only one keycode, for instance. setting the first and last keycode to the same command code but setting no flags in the "first" keycode and setting one flag in the "last" keycode expresses only two keycode, with the same lower part and no flags set except possibly the flag that is set in the "last" keycode. setting one flag i in the "first" keycode and setting the same flag plus another flag j in the "last" keycode expresses that the keycodes in the range have flag i set and possibly flag j set, but no other flag. that's the whole contract, don't come for me ๐ŸŒธ


๐ŸŽ€ 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

chord (space bar on braille keyboard)

#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. you pass in which dots are on, it hands you the pattern, no math required, we love a shortcut ๐Ÿฆ‹

#define BRLAPI_DRV_KEY_GROUP( code)

Value:

(((code) & BRLAPI_DRV_KEY_GROUP_MASK) >> BRLAPI_DRV_KEY_GROUP_SHIFT)

get key group of brlapi_keyCode_t

#define BRLAPI_DRV_KEY_GROUP_MASK 0XFF00

mask for key group of brlapi_keyCode_t

#define BRLAPI_DRV_KEY_GROUP_SHIFT 8

shift for key group of brlapi_keyCode_t

#define BRLAPI_DRV_KEY_NUMBER( code)

Value:

(((code) & BRLAPI_DRV_KEY_NUMBER_MASK) >> BRLAPI_DRV_KEY_NUMBER_SHIFT)

get key number of brlapi_keyCode_t

#define BRLAPI_DRV_KEY_NUMBER_ANY 0XFF

key number representing any key in the group

#define BRLAPI_DRV_KEY_NUMBER_MASK 0XFF

mask for key number of brlapi_keyCode_t

#define BRLAPI_DRV_KEY_NUMBER_SHIFT 0

shift for key number of brlapi_keyCode_t

#define BRLAPI_DRV_KEY_PRESS BRLAPI_KEYCODE_C(0X8000000000000000)

When brlapi_enterTtyMode() or brlapi_entg$erTtyModeWithPath() is called with a driver name, brlapi_readKey() and brlapi_readKeyWithTimeout() will return driver-specific key codes. From most- to least-significant, their eight bytes are: F 0 0 0 0 0 G N. F is a byte that contains flag bits which are common for all drivers. BRLAPI_DRV_KEY_PRESS, which indicates that it's a key press (as opposed to a release) event, is the only currently defined flag. The other flag bits are always 0. G is the key's group, and N is the key's number within that group. flag for a driver-specific keycode press (not set means a release)

#define BRLAPI_DRV_KEY_VALUE_MASK (BRLAPI_DRV_KEY_GROUP_MASK | BRLAPI_DRV_KEY_NUMBER_MASK)

mask for key value (group and number) of brlapi_keyCode_t

#define BRLAPI_KEY_CMD( v)

Value:

((v) << BRLAPI_KEY_CMD_BLK_SHIFT)

#define BRLAPI_KEY_CMD_ALERT BRLAPI_KEY_CMD(31)

render an alert

#define BRLAPI_KEY_CMD_ALTGR (BRLAPI_KEY_CMD(0) + 112)

cycle the AltGr (Right Alt) sticky input modifier (next, on, off)

#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_EMP_LINE (BRLAPI_KEY_CMD(0) + 156)

set autospeak empty line on/off

#define BRLAPI_KEY_CMD_ASPK_INDENT (BRLAPI_KEY_CMD(0) + 126)

set autospeak indent of current line 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) โ€” flips autospeak of replaced characters on/off ๐Ÿฆ‹
  • #define BRLAPI_KEY_CMD_ASPK_SEL_CHAR (BRLAPI_KEY_CMD(0) + 84) โ€” flips autospeak of the selected character on/off โœจ
  • #define BRLAPI_KEY_CMD_ASPK_SEL_LINE (BRLAPI_KEY_CMD(0) + 83) โ€” flips autospeak of the 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) โ€” jump down to the nearest line that has different highlighting, lowkey so useful ๐Ÿ‘‘
  • #define BRLAPI_KEY_CMD_ATTRUP (BRLAPI_KEY_CMD(0) + 7) โ€” jump up to the nearest line with different highlighting โญ
  • #define BRLAPI_KEY_CMD_ATTRVIS (BRLAPI_KEY_CMD(0) + 43) โ€” set attribute underlining on/off (yes bestie, that's what the page says, we don't question it) ๐Ÿ™ˆ
  • #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, the lil undo of navigation ๐Ÿ’–
  • #define BRLAPI_KEY_CMD_BLK_MASK UINT64_C(0X1FFF0000) โ€” the mask for the braille command type, iykyk ๐Ÿ’ซ
  • #define BRLAPI_KEY_CMD_BLK_SHIFT 16 โ€” the shift amount for that braille command type ๐Ÿงš
  • #define BRLAPI_KEY_CMD_BOT (BRLAPI_KEY_CMD(0) + 10) โ€” go to the bottom line โฌ‡๏ธ
  • #define BRLAPI_KEY_CMD_BOT_LEFT (BRLAPI_KEY_CMD(0) + 12) โ€” go to the beginning of the bottom line, main character energy ๐ŸŽฌ
  • #define BRLAPI_KEY_CMD_BRL_START (BRLAPI_KEY_CMD(0) + 115) โ€” start the braille driver, let's GO ๐Ÿ”ฅ
  • #define BRLAPI_KEY_CMD_BRL_STOP (BRLAPI_KEY_CMD(0) + 114) โ€” stop the braille driver, we rest ๐Ÿ˜ด
  • #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 typing 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, classic slay ๐Ÿ“‹
  • #define BRLAPI_KEY_CMD_CLIP_NEW BRLAPI_KEY_CMD(2) โ€” start a new clipboard at character, fresh start bestie ๐ŸŒธ
  • #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_COMPBRL6 (BRLAPI_KEY_CMD(0) + 154) โ€” set six/eight dot computer braille ๐Ÿ”ก
  • #define BRLAPI_KEY_CMD_CONTEXT BRLAPI_KEY_CMD(38) โ€” switch to command context ๐ŸŒ€
  • #define BRLAPI_KEY_CMD_CONTRACTED (BRLAPI_KEY_CMD(0) + 153) โ€” set contracted/computer braille ๐Ÿง 
  • #define BRLAPI_KEY_CMD_CONTROL (BRLAPI_KEY_CMD(0) + 79) โ€” cycle the Control sticky input modifier (next, on, off) ๐Ÿ”„
  • #define BRLAPI_KEY_CMD_COPY_LINE BRLAPI_KEY_CMD(5) โ€” linear copy to character, keep it simple โœจ
  • #define BRLAPI_KEY_CMD_COPY_RECT BRLAPI_KEY_CMD(4) โ€” rectangular copy to character, fancy ๐ŸŽ€
  • #define BRLAPI_KEY_CMD_COPYCHARS BRLAPI_KEY_CMD(16) โ€” deprecated definition of CLIP_COPY โ€” copy characters to clipboard. It's the old name, ngl still works but like, use the other one ๐Ÿ’€
  • #define BRLAPI_KEY_CMD_CSRBLINK (BRLAPI_KEY_CMD(0) + 42) โ€” set screen cursor blinking on/off โœจ
  • #define BRLAPI_KEY_CMD_CSRHIDE (BRLAPI_KEY_CMD(0) + 39) โ€” set hidden screen cursor on/off ๐Ÿ™ˆ
  • #define BRLAPI_KEY_CMD_CSRJMP_VERT (BRLAPI_KEY_CMD(0) + 72) โ€” bring the screen cursor to the current line ๐ŸŽฏ
  • #define BRLAPI_KEY_CMD_CSRSIZE (BRLAPI_KEY_CMD(0) + 41) โ€” set screen cursor style block/underline ๐Ÿ–Š๏ธ
  • #define BRLAPI_KEY_CMD_CSRTRK (BRLAPI_KEY_CMD(0) + 40) โ€” set track screen cursor on/off ๐Ÿ“
  • #define BRLAPI_KEY_CMD_CSRVIS (BRLAPI_KEY_CMD(0) + 38) โ€” set screen cursor visibility on/off ๐Ÿ‘€
  • #define BRLAPI_KEY_CMD_CUTAPPEND BRLAPI_KEY_CMD(3) โ€” deprecated definition of CLIP_ADD โ€” append to clipboard from character. Yes it's the legacy one, we still list it tho ๐Ÿซ 
  • #define BRLAPI_KEY_CMD_CUTBEGIN BRLAPI_KEY_CMD(2) โ€” deprecated definition of CLIP_NEW โ€” start new clipboard at character. oldie but a goldie ๐Ÿ’€
  • #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 the current character, tell me everything ๐Ÿ”
  • #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 backward one braille window โฌ…๏ธ
  • #define BRLAPI_KEY_CMD_FWINLTSKIP (BRLAPI_KEY_CMD(0) + 25) โ€” go backward skipping blank braille windows, efficiency icon ๐Ÿ‘‘
  • #define BRLAPI_KEY_CMD_FWINRT (BRLAPI_KEY_CMD(0) + 24) โ€” go forward one braille window โžก๏ธ
  • #define BRLAPI_KEY_CMD_FWINRTSKIP (BRLAPI_KEY_CMD(0) + 26) โ€” go forward skipping blank braille windows โฉ
  • #define BRLAPI_KEY_CMD_GOTOLINE BRLAPI_KEY_CMD(13) โ€” go to selected line ๐ŸŽฏ
  • #define BRLAPI_KEY_CMD_GOTOMARK BRLAPI_KEY_CMD(12) โ€” go to the remembered braille window position ๐Ÿ“Œ
  • #define BRLAPI_KEY_CMD_GUI (BRLAPI_KEY_CMD(0) + 113) โ€” cycle the GUI (Windows) sticky input modifier (next, on, off) ๐ŸชŸ
  • #define BRLAPI_KEY_CMD_GUI_APP_ALERTS (BRLAPI_KEY_CMD(0) + 142) โ€” open the application alerts window ๐Ÿšจ
  • #define BRLAPI_KEY_CMD_GUI_APP_LIST (BRLAPI_KEY_CMD(0) + 140) โ€” open the application list window ๐Ÿ“ƒ
  • #define BRLAPI_KEY_CMD_GUI_APP_MENU (BRLAPI_KEY_CMD(0) + 141) โ€” open the application-specific menu ๐Ÿ“‚
  • #define BRLAPI_KEY_CMD_GUI_AREA_ACTV (BRLAPI_KEY_CMD(0) + 143) โ€” return to the active screen area ๐Ÿ 
  • #define BRLAPI_KEY_CMD_GUI_AREA_NEXT (BRLAPI_KEY_CMD(0) + 145) โ€” switch to the next screen area ๐Ÿƒโ€โ™€๏ธ
  • #define BRLAPI_KEY_CMD_GUI_AREA_PREV (BRLAPI_KEY_CMD(0) + 144) โ€” switch to the previous screen area ๐Ÿƒ
  • #define BRLAPI_KEY_CMD_GUI_BACK (BRLAPI_KEY_CMD(0) + 137) โ€” go back to the previous screen ๐Ÿ”™
  • #define BRLAPI_KEY_CMD_GUI_BRL_ACTIONS (BRLAPI_KEY_CMD(0) + 135) โ€” open the braille actions window ๐Ÿง‘โ€๐Ÿฆฏ
  • #define BRLAPI_KEY_CMD_GUI_DEV_OPTIONS (BRLAPI_KEY_CMD(0) + 139) โ€” open the device options window โš™๏ธ
  • #define BRLAPI_KEY_CMD_GUI_DEV_SETTINGS (BRLAPI_KEY_CMD(0) + 138) โ€” open the device settings window ๐Ÿ”ง
  • #define BRLAPI_KEY_CMD_GUI_HOME (BRLAPI_KEY_CMD(0) + 136) โ€” go to the home screen ๐Ÿก
  • #define BRLAPI_KEY_CMD_GUI_ITEM_FRST (BRLAPI_KEY_CMD(0) + 146) โ€” move to the first item in the screen area ๐Ÿฅ‡
  • #define BRLAPI_KEY_CMD_GUI_ITEM_LAST (BRLAPI_KEY_CMD(0) + 149) โ€” move to the last item in the screen area ๐Ÿ
  • #define BRLAPI_KEY_CMD_GUI_ITEM_NEXT (BRLAPI_KEY_CMD(0) + 148) โ€” move to the next item in the screen area ๐Ÿพ
  • #define BRLAPI_KEY_CMD_GUI_ITEM_PREV (BRLAPI_KEY_CMD(0) + 147) โ€” move to the previous item in the screen area ๐Ÿพ
  • #define BRLAPI_KEY_CMD_GUI_TITLE (BRLAPI_KEY_CMD(0) + 134) โ€” show the window title ๐Ÿชง
  • #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 screen cursor ๐Ÿ“
  • #define BRLAPI_KEY_CMD_HOST_COPY (BRLAPI_KEY_CMD(0) + 131) โ€” copy selected text to the host clipboard ๐Ÿ“Ž
  • #define BRLAPI_KEY_CMD_HOST_CUT (BRLAPI_KEY_CMD(0) + 132) โ€” cut selected text to the host clipboard โœ‚๏ธ
  • #define BRLAPI_KEY_CMD_HOST_PASTE (BRLAPI_KEY_CMD(0) + 133) โ€” insert the host clipboard text before the screen cursor ๐Ÿ“ฅ
  • #define BRLAPI_KEY_CMD_HOSTCMD BRLAPI_KEY_CMD(41) โ€” run host command ๐Ÿ–ฅ๏ธ
  • #define BRLAPI_KEY_CMD_HWINLT (BRLAPI_KEY_CMD(0) + 21) โ€” go left half a braille window, precision bestie ๐ŸŽฏ
  • #define BRLAPI_KEY_CMD_HWINRT (BRLAPI_KEY_CMD(0) + 22) โ€” go right half a braille window ๐ŸŽฏ
  • #define BRLAPI_KEY_CMD_INDICATORS (BRLAPI_KEY_CMD(0) + 128) โ€” show various device status indicators ๐Ÿ“Š
  • #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_MACRO BRLAPI_KEY_CMD(40) โ€” execute command macro ๐Ÿช„
  • #define BRLAPI_KEY_CMD_MENU_FIRST_ITEM (BRLAPI_KEY_CMD(0) + 55) โ€” go up to first item ๐Ÿ”
  • #define BRLAPI_KEY_CMD_MENU_LAST_ITEM (BRLAPI_KEY_CMD(0) + 56) โ€” go down to last item ๐Ÿ”š
  • #define BRLAPI_KEY_CMD_MENU_NEXT_ITEM (BRLAPI_KEY_CMD(0) + 58) โ€” go down 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 up 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) โ€” cycle the Meta (Left Alt) sticky input modifier (next, 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. literally the do-nothing icon ๐Ÿ’€
  • #define BRLAPI_KEY_CMD_NXDIFCHAR BRLAPI_KEY_CMD(15) โ€” go down to nearest line with a 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_NXNBWIN (BRLAPI_KEY_CMD(0) + 123) โ€” go forward to the nearest non-blank braille window ๐Ÿš€
  • #define BRLAPI_KEY_CMD_NXPGRPH (BRLAPI_KEY_CMD(0) + 14) โ€” go down to the first line of the next paragraph ๐Ÿ“„
  • #define BRLAPI_KEY_CMD_NXPROMPT (BRLAPI_KEY_CMD(0) + 16) โ€” go down to the 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, she's on a break ๐Ÿ˜ญ
  • #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 dots โ ฟ
  • #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 the clipboard content before the screen cursor ๐Ÿ“ฅ
  • #define BRLAPI_KEY_CMD_PASTE_ALTMODE (BRLAPI_KEY_CMD(0) + 158) โ€” insert the clipboard content before the screen cursor using the alternate paste mode ๐ŸŒ€
  • #define BRLAPI_KEY_CMD_PASTE_HISTORY BRLAPI_KEY_CMD(18) โ€” insert a clipboard history entry before the screen cursor ๐Ÿ—‚๏ธ
  • #define BRLAPI_KEY_CMD_PASTE_HISTORY_ALTMODE BRLAPI_KEY_CMD(29) โ€” insert a clipboard history entry before the screen cursor using the alternate paste mode ๐ŸŒ€
  • #define BRLAPI_KEY_CMD_PRDIFCHAR BRLAPI_KEY_CMD(14) โ€” go up to nearest line with a different character ๐Ÿ”ค
  • BRLAPI_KEY_CMD_PRDIFLN = (BRLAPI_KEY_CMD(0) + 5) โ€” go up to the nearest line that's got different content โœจ
  • BRLAPI_KEY_CMD_PREFLOAD = (BRLAPI_KEY_CMD(0) + 54) โ€” restore your prefs straight from disk, iconic ๐Ÿ’พ
  • BRLAPI_KEY_CMD_PREFMENU = (BRLAPI_KEY_CMD(0) + 52) โ€” enter/leave the preferences menu, yes bestie ๐ŸŽ€
  • BRLAPI_KEY_CMD_PREFRESET = (BRLAPI_KEY_CMD(0) + 155) โ€” reset prefs back to defaults, no cap ๐Ÿ”„
  • BRLAPI_KEY_CMD_PREFSAVE = (BRLAPI_KEY_CMD(0) + 53) โ€” save your prefs to disk, slay ๐Ÿ’…
  • BRLAPI_KEY_CMD_PRINDENT = BRLAPI_KEY_CMD(7) โ€” go up to the nearest line with less indent than the character, lowkey satisfying ๐Ÿฆ‹
  • BRLAPI_KEY_CMD_PRNBWIN = (BRLAPI_KEY_CMD(0) + 122) โ€” go backward to the nearest non-blank braille window ๐Ÿ‘€
  • BRLAPI_KEY_CMD_PRPGRPH = (BRLAPI_KEY_CMD(0) + 13) โ€” go up to the first line of the paragraph ๐ŸŒธ
  • BRLAPI_KEY_CMD_PRPROMPT = (BRLAPI_KEY_CMD(0) + 15) โ€” go up to the previous command prompt ๐Ÿ’ป
  • BRLAPI_KEY_CMD_PRSEARCH = (BRLAPI_KEY_CMD(0) + 17) โ€” search backward for clipboard text ๐Ÿ”
  • BRLAPI_KEY_CMD_REFRESH = (BRLAPI_KEY_CMD(0) + 127) โ€” refresh the braille display, periodt โœจ
  • BRLAPI_KEY_CMD_REFRESH_LINE = BRLAPI_KEY_CMD(25) โ€” refresh just the braille line, efficient queen ๐Ÿ‘‘
  • BRLAPI_KEY_CMD_RESTARTBRL = (BRLAPI_KEY_CMD(0) + 74) โ€” restart the braille driver ๐Ÿ”
  • BRLAPI_KEY_CMD_RESTARTSPEECH = (BRLAPI_KEY_CMD(0) + 75) โ€” restart the speech driver ๐Ÿ—ฃ๏ธ
  • BRLAPI_KEY_CMD_RETURN = (BRLAPI_KEY_CMD(0) + 31) โ€” go to the screen cursor, or go back after cursor tracking โ†ฉ๏ธ
  • BRLAPI_KEY_CMD_ROUTE = BRLAPI_KEY_CMD(1) โ€” bring the screen cursor to the character ๐Ÿ“
  • BRLAPI_KEY_CMD_ROUTE_CURR_LOCN = (BRLAPI_KEY_CMD(0) + 104) โ€” bring the screen cursor to the speech cursor ๐ŸŽฏ
  • BRLAPI_KEY_CMD_ROUTE_LINE = BRLAPI_KEY_CMD(24) โ€” bring the screen cursor to the line ๐Ÿ“
  • BRLAPI_KEY_CMD_ROUTE_SPEECH = BRLAPI_KEY_CMD(28) โ€” bring the speech cursor to the character ๐Ÿ’ฌ
  • BRLAPI_KEY_CMD_SAY_ABOVE = (BRLAPI_KEY_CMD(0) + 64) โ€” speak from the top of the screen through the current line โฌ†๏ธ
  • BRLAPI_KEY_CMD_SAY_ALL = (BRLAPI_KEY_CMD(0) + 152) โ€” speak from the top of the screen through the bottom of the screen, the whole vibe ๐Ÿ˜ญ
  • BRLAPI_KEY_CMD_SAY_BELOW = (BRLAPI_KEY_CMD(0) + 65) โ€” speak from the current line through the bottom of the screen โฌ‡๏ธ
  • BRLAPI_KEY_CMD_SAY_FASTER = (BRLAPI_KEY_CMD(0) + 67) โ€” increase speaking rate, zoom zoom ๐Ÿƒโ€โ™€๏ธ
  • BRLAPI_KEY_CMD_SAY_HIGHER = (BRLAPI_KEY_CMD(0) + 151) โ€” increase speaking pitch ๐ŸŽต
  • BRLAPI_KEY_CMD_SAY_LINE = (BRLAPI_KEY_CMD(0) + 63) โ€” speak the current line ๐Ÿ—ฃ๏ธ
  • BRLAPI_KEY_CMD_SAY_LOUDER = (BRLAPI_KEY_CMD(0) + 69) โ€” increase speaking volume, as it should be ๐Ÿ”Š
  • BRLAPI_KEY_CMD_SAY_LOWER = (BRLAPI_KEY_CMD(0) + 150) โ€” decrease speaking pitch ๐ŸŽถ
  • BRLAPI_KEY_CMD_SAY_SLOWER = (BRLAPI_KEY_CMD(0) + 66) โ€” decrease speaking rate, take your time bestie ๐Ÿข
  • BRLAPI_KEY_CMD_SAY_SOFTER = (BRLAPI_KEY_CMD(0) + 68) โ€” decrease speaking volume ๐Ÿคซ
  • BRLAPI_KEY_CMD_SCR_START = (BRLAPI_KEY_CMD(0) + 119) โ€” start the screen driver โ–ถ๏ธ
  • BRLAPI_KEY_CMD_SCR_STOP = (BRLAPI_KEY_CMD(0) + 118) โ€” stop the screen driver โน๏ธ
  • BRLAPI_KEY_CMD_SELECTVT = BRLAPI_KEY_CMD(30) โ€” bind to a specific virtual terminal ๐Ÿ–ฅ๏ธ
  • BRLAPI_KEY_CMD_SELECTVT_NEXT = (BRLAPI_KEY_CMD(0) + 121) โ€” bind to the next virtual terminal โžก๏ธ
  • BRLAPI_KEY_CMD_SELECTVT_PREV = (BRLAPI_KEY_CMD(0) + 120) โ€” bind to the previous virtual terminal โฌ…๏ธ
  • BRLAPI_KEY_CMD_SET_ATTRIBUTES_TABLE = BRLAPI_KEY_CMD(20) โ€” set the attributes table ๐ŸŽจ
  • BRLAPI_KEY_CMD_SET_CONTRACTION_TABLE = BRLAPI_KEY_CMD(21) โ€” set the contraction table โœ‚๏ธ
  • BRLAPI_KEY_CMD_SET_KEYBOARD_TABLE = BRLAPI_KEY_CMD(22) โ€” set the keyboard table โŒจ๏ธ
  • BRLAPI_KEY_CMD_SET_LANGUAGE_PROFILE = BRLAPI_KEY_CMD(23) โ€” set the language profile ๐ŸŒ
  • BRLAPI_KEY_CMD_SET_TEXT_TABLE = BRLAPI_KEY_CMD(19) โ€” set the text table ๐Ÿ“
  • BRLAPI_KEY_CMD_SETLEFT = BRLAPI_KEY_CMD(10) โ€” place the left end of the braille window at the character ๐Ÿ“Œ
  • BRLAPI_KEY_CMD_SETMARK = BRLAPI_KEY_CMD(11) โ€” remember the current braille window position ๐Ÿง 
  • BRLAPI_KEY_CMD_SHIFT = (BRLAPI_KEY_CMD(0) + 77) โ€” cycle the Shift sticky input modifier (next, on, off) ๐Ÿ”
  • BRLAPI_KEY_CMD_SHOW_CURR_LOCN = (BRLAPI_KEY_CMD(0) + 106) โ€” set speech cursor visibility on/off ๐Ÿ‘๏ธ
  • BRLAPI_KEY_CMD_SIXDOTS = (BRLAPI_KEY_CMD(0) + 34) โ€” set text style 6-dot/8-dot โšซ
  • BRLAPI_KEY_CMD_SKPBLNKWINS = (BRLAPI_KEY_CMD(0) + 37) โ€” set skipping of blank braille windows on/off ๐Ÿ™ˆ
  • BRLAPI_KEY_CMD_SKPIDLNS = (BRLAPI_KEY_CMD(0) + 36) โ€” set skipping of lines with identical content on/off ๐Ÿ’€
  • BRLAPI_KEY_CMD_SLIDEWIN = (BRLAPI_KEY_CMD(0) + 35) โ€” set the sliding braille window on/off ๐Ÿ›
  • BRLAPI_KEY_CMD_SPEAK_CURR_CHAR = (BRLAPI_KEY_CMD(0) + 89) โ€” speak the current character ๐Ÿ”ค
  • BRLAPI_KEY_CMD_SPEAK_CURR_LINE = (BRLAPI_KEY_CMD(0) + 95) โ€” speak the current line ๐Ÿ“„
  • BRLAPI_KEY_CMD_SPEAK_CURR_LOCN = (BRLAPI_KEY_CMD(0) + 105) โ€” speak the speech cursor location ๐Ÿ“
  • BRLAPI_KEY_CMD_SPEAK_CURR_WORD = (BRLAPI_KEY_CMD(0) + 92) โ€” speak the current word ๐Ÿ’ฌ
  • BRLAPI_KEY_CMD_SPEAK_FRST_CHAR = (BRLAPI_KEY_CMD(0) + 98) โ€” go to and speak the first non-blank character on the line ๐Ÿฅ‡
  • BRLAPI_KEY_CMD_SPEAK_FRST_LINE = (BRLAPI_KEY_CMD(0) + 100) โ€” go to and speak the first non-blank line on the screen ๐Ÿ
  • BRLAPI_KEY_CMD_SPEAK_INDENT = (BRLAPI_KEY_CMD(0) + 125) โ€” speak the indent of the current line ๐Ÿ“
  • BRLAPI_KEY_CMD_SPEAK_LAST_CHAR = (BRLAPI_KEY_CMD(0) + 99) โ€” go to and speak the last non-blank character on the line ๐ŸŽฏ
  • BRLAPI_KEY_CMD_SPEAK_LAST_LINE = (BRLAPI_KEY_CMD(0) + 101) โ€” go to and speak the last non-blank line on the screen ๐Ÿ”š
  • BRLAPI_KEY_CMD_SPEAK_NEXT_CHAR = (BRLAPI_KEY_CMD(0) + 91) โ€” go to and speak the next character โžก๏ธ
  • BRLAPI_KEY_CMD_SPEAK_NEXT_LINE = (BRLAPI_KEY_CMD(0) + 97) โ€” go to and speak the next line โคต๏ธ
  • BRLAPI_KEY_CMD_SPEAK_NEXT_WORD = (BRLAPI_KEY_CMD(0) + 94) โ€” go to and speak the next word โญ๏ธ
  • BRLAPI_KEY_CMD_SPEAK_PREV_CHAR = (BRLAPI_KEY_CMD(0) + 90) โ€” go to and speak the previous character โฌ…๏ธ
  • BRLAPI_KEY_CMD_SPEAK_PREV_LINE = (BRLAPI_KEY_CMD(0) + 96) โ€” go to and speak the previous line โคด๏ธ
  • BRLAPI_KEY_CMD_SPEAK_PREV_WORD = (BRLAPI_KEY_CMD(0) + 93) โ€” go to and speak the previous word โฎ๏ธ
  • BRLAPI_KEY_CMD_SPELL_CURR_WORD = (BRLAPI_KEY_CMD(0) + 103) โ€” spell the current word ๐Ÿ”ก
  • BRLAPI_KEY_CMD_SPK_PUNCT_LEVEL = (BRLAPI_KEY_CMD(0) + 157) โ€” cycle the speech punctuation level โ—
  • BRLAPI_KEY_CMD_SPK_START = (BRLAPI_KEY_CMD(0) + 117) โ€” start the speech driver โ–ถ๏ธ
  • BRLAPI_KEY_CMD_SPK_STOP = (BRLAPI_KEY_CMD(0) + 116) โ€” stop the speech driver โน๏ธ
  • BRLAPI_KEY_CMD_SPKHOME = (BRLAPI_KEY_CMD(0) + 62) โ€” go to the current speaking position ๐Ÿ 
  • BRLAPI_KEY_CMD_SWITCHVT = BRLAPI_KEY_CMD(6) โ€” switch to a specific virtual terminal ๐Ÿ”€
  • BRLAPI_KEY_CMD_SWITCHVT_NEXT = (BRLAPI_KEY_CMD(0) + 71) โ€” switch to the next virtual terminal โžก๏ธ
  • BRLAPI_KEY_CMD_SWITCHVT_PREV = (BRLAPI_KEY_CMD(0) + 70) โ€” switch to the previous virtual terminal โฌ…๏ธ
  • BRLAPI_KEY_CMD_TIME = (BRLAPI_KEY_CMD(0) + 81) โ€” show the current date and time, literally โฐ
  • BRLAPI_KEY_CMD_TOP = (BRLAPI_KEY_CMD(0) + 9) โ€” go to the top line โฌ†๏ธ
  • BRLAPI_KEY_CMD_TOP_LEFT = (BRLAPI_KEY_CMD(0) + 11) โ€” go to the beginning of the top line โ†–๏ธ
  • BRLAPI_KEY_CMD_TOUCH_AT = BRLAPI_KEY_CMD(39) โ€” current reading location, touchy touchy ๐Ÿ‘†
  • BRLAPI_KEY_CMD_TOUCH_NAV = (BRLAPI_KEY_CMD(0) + 124) โ€” set touch navigation on/off ๐Ÿ“ฑ
  • BRLAPI_KEY_CMD_TUNES = (BRLAPI_KEY_CMD(0) + 46) โ€” set alert tunes on/off ๐ŸŽต
  • BRLAPI_KEY_CMD_TXTSEL_ALL = (BRLAPI_KEY_CMD(0) + 130) โ€” select all of the text, ctrl+a energy ๐Ÿ–ฑ๏ธ
  • BRLAPI_KEY_CMD_TXTSEL_CLEAR = (BRLAPI_KEY_CMD(0) + 129) โ€” clear the text selection ๐Ÿงน
  • BRLAPI_KEY_CMD_TXTSEL_SET = BRLAPI_KEY_CMD(27) โ€” set the text selection โœ‚๏ธ
  • BRLAPI_KEY_CMD_TXTSEL_START = BRLAPI_KEY_CMD(26) โ€” start the text selection ๐Ÿณ๏ธ
  • BRLAPI_KEY_CMD_UNSTICK = (BRLAPI_KEY_CMD(0) + 111) โ€” clear all sticky input modifiers, unstuck era ๐Ÿซถ
  • BRLAPI_KEY_CMD_UPPER = (BRLAPI_KEY_CMD(0) + 78) โ€” cycle the Upper sticky input modifier (next, on, off) ๐Ÿ” 
  • BRLAPI_KEY_CMD_WINDN = (BRLAPI_KEY_CMD(0) + 4) โ€” go down several lines โฌ‡๏ธ
  • BRLAPI_KEY_CMD_WINUP = (BRLAPI_KEY_CMD(0) + 3) โ€” go up several lines โฌ†๏ธ

Okay bestie, new cluster unlocked: the bit/flag maths of brlapi_keyCode_t ๐Ÿ’– These four are the scaffolding that says where the code lives and where the flags live inside that uint64_t vibe:

  • BRLAPI_KEY_CODE_MASK = UINT64_C(0X000000001FFFFFFF) โ€” mask for the code of brlapi_keyCode_t ๐Ÿ”
  • BRLAPI_KEY_CODE_SHIFT = 0 โ€” shift for the code of brlapi_keyCode_t โ†”๏ธ
  • BRLAPI_KEY_FLAGS_MASK = UINT64_C(0XFFFFFFFF00000000) โ€” mask for the flags of brlapi_keyCode_t ๐Ÿšฉ
  • BRLAPI_KEY_FLAGS_SHIFT = 32 โ€” shift for the flags of brlapi_keyCode_t โ†”๏ธ
The last two are highkey doing the heavy lifting: the flags live up in the top 32 bits, the code chills down in the bottom bits. No guessing, that's just what the masks and shifts say ๐ŸŽ€

Now the flag-makin' macro itself:

  • BRLAPI_KEY_FLG( v) โ€” value is ((brlapi_keyCode_t)(v) << BRLAPI_KEY_FLAGS_SHIFT) โ€” it shoves your flag value up into the flags region, iconic ๐Ÿ—๏ธ

And all the flag constants it builds, in all their glory:

  • BRLAPI_KEY_FLG_ALTGR = BRLAPI_KEY_FLG(0X10) โ€” altgr (right alt) key pressed ๐ŸŽน
  • BRLAPI_KEY_FLG_CAPSLOCK = BRLAPI_KEY_FLG(0X80) โ€” capslock key pressed ๐Ÿ” 
  • BRLAPI_KEY_FLG_CONTROL = BRLAPI_KEY_FLG(0X04) โ€” control key pressed ๐ŸŽ›๏ธ
  • BRLAPI_KEY_FLG_ESCAPED = BRLAPI_KEY_FLG(0X40) โ€” prefix with escape ๐Ÿšช
  • BRLAPI_KEY_FLG_GUI = BRLAPI_KEY_FLG(0X20) โ€” gui (windows) key pressed ๐ŸชŸ
  • BRLAPI_KEY_FLG_KBD_EMUL0 = BRLAPI_KEY_FLG(0X0200) โ€” it is an emulation 0 scan code ๐Ÿงช
  • BRLAPI_KEY_FLG_KBD_EMUL1 = BRLAPI_KEY_FLG(0X0400) โ€” it is an emulation 1 scan code ๐Ÿงช
  • BRLAPI_KEY_FLG_KBD_RELEASE = BRLAPI_KEY_FLG(0X0100) โ€” it is a release scan code ๐Ÿ”“
  • BRLAPI_KEY_FLG_META = BRLAPI_KEY_FLG(0X08) โ€” meta (left alt) key pressed ๐ŸŽน
  • BRLAPI_KEY_FLG_MOD1 = BRLAPI_KEY_FLG(0x00000008) โ€” Standard X modifiers Mod1 modifier (AKA meta) ๐Ÿ…ฐ๏ธ
  • BRLAPI_KEY_FLG_MOD2 = BRLAPI_KEY_FLG(0x00000010) โ€” Mod2 modifier (usually numlock) ๐Ÿ”ข
  • BRLAPI_KEY_FLG_MOD3 = BRLAPI_KEY_FLG(0x00000020) โ€” Mod3 modifier 3๏ธโƒฃ
  • BRLAPI_KEY_FLG_MOD4 = BRLAPI_KEY_FLG(0x00000040) โ€” Mod4 modifier 4๏ธโƒฃ
  • BRLAPI_KEY_FLG_MOD5 = BRLAPI_KEY_FLG(0x00000080) โ€” Mod5 modifier (usually Alt-Gr) 5๏ธโƒฃ
  • BRLAPI_KEY_FLG_MOTION_ROUTE = BRLAPI_KEY_FLG(0X0400) โ€” bring the screen cursor into the braille window after the function ๐Ÿ“
  • BRLAPI_KEY_FLG_MOTION_SCALED = BRLAPI_KEY_FLG(0X0800) โ€” scale arg=0X00-0XFF to screen height ๐Ÿ“
  • BRLAPI_KEY_FLG_MOTION_TOLEFT = BRLAPI_KEY_FLG(0X1000) โ€” go to the beginning of the line โฌ…๏ธ
  • BRLAPI_KEY_FLG_SHIFT = BRLAPI_KEY_FLG(0X01) โ€” shift key pressed โฌ†๏ธ
  • BRLAPI_KEY_FLG_TOGGLE_MASK = (BRLAPI_KEY_FLG_TOGGLE_ON | BRLAPI_KEY_FLG_TOGGLE_OFF) โ€” mask for all toggle flags ๐ŸŽš๏ธ
  • BRLAPI_KEY_FLG_TOGGLE_OFF = BRLAPI_KEY_FLG(0X0200) โ€” disable feature โญ•
  • BRLAPI_KEY_FLG_TOGGLE_ON = BRLAPI_KEY_FLG(0X0100) โ€” enable feature โœ…
  • BRLAPI_KEY_FLG_UPPER = BRLAPI_KEY_FLG(0X02) โ€” convert to uppercase ๐Ÿ” 

And the big one, plus the start of the keysym family:

  • BRLAPI_KEY_MAX = UINT64_C(0XFFFFFFFFFFFFFFFF) โ€” Brlapi_keyCode_t's biggest value. As defined in <stdint.h> ๐Ÿ”๏ธ
  • BRLAPI_KEY_SYM_BACKSPACE = UINT64_C(0X0000FF08) โ€” Standard X keysyms โŒจ๏ธ

And we're still rolling, don't worry ๐Ÿ’… โ€” the keysym saga continues in the next bit ๐Ÿฆ‹

and we're back with the rest of the macro fam ๐Ÿ’… these are the exact BRLAPI_KEY_SYM_* and type/print-format definitions, no cap:

#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)
#define BRLAPI_KEY_TYPE_MASK   UINT64_C(0X00000000E0000000)
#define BRLAPI_KEY_TYPE_SHIFT   29
#define BRLAPI_KEY_TYPE_SYM   UINT64_C(0X0000000000000000)
#define BRLAPI_KEYCODE_C( value)
#define BRLAPI_PRIuKEYCODE   PRIu64
#define BRLAPI_PRIxKEYCODE   PRIx64

okay so the ones with little descriptions attached, bestie:

  • BRLAPI_KEY_TYPE_CMD โ€” UINT64_C(0X0000000020000000), described as Braille command brlapi_keyCode_t.
  • BRLAPI_KEY_TYPE_MASK โ€” UINT64_C(0X00000000E0000000), the mask for type of brlapi_keyCode_t.
  • BRLAPI_KEY_TYPE_SHIFT โ€” 29, the shift for type of brlapi_keyCode_t.
  • BRLAPI_KEY_TYPE_SYM โ€” UINT64_C(0X0000000000000000), described as X Keysym brlapi_keyCode_t.
  • BRLAPI_KEYCODE_C( value) โ€” the value is UINT64_C(value), and its whole job is to define a brlapi_keyCode_t constant.
  • BRLAPI_PRIuKEYCODE โ€” PRIu64, the unsigned decimal print format for brlapi_keyCode_t.
  • BRLAPI_PRIxKEYCODE โ€” PRIx64, the hexadecimal print format for brlapi_keyCode_t.

๐Ÿงš Typedef Documentation ๐Ÿงš

the actual type under all this keycode chaos:

typedef uint64_t brlapi_keyCode_t

that's it, that's the typedef ๐Ÿ’–

๐Ÿ‘‘ Author ๐Ÿ‘‘

Generated automatically by Doxygen for BrlAPI from the source code.


and that's a wrap on brlapi_keycodes(3), bestie ๐Ÿซถ BrlAPI version 0.8, auto-generated by Doxygen from the source code โ€” footer vibes, but make it cute โœจ

๐Ÿ“ฆ where this page comes from