Types and Defines fore BrlAPI Key Codes - #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_SHUTDOWN (BRLAPI_KEY_CMD(0) + 77)
#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_ROUTE BRLAPI_KEY_FLG(0X0400)
#define BRLAPI_KEY_FLG_REPEAT_INITIAL BRLAPI_KEY_FLG(0X8000)
#define BRLAPI_KEY_FLG_REPEAT_DELAY BRLAPI_KEY_FLG(0X4000)
#define BRLAPI_KEY_FLG_REPEAT_MASK (BRLAPI_KEY_FLG_REPEAT_INITIAL | BRLAPI_KEY_FLG_REPEAT_DELAY)
#define BRLAPI_KEY_CMD_ROUTE BRLAPI_KEY_CMD(0X01)
#define BRLAPI_KEY_CMD_CUTBEGIN BRLAPI_KEY_CMD(0X02)
#define BRLAPI_KEY_CMD_CUTAPPEND BRLAPI_KEY_CMD(0X03)
#define BRLAPI_KEY_CMD_CUTRECT BRLAPI_KEY_CMD(0X04)
#define BRLAPI_KEY_CMD_CUTLINE BRLAPI_KEY_CMD(0X05)
#define BRLAPI_KEY_CMD_SWITCHVT BRLAPI_KEY_CMD(0X06)
#define BRLAPI_KEY_CMD_PRINDENT BRLAPI_KEY_CMD(0X07)
#define BRLAPI_KEY_CMD_NXINDENT BRLAPI_KEY_CMD(0X08)
#define BRLAPI_KEY_CMD_DESCCHAR BRLAPI_KEY_CMD(0X09)
#define BRLAPI_KEY_CMD_SETLEFT BRLAPI_KEY_CMD(0X0A)
#define BRLAPI_KEY_CMD_SETMARK BRLAPI_KEY_CMD(0X0B)
#define BRLAPI_KEY_CMD_GOTOMARK BRLAPI_KEY_CMD(0X0C)
#define BRLAPI_KEY_CMD_GOTOLINE BRLAPI_KEY_CMD(0X0D)
#define BRLAPI_KEY_FLG_LINE_SCALED BRLAPI_KEY_FLG(0X0100)
#define BRLAPI_KEY_FLG_LINE_TOLEFT BRLAPI_KEY_FLG(0X0200)
#define BRLAPI_KEY_CMD_PRDIFCHAR BRLAPI_KEY_CMD(0X0E)
#define BRLAPI_KEY_CMD_NXDIFCHAR BRLAPI_KEY_CMD(0X0F)
#define BRLAPI_KEY_CMD_PASSDOTS BRLAPI_KEY_CMD(0X22)
#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_CMD_PASSAT BRLAPI_KEY_CMD(0X23)
#define BRLAPI_KEY_CMD_PASSXT BRLAPI_KEY_CMD(0X24)
#define BRLAPI_KEY_CMD_PASSPS2 BRLAPI_KEY_CMD(0X25)
#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 0001
#define BRLAPI_DOT2 0002
#define BRLAPI_DOT3 0004
#define BRLAPI_DOT4 0010
#define BRLAPI_DOT5 0020
#define BRLAPI_DOT6 0040
#define BRLAPI_DOT7 0100
#define BRLAPI_DOT8 0200
#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)
typedef uint64_t brlapi_keyCode_t
Key codes are unsigned 64 bit integers. This 64-bit space is split into 3 parts:
o 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. o 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. o 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), 0xff08 (backspace), 0xff09 (tab), ...
For instance, if key == 0x20010008,
o key & BRLAPI_KEY_TYPE_MASK == BRLAPI_KEY_TYPE_CMD, so its a braille command o key & BRLAPI_KEY_CMD_BLK_MASK == BRLAPI_KEY_CMD_ROUTE, so its the braille route command. o key & BRLAPI_KEY_CMD_ARG_MASK == 8, so the highlighted cell is the 9th one (cells are numbered from 0) o 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 4 parts.
upper-left dot of standard braille cell
middle-left dot of standard braille cell
lower-left dot of standard braille cell
upper-right dot of standard braille cell
middle-right dot of standard braille cell
lower-right dot of standard braille cell
lower-left dot of computer braille cell
lower-right dot of computer braille cell
Mask for braille command value
Shift for braille command value
toggle attribute blinking on/off
go down to nearest line with different highlighting
go up to nearest line with different highlighting
toggle attribute underlining on/off
toggle autorepeat on/off
toggle autospeak on/off
go back (undo unexpected cursor tracking motion)
Mask for braille command type
Shift for braille command type
go to bottom line
go to beginning of bottom line
toggle capital letter blinking on/off
go left one character
go right one character
toggle cursor blinking on/off
toggle hidden cursor on/off
bring cursor to line (no horizontal motion)
toggle cursor style block/underline
toggle cursor tracking on/off
toggle cursor visibility on/off
append to existing cut buffer from character
start new cut buffer at character
linear cut to character
rectangular cut to character
describe character
toggle display mode attributes/text
toggle screen mode frozen/live
go left one window
go left to nearest non-blank window
go right one window
go right to nearest non-blank window
go to line
go to remembered window position
enter/leave help display
go to cursor
go left half a window
go right half a window
enter/leave status display
enter/leave command learn mode
go to beginning of line
go down one line
go to end of line
go up one line
go to first item in menu
go to last item in menu
go to next item in menu
change current item in menu to next choice
go to previous item in menu
change current item in menu to previous choice
stop speaking immediately
do nothing
go down to nearest line with different character
go down to nearest line with different content
go down to nearest line without greater indent
go down to first line of next paragraph
go down to next command prompt
search forward for content of cut buffer
braille display temporarily unavailable
input AT (aka set 2) keyboard scan code
input character as braille dots
input PS/2 (aka set 3) keyboard scan code
input XT (aka set 1) keyboard scan code
insert cut buffer at cursor
go up to nearest line with different character
go up to nearest line with different content
restore saved preferences
enter/leave preferences menu
save current preferences
go up to nearest line without greater indent
go up to last line of previous paragraph
go up to previous command prompt
search backward for content of cut buffer
reinitialize braille driver
reinitialize speech driver
go back (after cursor tracking) or to cursor (cursor not in window)
bring cursor to character
speak from top of screen through current line
speak from current line through bottom of screen
increase speech rate
speak current line
increase speech volume
decrease speech rate
decrease speech volume
position left end of window at character
remember current window position
graceful program termination
toggle text style 6-dot/8-dot
toggle skipping of blank windows on/off
toggle skipping of lines with identical content on/off
toggle sliding window on/off
go to current (most recent) speech position
switch to virtual terminal
switch to next virtual terminal
switch to previous virtual terminal
go to top line
go to beginning of top line
toggle alert tunes on/off
go down several lines
go up several lines
Mask for code of brlapi_keyCode_t
Shift for code of brlapi_keyCode_t
Mask for flags of brlapi_keyCode_t
Shift for flags of brlapi_keyCode_t
#define BRLAPI_KEY_FLG(v) ((brlapi_keyCode_t)(v) << BRLAPI_KEY_FLAGS_SHIFT)
control key pressed
it is an emulation 0 scan code
it is an emulation 1 scan code
it is a release scan code
scale arg=0X00-0XFF to screen height
go to beginning of line
meta key pressed
Mod1 modifier (AKA meta)
Mod2 modifier (usually numlock)
Mod3 modifier
Mod4 modifier
Mod5 modifier (usually Alt-Gr)
wait before repeating
execute command on key press
mask for all repeat flags
bring cursor into window after function
shift key pressed
mask for all toggle flags
disable feature
enable feature
convert to uppercase
Brlapi_keyCode_ts biggest value
As defined in <stdint.h>
Standard X keysyms
Braille command brlapi_keyCode_t
Mask for type of brlapi_keyCode_t
Shift for type of brlapi_keyCode_t
X Keysym brlapi_keyCode_t
Unsigned print format for brlapi_keyCode_t
Hex print format for brlapi_keyCode_t
typedef uint64_t brlapi_keyCode_t
| Version 1.0 | Types and Defines fore BrlAPI Key Codes (3) | 4 Jun 2007 |