Because CI didn't cover this code we didn't know there were
warnings in these codepaths to address.
Not sure why GCC's -Wduplicated-branches is being emitted or how
exactly to fix it. It's easier to simply ignore it in this one
particular file.
There is a commit up for the macOS resize bug where we get rid of a
previous fix entiry and just resize, but kimci86 stated that he found
better behavior with this solution. I'm going to put up this for code
review and we can compare it to https://github.com/SFML/SFML/pull/2538
and see which we like best
libc++ is already the default and GCC can't even be used so there's
no circumstance where we'd need to explicitly tell Clang to use
libc++. I confirmed that even with this removed, libc++ headers are
still being used and found.
A core tenet of CMake is the idea that you can use any valid C++
compiler. By enumerating all supported compilers and emitting and
hard error when an unrecognized compiler is detected, we are violating
that tenet.
Relaxing this message from a fatal error to merely a warning continues
to communicate to users that their build may not succeed but it leaves
the door open for the build to potential succeed if the compiler meets
all of our requirements.
Highlights:
- Support for Scancode
- Create windows without OpenGL context
- Create windows with a Vulkan context
- SFML supports macOS arm64 also known as M1 chipset
- Unit testing foundation
I was getting this error until I added this header:
/home/dogunbound/SFML/SFML/src/SFML/Audio/SoundFileReaderMp3.cpp:68:23:
error: ‘uint64_t’ is not a member of ‘std’;
This is a fix
This is not accurate because modifier state and key state are not the
same thing for caps lock, but at least some events are generated
instead of nothing.
- Describe keys in separate words when applicable on macOS
- Use "Option" instead of "Alt" to describe keys on macOS
- Filter key up events like key down events
- Use localize to generate keyboard events
That is better than translating to text because several keys can
generate the same text.
- Add fallback mapping for NumpadEnter
- Handle swapped virtual key codes with ISO keyboard
- Aligned mappings
- ScanDash -> ScanHyphen
- Numpad keys include Numpad
- *Equals -> *Equal
- Key 29/42 are Backslash
- Key 45 is Non-US Backslash
- Add additional media & more scancodes
- Rename ScanAgain to ScanRedo
- Rename ScanMute to ScanVolumeMute
- Add the missing F-key mappings for macOS
- Fix mapping in Windows code
- Correctly handle numpad keys on Windows for isKeyPressed
- Refactorings
- Use mapping for Linux from different key config
- Refactor some mapping code
- Fix map initialization
- Layout independent keys also don't have unicode characters, so it
makes more sense to translate them first and use unicode as fallback
- Fix iteration limits on Windows
- Consistently use 'Scancode' instead of 'ScanCode' everywhere
- Use 'delocalize' instead of 'unlocalize'
- Fix conversion warnings
- Remove unused mapping function
- Hide parameters for non-applicable iOS functions
- Update documentation
- Add Android InputImpl scancode function stubs
- getDescription implementation for X11
- Generate KeySym -> Unicode mapping, so we don't need
to make fake events in getDescription now
- KeySym to sf::Keyboard::Key mapping
- Better names for keycode, sf::Scancode and sf::Key conversion functions
- X11InputManager doesn't need m_display now
- Move a lot of stuff into free functions
- X11InputManager now only has static members
- X11InputManager -> KeyboardImpl
- Removed redundant "sf::" where possible
- Moved some functions from sf::priv::anonymous to anonymous namespace.
- Added NullKeyCode constant for readability