A key.
If a valid GLFW instance exists you can convert a key to its scancode value with key.scancode() and get its name with key.name(),
otherwise using these two functions will throw a NotInitializedException or UseAfterDestroyException exception.