187 kNavigationMenu = 0x89,
188 kNavigationUp = 0x8A,
189 kNavigationDown = 0x8B,
190 kNavigationLeft = 0x8C,
191 kNavigationRight = 0x8D,
192 kNavigationAccept = 0x8E,
193 kNavigationCancel = 0x8F,
220 kBrowserForward = 0xA7,
221 kBrowserRefresh = 0xA8,
223 kBrowserSearch = 0xAA,
224 kBrowserFavorites = 0xAB,
230 kMediaNextTrack = 0xB0,
231 kMediaPrevTrack = 0xB1,
233 kMediaPlayPause = 0xB3,
235 kLaunchMediaSelect = 0xB5,
249 kXboxOneGamepadB = 0xC4,
250 kXboxOneGamepadX = 0xC5,
251 kXboxOneGamepadY = 0xC6,
252 kXboxOneGamepadRightShoulder = 0xC7,
253 kXboxOneGamepadLeftShoulder = 0xC8,
254 kXboxOneGamepadLeftTrigger = 0xC9,
255 kXboxOneGamepadRightTrigger = 0xCA,
256 kXboxOneGamepadDpadUp = 0xCB,
257 kXboxOneGamepadDpadDown = 0xCC,
258 kXboxOneGamepadDpadLeft = 0xCD,
259 kXboxOneGamepadDpadRight = 0xCE,
260 kXboxOneGamepadMenu = 0xCF,
261 kXboxOneGamepadView = 0xD0,
262 kXboxOneGamepadLeftThumbstickButton = 0xD1,
263 kXboxOneGamepadRightThumbstickButton = 0xD2,
264 kXboxOneGamepadLeftThumbstickUp = 0xD3,
265 kXboxOneGamepadLeftThumbstickDown = 0xD4,
266 kXboxOneGamepadLeftThumbstickRight = 0xD5,
267 kXboxOneGamepadLeftThumbstickLeft = 0xD6,
268 kXboxOneGamepadRightThumbstickUp = 0xD7,
269 kXboxOneGamepadRightThumbstickDown = 0xD8,
270 kXboxOneGamepadRightThumbstickRight = 0xD9,
271 kXboxOneGamepadRightThumbstickLeft = 0xDA,
322 kXInputPadB = 0x5801,
323 kXInputPadX = 0x5802,
324 kXInputPadY = 0x5803,
325 kXInputPadRShoulder = 0x5804,
326 kXInputPadLShoulder = 0x5805,
327 kXInputPadLTrigger = 0x5806,
328 kXInputPadRTrigger = 0x5807,
330 kXInputPadDPadUp = 0x5810,
331 kXInputPadDPadDown = 0x5811,
332 kXInputPadDPadLeft = 0x5812,
333 kXInputPadDPadRight = 0x5813,
334 kXInputPadStart = 0x5814,
335 kXInputPadBack = 0x5815,
336 kXInputPadLThumbPress = 0x5816,
337 kXInputPadRThumbPress = 0x5817,
339 kXInputPadLThumbUp = 0x5820,
340 kXInputPadLThumbDown = 0x5821,
341 kXInputPadLThumbRight = 0x5822,
342 kXInputPadLThumbLeft = 0x5823,
343 kXInputPadLThumbUpLeft = 0x5824,
344 kXInputPadLThumbUpRight = 0x5825,
345 kXInputPadLThumbDownRight = 0x5826,
346 kXInputPadLThumbDownLeft = 0x5827,
348 kXInputPadRThumbUp = 0x5830,
349 kXInputPadRThumbDown = 0x5831,
350 kXInputPadRThumbRight = 0x5832,
351 kXInputPadRThumbLeft = 0x5833,
352 kXInputPadRThumbUpLeft = 0x5834,
353 kXInputPadRThumbUpRight = 0x5835,
354 kXInputPadRThumbDownRight = 0x5836,
355 kXInputPadRThumbDownLeft = 0x5837,
386enum class KeyModifiers : u8 {
501inline constexpr u8 kPadButtonCount = 24;
503enum class PadAxes : u8 {
560 constexpr bool operator==(
const KeyChord& other)
const =
default;
Result< InputSource > ParseInputSource(std::string_view text)
VirtualKey
Definition input_keys.h:35
@ kNavigationView
Definition input_keys.h:186
@ kIcoHelp
Definition input_keys.h:281
@ kOemFjJisho
Definition input_keys.h:202
@ kSubtract
Definition input_keys.h:157
@ kOemFjMasshou
Definition input_keys.h:203
@ kOemReset
Definition input_keys.h:295
@ kXboxOneGamepadA
Definition input_keys.h:248
@ kOem1
Definition input_keys.h:239
@ kNone
Definition input_keys.h:36
@ kPrior
Definition input_keys.h:78
@ kOemMinus
Definition input_keys.h:242
@ kMenu
Definition input_keys.h:56
@ kHanja
Definition input_keys.h:66
@ kXInputPadA
Definition input_keys.h:321
@ kOemFjROya
Definition input_keys.h:206
@ kKanji
Definition input_keys.h:67
@ kOem4
Definition input_keys.h:273
@ kMultiply
Definition input_keys.h:154
@ kCancel
Definition input_keys.h:40
@ kIcoClear
Definition input_keys.h:286
@ kOem102
Definition input_keys.h:280
@ kOemFjTouroku
Definition input_keys.h:204
@ kOem8
Definition input_keys.h:277
@ kOemFjLOya
Definition input_keys.h:205
@ kLShift
Definition input_keys.h:212
@ kApps
Definition input_keys.h:140
@ kOem3
Definition input_keys.h:245
@ kOem7
Definition input_keys.h:276
@ kOem6
Definition input_keys.h:275
@ kOemNecEqual
Definition input_keys.h:199
@ kPacket
Definition input_keys.h:292
@ kSnapshot
Definition input_keys.h:89
@ kOemClear
Definition input_keys.h:317
@ kOem2
Definition input_keys.h:244
@ kNoName
Definition input_keys.h:315
@ kOemAx
Definition input_keys.h:279
@ kHangeul
Definition input_keys.h:61
@ kXButton2
Definition input_keys.h:44
@ kShift
Definition input_keys.h:54
@ kAdd
Definition input_keys.h:155
@ kOem5
Definition input_keys.h:274
@ kOemPeriod
Definition input_keys.h:243
@ kOemComma
Definition input_keys.h:241
@ kKana
Definition input_keys.h:60
@ kOemEnlW
Definition input_keys.h:306
@ kNext
Definition input_keys.h:79
@ kDecimal
Definition input_keys.h:158
@ kSeparator
Definition input_keys.h:156
@ kIco00
Definition input_keys.h:282
@ kXButton1
Definition input_keys.h:43
@ kHangul
Definition input_keys.h:62
@ kModeChange
Definition input_keys.h:75
@ kOemPlus
Definition input_keys.h:240
@ kDivide
Definition input_keys.h:159
@ kCapital
Definition input_keys.h:58
@ kScroll
Definition input_keys.h:196
constexpr bool is_flags_enum
Definition bit.h:422
std::string VirtualKeyToString(VirtualKey key)
std::string_view GetPadButtonName(PadInput button)
MouseButton
Definition input_keys.h:377
Result< KeyChord > ParseKeyChord(std::string_view text)
std::string InputSourceToString(const InputSource &source)
PadInput
Definition input_keys.h:474
PointerMode
Definition input_keys.h:371
@ kLocked
Definition input_keys.h:374
InputSourceType
Definition input_keys.h:466
@ kMouseWheel
Definition input_keys.h:468
@ kKey
Definition input_keys.h:467
@ kPadButton
Definition input_keys.h:469
@ kPadAxes
Definition input_keys.h:470
constexpr bool IsSameInput(const InputSource &left, const InputSource &right)
Definition input_keys.h:529
std::expected< T, Error > Result
Definition result.h:98
Result< std::vector< KeyChord > > ParseKeyChordList(std::string_view text)
std::string KeyChordToString(KeyChord chord)
VirtualKey ParseVirtualKey(std::string_view name)
Definition input_keys.h:554
VirtualKey key
Definition input_keys.h:556
KeyModifiers modifiers
Definition input_keys.h:558
Definition input_keys.h:406
f32 dx
Definition input_keys.h:408
f32 dy
Definition input_keys.h:410
Definition input_keys.h:393
f32 x
Definition input_keys.h:395
bool has_position
Definition input_keys.h:403
u32 window_height
Definition input_keys.h:401
u32 window_width
Definition input_keys.h:399
f32 y
Definition input_keys.h:397
Integer types, byte order wrappers and size literals.