All Data Structures Files Functions Variables Typedefs Macros Modules Pages
Macros
Keyboard key tokens

Description

See key input for how these are used.

These key codes are inspired by the USB HID Usage Tables v1.12 (p. 53-60), but re-arranged to map to 7-bit ASCII for printable keys (function keys are put in the 256+ range).

The naming of the key codes follow these rules:

Macros

#define GLFW_KEY_SPACE   32
 
#define GLFW_KEY_APOSTROPHE   39 /* ' */
 
#define GLFW_KEY_COMMA   44 /* , */
 
#define GLFW_KEY_MINUS   45 /* - */
 
#define GLFW_KEY_PERIOD   46 /* . */
 
#define GLFW_KEY_SLASH   47 /* / */
 
#define GLFW_KEY_0   48
 
#define GLFW_KEY_1   49
 
#define GLFW_KEY_2   50
 
#define GLFW_KEY_3   51
 
#define GLFW_KEY_4   52
 
#define GLFW_KEY_5   53
 
#define GLFW_KEY_6   54
 
#define GLFW_KEY_7   55
 
#define GLFW_KEY_8   56
 
#define GLFW_KEY_9   57
 
#define GLFW_KEY_SEMICOLON   59 /* ; */
 
#define GLFW_KEY_EQUAL   61 /* = */
 
#define GLFW_KEY_A   65
 
#define GLFW_KEY_B   66
 
#define GLFW_KEY_C   67
 
#define GLFW_KEY_D   68
 
#define GLFW_KEY_E   69
 
#define GLFW_KEY_F   70
 
#define GLFW_KEY_G   71
 
#define GLFW_KEY_H   72
 
#define GLFW_KEY_I   73
 
#define GLFW_KEY_J   74
 
#define GLFW_KEY_K   75
 
#define GLFW_KEY_L   76
 
#define GLFW_KEY_M   77
 
#define GLFW_KEY_N   78
 
#define GLFW_KEY_O   79
 
#define GLFW_KEY_P   80
 
#define GLFW_KEY_Q   81
 
#define GLFW_KEY_R   82
 
#define GLFW_KEY_S   83
 
#define GLFW_KEY_T   84
 
#define GLFW_KEY_U   85
 
#define GLFW_KEY_V   86
 
#define GLFW_KEY_W   87
 
#define GLFW_KEY_X   88
 
#define GLFW_KEY_Y   89
 
#define GLFW_KEY_Z   90
 
#define GLFW_KEY_LEFT_BRACKET   91 /* [ */
 
#define GLFW_KEY_BACKSLASH   92 /* \ */
 
#define GLFW_KEY_RIGHT_BRACKET   93 /* ] */
 
#define GLFW_KEY_GRAVE_ACCENT   96 /* ` */
 
#define GLFW_KEY_WORLD_1   161 /* non-US #1 */
 
#define GLFW_KEY_WORLD_2   162 /* non-US #2 */
 
#define GLFW_KEY_ESCAPE   256
 
#define GLFW_KEY_ENTER   257
 
#define GLFW_KEY_TAB   258
 
#define GLFW_KEY_BACKSPACE   259
 
#define GLFW_KEY_INSERT   260
 
#define GLFW_KEY_DELETE   261
 
#define GLFW_KEY_RIGHT   262
 
#define GLFW_KEY_LEFT   263
 
#define GLFW_KEY_DOWN   264
 
#define GLFW_KEY_UP   265
 
#define GLFW_KEY_PAGE_UP   266
 
#define GLFW_KEY_PAGE_DOWN   267
 
#define GLFW_KEY_HOME   268
 
#define GLFW_KEY_END   269
 
#define GLFW_KEY_CAPS_LOCK   280
 
#define GLFW_KEY_SCROLL_LOCK   281
 
#define GLFW_KEY_NUM_LOCK   282
 
#define GLFW_KEY_PRINT_SCREEN   283
 
#define GLFW_KEY_PAUSE   284
 
#define GLFW_KEY_F1   290
 
#define GLFW_KEY_F2   291
 
#define GLFW_KEY_F3   292
 
#define GLFW_KEY_F4   293
 
#define GLFW_KEY_F5   294
 
#define GLFW_KEY_F6   295
 
#define GLFW_KEY_F7   296
 
#define GLFW_KEY_F8   297
 
#define GLFW_KEY_F9   298
 
