#pragma once #include #ifdef _WIN32 #include using ImeKeyCode = UINT; using ImeModifierMask = UINT; using ImeCharacter = WCHAR; #else using ImeKeyCode = std::uint32_t; using ImeModifierMask = std::uint32_t; using ImeCharacter = char16_t; #endif namespace ImeKey { inline constexpr ImeKeyCode Backspace = 0x08; inline constexpr ImeKeyCode Tab = 0x09; inline constexpr ImeKeyCode Return = 0x0D; inline constexpr ImeKeyCode Shift = 0x10; inline constexpr ImeKeyCode Escape = 0x1B; inline constexpr ImeKeyCode Space = 0x20; inline constexpr ImeKeyCode Semicolon = 0xBA; inline constexpr ImeKeyCode Minus = 0xBD; inline constexpr ImeKeyCode Slash = 0xBF; // VK_OEM_2 inline constexpr ImeKeyCode Apostrophe = 0xDE; inline constexpr ImeKeyCode Backquote = 0xC0; // VK_OEM_3 } // namespace ImeKey