|
|
@ -423,20 +423,21 @@ static_assert(sizeof(VibrationDeviceInfo) == 0x8, "VibrationDeviceInfo has incor |
|
|
// This is nn::hid::KeyboardModifier |
|
|
// This is nn::hid::KeyboardModifier |
|
|
struct KeyboardModifier { |
|
|
struct KeyboardModifier { |
|
|
union { |
|
|
union { |
|
|
u32 raw{}; |
|
|
|
|
|
BitField<0, 1, u32> control; |
|
|
|
|
|
BitField<1, 1, u32> shift; |
|
|
|
|
|
BitField<2, 1, u32> left_alt; |
|
|
|
|
|
BitField<3, 1, u32> right_alt; |
|
|
|
|
|
BitField<4, 1, u32> gui; |
|
|
|
|
|
BitField<8, 1, u32> caps_lock; |
|
|
|
|
|
BitField<9, 1, u32> scroll_lock; |
|
|
|
|
|
BitField<10, 1, u32> num_lock; |
|
|
|
|
|
BitField<11, 1, u32> katakana; |
|
|
|
|
|
BitField<12, 1, u32> hiragana; |
|
|
|
|
|
}; |
|
|
|
|
|
}; |
|
|
|
|
|
static_assert(sizeof(KeyboardModifier) == 0x4, "KeyboardModifier is an invalid size"); |
|
|
|
|
|
|
|
|
u64 raw{}; |
|
|
|
|
|
BitField<0, 1, u64> control; |
|
|
|
|
|
BitField<1, 1, u64> shift; |
|
|
|
|
|
BitField<2, 1, u64> left_alt; |
|
|
|
|
|
BitField<3, 1, u64> right_alt; |
|
|
|
|
|
BitField<4, 1, u64> gui; |
|
|
|
|
|
BitField<8, 1, u64> caps_lock; |
|
|
|
|
|
BitField<9, 1, u64> scroll_lock; |
|
|
|
|
|
BitField<10, 1, u64> num_lock; |
|
|
|
|
|
BitField<11, 1, u64> katakana; |
|
|
|
|
|
BitField<12, 1, u64> hiragana; |
|
|
|
|
|
BitField<32, 1, u64> unknown; |
|
|
|
|
|
}; |
|
|
|
|
|
}; |
|
|
|
|
|
static_assert(sizeof(KeyboardModifier) == 0x8, "KeyboardModifier is an invalid size"); |
|
|
|
|
|
|
|
|
// This is nn::hid::KeyboardKey |
|
|
// This is nn::hid::KeyboardKey |
|
|
struct KeyboardKey { |
|
|
struct KeyboardKey { |
|
|
|