This might be a bit of a hybrid support/dev question, but here goes:
As I understand it, glfwGetKeyName() gets the key name based on how the scancode would be represented on an EN_US keyboard (i.e. QWERTY). It’s also subject to some fairly odd restrictions (i.e. I’d expect GLFW_KEY_SPACE to return ' ‘, not nullptr).
Are there any plans for a glfwGetKeyNameUserReadable() or similar, or should I just manually build those mappings for every keyboard layout I plan to support? In the second case, dopes glfw offer any way of obtaining the keybaord layout in use?
Edit: Related, is there any plan for a glfwGetKeyDebugName(), i.e. give back the associated #define associated with a key (like, "GLFW_KEY_ESCAPE”?
As I understand it, glfwGetKeyName() gets the key name based on how the scancode would be represented on an EN_US keyboard (i.e. QWERTY)
This is not correct, as per the docs glfwGetKeyName() returns the name of the specified printable key, encoded as UTF-8. This is typically the character that key would produce without any modifier keys, intended for displaying key bindings to the user..
For more see the documentation:
Are there any plans for a glfwGetKeyNameUserReadable() or similar, or should I just manually build those mappings for every keyboard layout I plan to support?
The function glfwGetKeyName() fulfils this purpose.
In the second case, dopes glfw offer any way of obtaining the keybaord layout in use?
No.
Edit: Related, is there any plan for a glfwGetKeyDebugName() , i.e. give back the associated #define associated with a key (like, "GLFW_KEY_ESCAPE” ?
No, however an example exists in the get_key_name() function in the events.c test: glfw/tests/events.c at master · glfw/glfw · GitHub