Implement scancodes

https://github.com/SFML/SFML/pull/1235
This commit is contained in:
Chris Thrasher committed 2023-07-07 00:32:18 -06:00
1 parent 2a20bc7209
commit 1d56c6ed0f
4 files changed
+295 -17

No files matched your search

+6 -5
View File
@@ -54,11 +54,12 @@ inline void convertEvent(const sf::Event& SFMLEvent, sfEvent* event)
case sfEvtKeyReleased :
case sfEvtKeyPressed :
event->key.code = static_cast<sfKeyCode>(SFMLEvent.key.code);
event->key.alt = SFMLEvent.key.alt ? sfTrue : sfFalse;
event->key.control = SFMLEvent.key.control ? sfTrue : sfFalse;
event->key.shift = SFMLEvent.key.shift ? sfTrue : sfFalse;
event->key.system = SFMLEvent.key.system ? sfTrue : sfFalse;
event->key.code = static_cast<sfKeyCode>(SFMLEvent.key.code);
event->key.scancode = static_cast<sfScancode>(SFMLEvent.key.scancode);
event->key.alt = SFMLEvent.key.alt ? sfTrue : sfFalse;
event->key.control = SFMLEvent.key.control ? sfTrue : sfFalse;
event->key.shift = SFMLEvent.key.shift ? sfTrue : sfFalse;
event->key.system = SFMLEvent.key.system ? sfTrue : sfFalse;
break;
case sfEvtMouseWheelMoved :
+32
View File
@@ -28,6 +28,9 @@
#include <SFML/Window/Keyboard.h>
#include <SFML/Window/Keyboard.hpp>
#include <SFML/Internal.h>
#include <SFML/System/String.hpp>
#include <string.h>
////////////////////////////////////////////////////////////
@@ -36,6 +39,35 @@ sfBool sfKeyboard_isKeyPressed(sfKeyCode key)
return sf::Keyboard::isKeyPressed(static_cast<sf::Keyboard::Key>(key));
}
////////////////////////////////////////////////////////////
sfBool sfKeyboard_isScancodePressed(sfScancode code)
{
return sf::Keyboard::isKeyPressed(static_cast<sf::Keyboard::Scancode>(code));
}
////////////////////////////////////////////////////////////
sfKeyCode sfKeyboard_localize(sfScancode code)
{
return static_cast<sfKeyCode>(sf::Keyboard::localize(static_cast<sf::Keyboard::Scancode>(code)));
}
////////////////////////////////////////////////////////////
sfScancode sfKeyboard_delocalize(sfKeyCode key)
{
return static_cast<sfScancode>(sf::Keyboard::delocalize(static_cast<sf::Keyboard::Key>(key)));
}
////////////////////////////////////////////////////////////
const char* sfKeyboard_getDescription(sfScancode code)
{
return strdup(sf::Keyboard::getDescription(static_cast<sf::Keyboard::Scancode>(code)).toAnsiString().c_str());
}
////////////////////////////////////////////////////////////
void sfKeyboard_setVirtualKeyboardVisible(sfBool visible)
{