131 {
132
133
134 rapidjson::Document event(rapidjson::kObjectType);
135 auto& allocator = event.GetAllocator();
138 allocator);
140 event.AddMember(
kKeyMapKey, kWindowsKeyMap, allocator);
141 event.AddMember(
kModifiersKey, GetModsForKeyState(), allocator);
142
144 case WM_SYSKEYDOWN:
145 case WM_KEYDOWN:
147 break;
148 case WM_SYSKEYUP:
149 case WM_KEYUP:
151 break;
152 default:
155 return;
156 }
157 channel_->Send(event, [
callback = std::move(
callback)](
const uint8_t* reply,
158 size_t reply_size) {
160 reply, reply_size);
161 bool handled = decoded ? (*decoded)[kHandledKey].GetBool() : false;
163 });
164}
std::unique_ptr< T > DecodeMessage(const uint8_t *binary_message, const size_t message_size) const
FlutterDesktopBinaryReply callback
#define FML_LOG(severity)
static constexpr char kScanCodeKey[]
static constexpr char kKeyMapKey[]
static constexpr char kKeyDown[]
static constexpr char kKeyUp[]
static constexpr char kModifiersKey[]
static constexpr char kKeyCodeKey[]
constexpr char kTypeKey[]
uint32_t UndeadChar(uint32_t ch)