mirror of https://github.com/godotengine/godot
This fixes once and for all the core issue of different Godot `keycode`s
released from the same raw XKB keycode.
The `InputEventKey` `keycode` value _should_ map to the "unmodified"
key, but unfortunately there's an ambiguity with their encoding for
"special" keys ("delete", "insert", etc.), in witch they ignore their
unicode representation. This means that a key that is special when plain
but a character when modified would never be properly picked up, so we
do indeed change its keycode. As a consequence of this exception, some
Godot keys never receive release events and get "stuck".
This patch adds an extra check through an `HashMap` to "unstuck" keys
that changed while having the same keycode.
I also could not resist simplifying a bit the regular key event
generation method but this makes things more consistent and predictable
IMO.
|
||
|---|---|---|
| .. | ||
| doc_classes | ||
| export | ||
| wayland | ||
| x11 | ||
| README.md | ||
| SCsub | ||
| crash_handler_linuxbsd.cpp | ||
| crash_handler_linuxbsd.h | ||
| dbus-so_wrap.c | ||
| dbus-so_wrap.h | ||
| detect.py | ||
| fontconfig-so_wrap.c | ||
| fontconfig-so_wrap.h | ||
| freedesktop_portal_desktop.cpp | ||
| freedesktop_portal_desktop.h | ||
| freedesktop_screensaver.cpp | ||
| freedesktop_screensaver.h | ||
| godot_linuxbsd.cpp | ||
| joypad_linux.cpp | ||
| joypad_linux.h | ||
| libudev-so_wrap.c | ||
| libudev-so_wrap.h | ||
| os_linuxbsd.cpp | ||
| os_linuxbsd.h | ||
| platform_config.h | ||
| platform_gl.h | ||
| platform_linuxbsd_builders.py | ||
| speechd-so_wrap.c | ||
| speechd-so_wrap.h | ||
| tts_linux.cpp | ||
| tts_linux.h | ||
| xkbcommon-so_wrap.c | ||
| xkbcommon-so_wrap.h | ||
README.md
Linux/*BSD platform port
This folder contains the C++ code for the Linux/*BSD platform port.
See also misc/dist/linux folder for additional files
used by this platform.
Documentation
- Compiling for Linux/*BSD
- Instructions on building this platform port from source.
- Exporting for Linux/*BSD
- Instructions on using the compiled export templates to export a project.
Artwork license
logo.png is derived from the Linux logo:
Permission to use and/or modify this image is granted provided you acknowledge me lewing@isc.tamu.edu and The GIMP if someone asks.