#define GLFW_KEY_F10   299
 
#define GLFW_KEY_F11   300
 
#define GLFW_KEY_F12   301
 
#define GLFW_KEY_F13   302
 
#define GLFW_KEY_F14   303
 
#define GLFW_KEY_F15   304
 
#define GLFW_KEY_F16   305
 
#define GLFW_KEY_F17   306
 
#define GLFW_KEY_F18   307
 
#define GLFW_KEY_F19   308
 
#define GLFW_KEY_F20   309
 
#define GLFW_KEY_F21   310
 
#define GLFW_KEY_F22   311
 
#define GLFW_KEY_F23   312
 
#define GLFW_KEY_F24   313
 
#define GLFW_KEY_F25   314
 
#define GLFW_KEY_KP_0   320
 
#define GLFW_KEY_KP_1   321
 
#define GLFW_KEY_KP_2   322
 
#define GLFW_KEY_KP_3   323
 
#define GLFW_KEY_KP_4   324
 
#define GLFW_KEY_KP_5   325
 
#define GLFW_KEY_KP_6   326
 
#define GLFW_KEY_KP_7   327
 
#define GLFW_KEY_KP_8   328
 
#define GLFW_KEY_KP_9   329
 
#define GLFW_KEY_KP_DECIMAL   330
 
#define GLFW_KEY_KP_DIVIDE   331
 
#define GLFW_KEY_KP_MULTIPLY   332
 
#define GLFW_KEY_KP_SUBTRACT   333
 
#define GLFW_KEY_KP_ADD   334
 
#define GLFW_KEY_KP_ENTER   335
 
#define GLFW_KEY_KP_EQUAL   336
 
#define GLFW_KEY_LEFT_SHIFT   340
 
#define GLFW_KEY_LEFT_CONTROL   341
 
#define GLFW_KEY_LEFT_ALT   342
 
#define GLFW_KEY_LEFT_SUPER   343
 
#define GLFW_KEY_RIGHT_SHIFT   344
 
#define GLFW_KEY_RIGHT_CONTROL   345
 
#define GLFW_KEY_RIGHT_ALT   346
 
#define GLFW_KEY_RIGHT_SUPER   347
 
#define GLFW_KEY_MENU   348
 
#define GLFW_KEY_LAST   GLFW_KEY_MENU
 

Macro Definition Documentation

◆ GLFW_KEY_SPACE

#define GLFW_KEY_SPACE   32

◆ GLFW_KEY_APOSTROPHE

#define GLFW_KEY_APOSTROPHE   39 /* ' */

◆ GLFW_KEY_COMMA

#define GLFW_KEY_COMMA   44 /* , */

◆ GLFW_KEY_MINUS

#define GLFW_KEY_MINUS   45 /* - */

◆ GLFW_KEY_PERIOD

#define GLFW_KEY_PERIOD   46 /* . */

◆ GLFW_KEY_SLASH

#define GLFW_KEY_SLASH   47 /* / */

◆ GLFW_KEY_0

#define GLFW_KEY_0   48

◆ GLFW_KEY_1

#define GLFW_KEY_1   49

◆ GLFW_KEY_2

#define GLFW_KEY_2   50

◆ GLFW_KEY_3

#define GLFW_KEY_3   51

◆ GLFW_KEY_4

#define GLFW_KEY_4   52

◆ GLFW_KEY_5

#define GLFW_KEY_5   53

◆ GLFW_KEY_6

#define GLFW_KEY_6   54

◆ GLFW_KEY_7

#define GLFW_KEY_7   55

◆ GLFW_KEY_8

#define GLFW_KEY_8   56

◆ GLFW_KEY_9

#define GLFW_KEY_9   57

◆ GLFW_KEY_SEMICOLON

#define GLFW_KEY_SEMICOLON   59 /* ; */

◆ GLFW_KEY_EQUAL

#define GLFW_KEY_EQUAL   61 /* = */

◆ GLFW_KEY_A

#define GLFW_KEY_A   65

◆ GLFW_KEY_B

#define GLFW_KEY_B   66

◆ GLFW_KEY_C

#define GLFW_KEY_C   67

◆ GLFW_KEY_D

#define GLFW_KEY_D   68

◆ GLFW_KEY_E

#define GLFW_KEY_E   69

◆ GLFW_KEY_F

#define GLFW_KEY_F   70

◆ GLFW_KEY_G

#define GLFW_KEY_G   71

