Add minor changes according to the review

This commit is contained in:
Lukas Dürrenberger 2020-01-21 21:19:40 +01:00
parent 8b23ac1c48
commit 4ac3033d1a
4 changed files with 684 additions and 684 deletions

View file

@ -29,11 +29,12 @@
// Headers
////////////////////////////////////////////////////////////
#include <SFML/Window/Export.hpp>
#include <SFML/System/String.hpp>
namespace sf
{
class String;
////////////////////////////////////////////////////////////
/// \brief Give access to the real-time state of the keyboard
///
@ -169,14 +170,14 @@ public:
////////////////////////////////////////////////////////////
/// \brief Scancodes
///
/// The enumerators are bound to a physical key and do *not* depend
/// on the keyboard layout used by the operating system. Usually, the AT-101
/// The enumerators are bound to a physical key and do not depend on
/// the keyboard layout used by the operating system. Usually, the AT-101
/// keyboard can be used as reference for the physical position of the keys.
///
/// The scancodes are based on a subset of Table 12: Keyboard/Keypad Page
/// of Universal Serial Bus (USB): HID Usage Tables, v1.12.
///
/// \todo When porting this for SFML 3, remove the `s` prefix and use
/// \todo When porting this for SFML 3, remove the `Scan` prefix and use
/// enum class.
///
////////////////////////////////////////////////////////////
@ -219,10 +220,9 @@ public:
ScanNum8, ///< Keyboard 8 and * key
ScanNum9, ///< Keyboard 9 and ) key
ScanNum0, ///< Keyboard 0 and ) key
ScanEnter, ///< Keyboard Return (ENTER) key
ScanEnter, ///< Keyboard Enter/Return key
ScanEscape, ///< Keyboard Escape key
ScanBackspace, ///< Keyboard Backspace key
// TODO above it's BackSpace, but is it correct? What do we use here?
ScanTab, ///< Keyboard Tab key
ScanSpace, ///< Keyboard Space key
ScanHyphen, ///< Keyboard - and _ key
@ -230,15 +230,14 @@ public:
ScanLBracket, ///< Keyboard [ and { key
ScanRBracket, ///< Keyboard ] and } key
ScanBackslash, ///< Keyboard \ and | key
// TODO capitalisation
ScanDash, ///< Keyboard Non-US # and ~
// TODO hyphen vs minus vs dash
ScanSemicolon, ///< Keyboard ; and : key
// TODO capitalisation
ScanQuote, ///< Keyboard ' and " key
ScanGraveAccent, ///< Keyboard ` and ~ key
ScanComma, ///< Keyboard , and < key
ScanPeriod, ///< Keyboard . and > key
ScanForwardSlash, ///< Keyboard / and ? key
ScanSlash, ///< Keyboard / and ? key
ScanF1, ///< Keyboard F1 key
ScanF2, ///< Keyboard F2 key
ScanF3, ///< Keyboard F3 key
@ -273,8 +272,8 @@ public:
ScanMultiply, ///< Keypad * key
ScanMinus, ///< Keypad - key
ScanPlus, ///< Keypad + key
ScanPadEquals, ///< keypad = key, probably Mac only
ScanReturn, ///< Keypad Enter (return) key
ScanNumpadEquals, ///< keypad = key, probably Mac only
ScanNumpadEnter, ///< Keypad Enter/Return key
ScanDecimal, ///< Keypad . and Delete key
ScanNumpad1, ///< Keypad 1 and End key
ScanNumpad2, ///< Keypad 2 and Down Arrow key
@ -381,7 +380,7 @@ public:
/// "Left Command" on macOS.
///
/// The current keyboard layout set by the operating system is used to
/// interpret the scancode: for example, sf::Keyboard::SemiColon is
/// interpret the scancode: for example, sf::Keyboard::Semicolon is
/// mapped to ";" for layout and to "é" for others.
///
/// \return The localized description of the code

View file

@ -27,6 +27,7 @@
////////////////////////////////////////////////////////////
#include <SFML/Window/Keyboard.hpp>
#include <SFML/Window/InputImpl.hpp>
#include <SFML/System/String.hpp>
namespace sf

View file

@ -280,8 +280,8 @@ private:
////////////////////////////////////////////////////////////
IOHIDManagerRef m_manager; ///< Underlying HID Manager
IOHIDElements m_keys[Keyboard::ScanCodeCount]; ///< All the keys on any connected keyboard
Keyboard::Scancode m_mapping[Keyboard::KeyCount]; ///< Mapping from Key to Scancode
Keyboard::Key m_gnippam[Keyboard::ScanCodeCount]; ///< Mapping from Scancode to Key
Keyboard::Scancode m_keyToScancodeMapping[Keyboard::KeyCount]; ///< Mapping from Key to Scancode
Keyboard::Key m_scancodeToKeyMapping[Keyboard::ScanCodeCount]; ///< Mapping from Scancode to Key
////////////////////////////////////////////////////////////
/// m_keys' index corresponds to sf::Keyboard::Scancode enum.

View file

@ -111,7 +111,7 @@ bool HIDInputManager::isKeyPressed(Keyboard::Scancode code)
Keyboard::Key HIDInputManager::localize(Keyboard::Scancode code)
{
// TODO ensure mapping is still valid
return m_gnippam[code];
return m_scancodeToKeyMapping[code];
}
@ -119,7 +119,7 @@ Keyboard::Key HIDInputManager::localize(Keyboard::Scancode code)
Keyboard::Scancode HIDInputManager::unlocalize(Keyboard::Key key)
{
// TODO ensure mapping is still valid
return m_mapping[key];
return m_keyToScancodeMapping[key];
}
@ -177,8 +177,8 @@ String HIDInputManager::localizedRepresentation(Keyboard::Scancode code)
case sf::Keyboard::ScanMultiply: return "Multiply (Numpad)";
case sf::Keyboard::ScanMinus: return "Minux (Numpad)";
case sf::Keyboard::ScanPlus: return "Plus (Numpad)";
case sf::Keyboard::ScanPadEquals: return "Equals (Numpad)";
case sf::Keyboard::ScanReturn: return "Return (Numpad)";
case sf::Keyboard::ScanNumpadEquals: return "Equals (Numpad)";
case sf::Keyboard::ScanNumpadEnter: return "Enter (Numpad)";
case sf::Keyboard::ScanDecimal: return "Decimal (Numpad)";
case sf::Keyboard::ScanNumpad0: return "0 (Numpad)";
@ -329,9 +329,9 @@ void HIDInputManager::buildMappings()
{
// Reset the mappings
for (int i = 0; i < Keyboard::KeyCount; ++i)
m_mapping[i] = Keyboard::ScanUnknown;
m_keyToScancodeMapping[i] = Keyboard::ScanUnknown;
for (int i = 0; i < Keyboard::ScanCodeCount; ++i)
m_gnippam[i] = Keyboard::Unknown;
m_scancodeToKeyMapping[i] = Keyboard::Unknown;
// Get the current keyboard layout
TISInputSourceRef tis = TISCopyCurrentKeyboardLayoutInputSource();
@ -380,8 +380,8 @@ void HIDInputManager::buildMappings()
if (code == Keyboard::Unknown) continue;
// Register the bi-mapping
m_mapping[code] = scan;
m_gnippam[scan] = code;
m_keyToScancodeMapping[code] = scan;
m_scancodeToKeyMapping[scan] = code;
}
CFRelease(tis);
@ -523,7 +523,7 @@ sf::Keyboard::Scancode HIDInputManager::usageToScancode(UInt32 usage)
case kHIDUsage_KeyboardGraveAccentAndTilde: return sf::Keyboard::ScanGraveAccent;
case kHIDUsage_KeyboardComma: return sf::Keyboard::ScanComma;
case kHIDUsage_KeyboardPeriod: return sf::Keyboard::ScanPeriod;
case kHIDUsage_KeyboardSlash: return sf::Keyboard::ScanForwardSlash;
case kHIDUsage_KeyboardSlash: return sf::Keyboard::ScanSlash;
case kHIDUsage_KeyboardCapsLock: return sf::Keyboard::ScanCapsLock;
case kHIDUsage_KeyboardF1: return sf::Keyboard::ScanF1;
@ -559,7 +559,7 @@ sf::Keyboard::Scancode HIDInputManager::usageToScancode(UInt32 usage)
case kHIDUsage_KeypadAsterisk: return sf::Keyboard::ScanMultiply;
case kHIDUsage_KeypadHyphen: return sf::Keyboard::ScanMinus;
case kHIDUsage_KeypadPlus: return sf::Keyboard::ScanPlus;
case kHIDUsage_KeypadEnter: return sf::Keyboard::ScanReturn;
case kHIDUsage_KeypadEnter: return sf::Keyboard::ScanEnter;
case kHIDUsage_Keypad1: return sf::Keyboard::ScanNumpad1;
case kHIDUsage_Keypad2: return sf::Keyboard::ScanNumpad2;
@ -576,7 +576,7 @@ sf::Keyboard::Scancode HIDInputManager::usageToScancode(UInt32 usage)
case kHIDUsage_KeyboardNonUSBackslash: return sf::Keyboard::ScanReverseSolidus;
case kHIDUsage_KeyboardApplication: return sf::Keyboard::ScanApplication;
case kHIDUsage_KeyboardPower: return sf::Keyboard::ScanUnknown;
case kHIDUsage_KeypadEqualSign: return sf::Keyboard::ScanPadEquals;
case kHIDUsage_KeypadEqualSign: return sf::Keyboard::ScanNumpadEquals;
case kHIDUsage_KeyboardF13: return sf::Keyboard::ScanF13;
case kHIDUsage_KeyboardF14: return sf::Keyboard::ScanF14;
@ -1011,7 +1011,7 @@ Keyboard::Scancode HIDInputManager::nonLocalizedKey(UniChar virtualKeycode)
case 0x32: return sf::Keyboard::ScanGraveAccent;
case 0x2b: return sf::Keyboard::ScanComma;
case 0x2f: return sf::Keyboard::ScanPeriod;
case 0x2c: return sf::Keyboard::ScanForwardSlash;
case 0x2c: return sf::Keyboard::ScanSlash;
case 0x7a: return sf::Keyboard::ScanF1;
case 0x78: return sf::Keyboard::ScanF2;
@ -1054,8 +1054,8 @@ Keyboard::Scancode HIDInputManager::nonLocalizedKey(UniChar virtualKeycode)
case 0x43: return sf::Keyboard::ScanMultiply;
case 0x4e: return sf::Keyboard::ScanMinus;
case 0x45: return sf::Keyboard::ScanPlus;
case 0x51: return sf::Keyboard::ScanPadEquals;
case 0x4c: return sf::Keyboard::ScanReturn;
case 0x51: return sf::Keyboard::ScanNumpadEquals;
case 0x4c: return sf::Keyboard::ScanNumpadEnter;
case 0x41: return sf::Keyboard::ScanDecimal;
case 0x53: return sf::Keyboard::ScanNumpad1;
@ -1167,7 +1167,7 @@ UInt8 HIDInputManager::scanToVirtualCode(Keyboard::Scancode code)
case sf::Keyboard::ScanGraveAccent: return 0x32;
case sf::Keyboard::ScanComma: return 0x2b;
case sf::Keyboard::ScanPeriod: return 0x2f;
case sf::Keyboard::ScanForwardSlash: return 0x2c;
case sf::Keyboard::ScanSlash: return 0x2c;
case sf::Keyboard::ScanF1: return 0x7a;
case sf::Keyboard::ScanF2: return 0x78;
@ -1209,8 +1209,8 @@ UInt8 HIDInputManager::scanToVirtualCode(Keyboard::Scancode code)
case sf::Keyboard::ScanMultiply: return 0x43;
case sf::Keyboard::ScanMinus: return 0x4e;
case sf::Keyboard::ScanPlus: return 0x45;
case sf::Keyboard::ScanPadEquals: return 0x51;
case sf::Keyboard::ScanReturn: return 0x4c;
case sf::Keyboard::ScanNumpadEquals: return 0x51;
case sf::Keyboard::ScanNumpadEnter: return 0x4c;
case sf::Keyboard::ScanDecimal: return 0x41;
case sf::Keyboard::ScanNumpad1: return 0x53;