diff options
| -rw-r--r-- | platform/linuxbsd/x11/key_mapping_x11.cpp | 14 | ||||
| -rw-r--r-- | platform/linuxbsd/x11/key_mapping_x11.h | 13 | 
2 files changed, 13 insertions, 14 deletions
diff --git a/platform/linuxbsd/x11/key_mapping_x11.cpp b/platform/linuxbsd/x11/key_mapping_x11.cpp index 506372292d..e5eba6ccad 100644 --- a/platform/linuxbsd/x11/key_mapping_x11.cpp +++ b/platform/linuxbsd/x11/key_mapping_x11.cpp @@ -30,20 +30,6 @@  #include "key_mapping_x11.h" -#include "core/templates/hash_map.h" - -struct HashMapHasherKeys { -	static _FORCE_INLINE_ uint32_t hash(const Key p_key) { return hash_fmix32(static_cast<uint32_t>(p_key)); } -	static _FORCE_INLINE_ uint32_t hash(const char32_t p_uchar) { return hash_fmix32(p_uchar); } -	static _FORCE_INLINE_ uint32_t hash(const unsigned p_key) { return hash_fmix32(p_key); } -	static _FORCE_INLINE_ uint32_t hash(const KeySym p_key) { return hash_fmix32(p_key); } -}; - -HashMap<KeySym, Key, HashMapHasherKeys> xkeysym_map; -HashMap<unsigned int, Key, HashMapHasherKeys> scancode_map; -HashMap<Key, unsigned int, HashMapHasherKeys> scancode_map_inv; -HashMap<KeySym, char32_t, HashMapHasherKeys> xkeysym_unicode_map; -  void KeyMappingX11::initialize() {  	// X11 Keysym to Godot Key map. diff --git a/platform/linuxbsd/x11/key_mapping_x11.h b/platform/linuxbsd/x11/key_mapping_x11.h index d4278a563c..48beefff4c 100644 --- a/platform/linuxbsd/x11/key_mapping_x11.h +++ b/platform/linuxbsd/x11/key_mapping_x11.h @@ -39,8 +39,21 @@  #include <X11/keysymdef.h>  #include "core/os/keyboard.h" +#include "core/templates/hash_map.h"  class KeyMappingX11 { +	struct HashMapHasherKeys { +		static _FORCE_INLINE_ uint32_t hash(const Key p_key) { return hash_fmix32(static_cast<uint32_t>(p_key)); } +		static _FORCE_INLINE_ uint32_t hash(const char32_t p_uchar) { return hash_fmix32(p_uchar); } +		static _FORCE_INLINE_ uint32_t hash(const unsigned p_key) { return hash_fmix32(p_key); } +		static _FORCE_INLINE_ uint32_t hash(const KeySym p_key) { return hash_fmix32(p_key); } +	}; + +	static inline HashMap<KeySym, Key, HashMapHasherKeys> xkeysym_map; +	static inline HashMap<unsigned int, Key, HashMapHasherKeys> scancode_map; +	static inline HashMap<Key, unsigned int, HashMapHasherKeys> scancode_map_inv; +	static inline HashMap<KeySym, char32_t, HashMapHasherKeys> xkeysym_unicode_map; +  	KeyMappingX11() {}  public:  |