Flutter Windows Embedder
keyboard_handler_base.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_HANDLER_BASE_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_HANDLER_BASE_H_
7 
8 #include <string>
9 
10 namespace flutter {
11 
12 // Interface for classes that handles keyboard input events.
13 //
14 // Keyboard handlers are added to |FlutterWindowsView| in a chain.
15 // When a key event arrives, |KeyboardHook| is called on each handler
16 // until the first one that returns true. Then the proper text hooks
17 // are called on each handler.
19  public:
20  using KeyEventCallback = std::function<void(bool)>;
21 
22  virtual ~KeyboardHandlerBase() = default;
23 
24  // A function for hooking into keyboard input.
25  virtual void KeyboardHook(int key,
26  int scancode,
27  int action,
28  char32_t character,
29  bool extended,
30  bool was_down,
32 
33  // If needed, synthesize modifier keys events by comparing the
34  // given modifiers state to the known pressing state..
35  virtual void SyncModifiersIfNeeded(int modifiers_state) = 0;
36 
37  // Returns the keyboard pressed state.
38  //
39  // Returns the keyboard pressed state. The map contains one entry per
40  // pressed keys, mapping from the logical key to the physical key.
41  virtual std::map<uint64_t, uint64_t> GetPressedState() = 0;
42 };
43 
44 } // namespace flutter
45 
46 #endif // FLUTTER_SHELL_PLATFORM_WINDOWS_KEYBOARD_HANDLER_BASE_H_
flutter::KeyboardHandlerBase::GetPressedState
virtual std::map< uint64_t, uint64_t > GetPressedState()=0
scancode
int scancode
Definition: keyboard_key_handler_unittests.cc:115
was_down
bool was_down
Definition: keyboard_key_handler_unittests.cc:119
extended
bool extended
Definition: keyboard_key_handler_unittests.cc:118
character
char32_t character
Definition: keyboard_key_handler_unittests.cc:117
flutter::KeyboardHandlerBase::KeyEventCallback
std::function< void(bool)> KeyEventCallback
Definition: keyboard_handler_base.h:20
flutter::KeyboardHandlerBase::SyncModifiersIfNeeded
virtual void SyncModifiersIfNeeded(int modifiers_state)=0
flutter
Definition: accessibility_bridge_windows.cc:11
flutter::KeyboardHandlerBase::~KeyboardHandlerBase
virtual ~KeyboardHandlerBase()=default
flutter::KeyboardHandlerBase
Definition: keyboard_handler_base.h:18
action
int action
Definition: keyboard_key_handler_unittests.cc:116
key
int key
Definition: keyboard_key_handler_unittests.cc:114
flutter::KeyboardHandlerBase::KeyboardHook
virtual void KeyboardHook(int key, int scancode, int action, char32_t character, bool extended, bool was_down, KeyEventCallback callback)=0
callback
FlutterDesktopBinaryReply callback
Definition: flutter_windows_view_unittests.cc:51