BrlAPI  1.0
brlapi_keycodes.h
Go to the documentation of this file.
1 /*
2  * libbrlapi - A library providing access to braille terminals for applications.
3  *
4  * Copyright (C) 2002-2015 by
5  * Samuel Thibault <Samuel.Thibault@ens-lyon.org>
6  * S├ębastien Hinderer <Sebastien.Hinderer@ens-lyon.org>
7  *
8  * libbrlapi comes with ABSOLUTELY NO WARRANTY.
9  *
10  * This is free software, placed under the terms of the
11  * GNU Lesser General Public License, as published by the Free Software
12  * Foundation; either version 2.1 of the License, or (at your option) any
13  * later version. Please see the file LICENSE-LGPL for details.
14  *
15  * Web Page: http://brltty.com/
16  *
17  * This software is maintained by Dave Mielke <dave@mielke.cc>.
18  */
19 
23 #ifndef BRLAPI_INCLUDED_KEYCODES
24 #define BRLAPI_INCLUDED_KEYCODES
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29 
90 typedef uint64_t brlapi_keyCode_t;
91 
93 #define BRLAPI_PRIxKEYCODE PRIx64
94 
95 #define BRLAPI_PRIuKEYCODE PRIu64
96 
100 #define BRLAPI_KEY_MAX UINT64_C(0XFFFFFFFFFFFFFFFF)
101 
105 #define BRLAPI_KEY_FLAGS_MASK UINT64_C(0XFFFFFFFF00000000)
106 
107 #define BRLAPI_KEY_FLAGS_SHIFT 32
108 
109 #define BRLAPI_KEY_FLG(v) ((brlapi_keyCode_t)(v) << BRLAPI_KEY_FLAGS_SHIFT)
110 
112 #define BRLAPI_KEY_FLG_MOD1 BRLAPI_KEY_FLG(0x00000008)
113 
114 #define BRLAPI_KEY_FLG_MOD2 BRLAPI_KEY_FLG(0x00000010)
115 
116 #define BRLAPI_KEY_FLG_MOD3 BRLAPI_KEY_FLG(0x00000020)
117 
118 #define BRLAPI_KEY_FLG_MOD4 BRLAPI_KEY_FLG(0x00000040)
119 
120 #define BRLAPI_KEY_FLG_MOD5 BRLAPI_KEY_FLG(0x00000080)
121 
122 
126 #define BRLAPI_KEY_TYPE_MASK UINT64_C(0X00000000E0000000)
127 
128 #define BRLAPI_KEY_TYPE_SHIFT 29
129 
130 #define BRLAPI_KEY_TYPE_CMD UINT64_C(0X0000000020000000)
131 
132 #define BRLAPI_KEY_TYPE_SYM UINT64_C(0X0000000000000000)
133 
137 #define BRLAPI_KEY_CODE_MASK UINT64_C(0X000000001FFFFFFF)
138 
139 #define BRLAPI_KEY_CODE_SHIFT 0
140 
142 #define BRLAPI_KEY_CMD_BLK_MASK UINT64_C(0X1FFF0000)
143 
144 #define BRLAPI_KEY_CMD_BLK_SHIFT 16
145 
146 #define BRLAPI_KEY_CMD_ARG_MASK UINT64_C(0X0000FFFF)
147 
148 #define BRLAPI_KEY_CMD_ARG_SHIFT 0
149 #define BRLAPI_KEY_CMD(v) ((v) << BRLAPI_KEY_CMD_BLK_SHIFT)
150 
152 #define BRLAPI_KEY_SYM_BACKSPACE UINT64_C(0X0000FF08)
153 #define BRLAPI_KEY_SYM_TAB UINT64_C(0X0000FF09)
154 #define BRLAPI_KEY_SYM_LINEFEED UINT64_C(0X0000FF0D)
155 #define BRLAPI_KEY_SYM_ESCAPE UINT64_C(0X0000FF1B)
156 #define BRLAPI_KEY_SYM_HOME UINT64_C(0X0000FF50)
157 #define BRLAPI_KEY_SYM_LEFT UINT64_C(0X0000FF51)
158 #define BRLAPI_KEY_SYM_UP UINT64_C(0X0000FF52)
159 #define BRLAPI_KEY_SYM_RIGHT UINT64_C(0X0000FF53)
160 #define BRLAPI_KEY_SYM_DOWN UINT64_C(0X0000FF54)
161 #define BRLAPI_KEY_SYM_PAGE_UP UINT64_C(0X0000FF55)
162 #define BRLAPI_KEY_SYM_PAGE_DOWN UINT64_C(0X0000FF56)
163 #define BRLAPI_KEY_SYM_END UINT64_C(0X0000FF57)
164 #define BRLAPI_KEY_SYM_INSERT UINT64_C(0X0000FF63)
165 #define BRLAPI_KEY_SYM_FUNCTION UINT64_C(0X0000FFBE)
166 #define BRLAPI_KEY_SYM_DELETE UINT64_C(0X0000FFFF)
167 #define BRLAPI_KEY_SYM_UNICODE UINT64_C(0X01000000)
168 
171 #include "brlapi_constants.h"
172 
173 #ifdef __cplusplus
174 }
175 #endif /* __cplusplus */
176 
177 #endif /* BRLAPI_INCLUDED_KEYCODES */