◆ GLFW_KEY_H

#define GLFW_KEY_H   72

◆ GLFW_KEY_I

#define GLFW_KEY_I   73

◆ GLFW_KEY_J

#define GLFW_KEY_J   74

◆ GLFW_KEY_K

#define GLFW_KEY_K   75

◆ GLFW_KEY_L

#define GLFW_KEY_L   76

◆ GLFW_KEY_M

#define GLFW_KEY_M   77

◆ GLFW_KEY_N

#define GLFW_KEY_N   78

◆ GLFW_KEY_O

#define GLFW_KEY_O   79

◆ GLFW_KEY_P

#define GLFW_KEY_P   80

◆ GLFW_KEY_Q

#define GLFW_KEY_Q   81

◆ GLFW_KEY_R

#define GLFW_KEY_R   82

◆ GLFW_KEY_S

#define GLFW_KEY_S   83

◆ GLFW_KEY_T

#define GLFW_KEY_T   84

◆ GLFW_KEY_U

#define GLFW_KEY_U   85

◆ GLFW_KEY_V

#define GLFW_KEY_V   86

◆ GLFW_KEY_W

#define GLFW_KEY_W   87

◆ GLFW_KEY_X

#define GLFW_KEY_X   88

◆ GLFW_KEY_Y

#define GLFW_KEY_Y   89

◆ GLFW_KEY_Z

#define GLFW_KEY_Z   90

◆ GLFW_KEY_LEFT_BRACKET

#define GLFW_KEY_LEFT_BRACKET   91 /* [ */

◆ GLFW_KEY_BACKSLASH

#define GLFW_KEY_BACKSLASH   92 /* \ */

◆ GLFW_KEY_RIGHT_BRACKET

#define GLFW_KEY_RIGHT_BRACKET   93 /* ] */

◆ GLFW_KEY_GRAVE_ACCENT

#define GLFW_KEY_GRAVE_ACCENT   96 /* ` */

◆ GLFW_KEY_WORLD_1

#define GLFW_KEY_WORLD_1   161 /* non-US #1 */

◆ GLFW_KEY_WORLD_2

#define GLFW_KEY_WORLD_2   162 /* non-US #2 */

◆ GLFW_KEY_ESCAPE

#define GLFW_KEY_ESCAPE   256

◆ GLFW_KEY_ENTER

#define GLFW_KEY_ENTER   257

◆ GLFW_KEY_TAB

#define GLFW_KEY_TAB   258

◆ GLFW_KEY_BACKSPACE

#define GLFW_KEY_BACKSPACE   259

◆ GLFW_KEY_INSERT

#define GLFW_KEY_INSERT   260

◆ GLFW_KEY_DELETE

#define GLFW_KEY_DELETE   261

◆ GLFW_KEY_RIGHT

#define GLFW_KEY_RIGHT   262

◆ GLFW_KEY_LEFT

#define GLFW_KEY_LEFT   263

◆ GLFW_KEY_DOWN

#define GLFW_KEY_DOWN   264

◆ GLFW_KEY_UP

#define GLFW_KEY_UP   265

◆ GLFW_KEY_PAGE_UP

#define GLFW_KEY_PAGE_UP   266

◆ GLFW_KEY_PAGE_DOWN

#define GLFW_KEY_PAGE_DOWN   267

◆ GLFW_KEY_HOME

#define GLFW_KEY_HOME   268

◆ GLFW_KEY_END

#define GLFW_KEY_END   269

◆ GLFW_KEY_CAPS_LOCK

#define GLFW_KEY_CAPS_LOCK   280

◆ GLFW_KEY_SCROLL_LOCK

#define GLFW_KEY_SCROLL_LOCK   281

◆ GLFW_KEY_NUM_LOCK

#define GLFW_KEY_NUM_LOCK   282

◆ GLFW_KEY_PRINT_SCREEN

#define GLFW_KEY_PRINT_SCREEN   283

◆ GLFW_KEY_PAUSE

#define GLFW_KEY_PAUSE   284

◆ GLFW_KEY_F1

#define GLFW_KEY_F1   290

◆ GLFW_KEY_F2

#define GLFW_KEY_F2   291

◆ GLFW_KEY_F3

#define GLFW_KEY_F3   292

◆ GLFW_KEY_F4

#define GLFW_KEY_F4   293

◆ GLFW_KEY_F5

