| Flutter Linux Embedder |

fl_key_embedder_responder_private.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_LINUX_FL_KEY_EMBEDDER_RESPONDER_PRIVATE_H_
6 #define FLUTTER_SHELL_PLATFORM_LINUX_FL_KEY_EMBEDDER_RESPONDER_PRIVATE_H_
7
8 #include <gdk/gdk.h>
9
10 #include "flutter/shell/platform/linux/fl_key_responder.h"
11 #include "flutter/shell/platform/linux/fl_keyboard_manager.h"
12 #include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h"
13 #include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h"
14
15 /**
16 * FlKeyEmbedderCheckedKey:
17 *
18 * The information for a key that #FlKeyEmbedderResponder should keep state
19 * synchronous on. For every record of #FlKeyEmbedderCheckedKey, the responder
20 * will check the #GdkEvent::state and the internal state, and synchronize
21 * events if they don't match.
22 *
23 * #FlKeyEmbedderCheckedKey can synchronize pressing states (such as
24 * whether ControlLeft is pressed) or lock states (such as whether CapsLock
25 * is enabled).
26 *
27 * #FlKeyEmbedderCheckedKey has a "primary key". For pressing states, the
28 * primary key is the left of the modifiers. For lock states, the primary
29 * key is the key.
30 *
31 * #FlKeyEmbedderCheckedKey may also have a "secondary key". It is only
32 * available to pressing states, which is the right of the modifiers.
33 */
34 typedef struct {
35 // The physical key for the primary key.
36 uint64_t primary_physical_key;
37 // The logical key for the primary key.
38 uint64_t primary_logical_key;
39 // The logical key for the secondary key.
40 uint64_t secondary_logical_key;
41 // Whether this key is CapsLock. CapsLock uses a different event model in GDK
42 // and needs special treatment.
43 bool is_caps_lock;
44 } FlKeyEmbedderCheckedKey;
45
46 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_KEY_EMBEDDER_RESPONDER_PRIVATE_H_
FlKeyEmbedderCheckedKey::is_caps_lock
bool is_caps_lock
Definition: fl_key_embedder_responder_private.h:43
fl_keyboard_manager.h
fl_binary_messenger.h
FlKeyEmbedderCheckedKey::primary_physical_key
uint64_t primary_physical_key
Definition: fl_key_embedder_responder_private.h:36
fl_value.h
FlKeyEmbedderCheckedKey::secondary_logical_key
uint64_t secondary_logical_key
Definition: fl_key_embedder_responder_private.h:40
FlKeyEmbedderCheckedKey::primary_logical_key
uint64_t primary_logical_key
Definition: fl_key_embedder_responder_private.h:38
fl_key_responder.h
FlKeyEmbedderCheckedKey
Definition: fl_key_embedder_responder_private.h:34