Flutter Engine
The Flutter Engine
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 */
34typedef struct {
35 // The physical key for the primary key.
37 // The logical key for the primary key.
39 // The logical key for the secondary key.
41 // Whether this key is CapsLock. CapsLock uses a different event model in GDK
42 // and needs special treatment.
45
46#endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_KEY_EMBEDDER_RESPONDER_PRIVATE_H_