#define GLFW_KEY_F5   294

◆ GLFW_KEY_F6

#define GLFW_KEY_F6   295

◆ GLFW_KEY_F7

#define GLFW_KEY_F7   296

◆ GLFW_KEY_F8

#define GLFW_KEY_F8   297

◆ GLFW_KEY_F9

#define GLFW_KEY_F9   298

◆ GLFW_KEY_F10

#define GLFW_KEY_F10   299

◆ GLFW_KEY_F11

#define GLFW_KEY_F11   300

◆ GLFW_KEY_F12

#define GLFW_KEY_F12   301

◆ GLFW_KEY_F13

#define GLFW_KEY_F13   302

◆ GLFW_KEY_F14

#define GLFW_KEY_F14   303

◆ GLFW_KEY_F15

#define GLFW_KEY_F15   304

◆ GLFW_KEY_F16

#define GLFW_KEY_F16   305

◆ GLFW_KEY_F17

#define GLFW_KEY_F17   306

◆ GLFW_KEY_F18

#define GLFW_KEY_F18   307

◆ GLFW_KEY_F19

#define GLFW_KEY_F19   308

◆ GLFW_KEY_F20

#define GLFW_KEY_F20   309

◆ GLFW_KEY_F21

#define GLFW_KEY_F21   310

◆ GLFW_KEY_F22

#define GLFW_KEY_F22   311

◆ GLFW_KEY_F23

#define GLFW_KEY_F23   312

◆ GLFW_KEY_F24

#define GLFW_KEY_F24   313

◆ GLFW_KEY_F25

#define GLFW_KEY_F25   314

◆ GLFW_KEY_KP_0

#define GLFW_KEY_KP_0   320

◆ GLFW_KEY_KP_1

#define GLFW_KEY_KP_1   321

◆ GLFW_KEY_KP_2

#define GLFW_KEY_KP_2   322

◆ GLFW_KEY_KP_3

#define GLFW_KEY_KP_3   323

◆ GLFW_KEY_KP_4

#define GLFW_KEY_KP_4   324

◆ GLFW_KEY_KP_5

#define GLFW_KEY_KP_5   325

◆ GLFW_KEY_KP_6

#define GLFW_KEY_KP_6   326

◆ GLFW_KEY_KP_7

#define GLFW_KEY_KP_7   327

◆ GLFW_KEY_KP_8

#define GLFW_KEY_KP_8   328

◆ GLFW_KEY_KP_9

#define GLFW_KEY_KP_9   329

◆ GLFW_KEY_KP_DECIMAL

#define GLFW_KEY_KP_DECIMAL   330

◆ GLFW_KEY_KP_DIVIDE

#define GLFW_KEY_KP_DIVIDE   331

◆ GLFW_KEY_KP_MULTIPLY

#define GLFW_KEY_KP_MULTIPLY   332

◆ GLFW_KEY_KP_SUBTRACT

#define GLFW_KEY_KP_SUBTRACT   333

◆ GLFW_KEY_KP_ADD

#define GLFW_KEY_KP_ADD   334

◆ GLFW_KEY_KP_ENTER

#define GLFW_KEY_KP_ENTER   335

◆ GLFW_KEY_KP_EQUAL

#define GLFW_KEY_KP_EQUAL   336

◆ GLFW_KEY_LEFT_SHIFT

#define GLFW_KEY_LEFT_SHIFT   340

◆ GLFW_KEY_LEFT_CONTROL

#define GLFW_KEY_LEFT_CONTROL   341

◆ GLFW_KEY_LEFT_ALT

#define GLFW_KEY_LEFT_ALT   342

◆ GLFW_KEY_LEFT_SUPER

#define GLFW_KEY_LEFT_SUPER   343

◆ GLFW_KEY_RIGHT_SHIFT

#define GLFW_KEY_RIGHT_SHIFT   344

◆ GLFW_KEY_RIGHT_CONTROL

#define GLFW_KEY_RIGHT_CONTROL   345

◆ GLFW_KEY_RIGHT_ALT

#define GLFW_KEY_RIGHT_ALT   346

◆ GLFW_KEY_RIGHT_SUPER

#define GLFW_KEY_RIGHT_SUPER   347

◆ GLFW_KEY_MENU

#define GLFW_KEY_MENU   348

◆ GLFW_KEY_LAST

#define GLFW_KEY_LAST   GLFW_KEY_MENU