#include <gdk/gdk.h>
#include "flutter/shell/platform/linux/fl_keyboard_view_delegate.h"
#include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h"
Go to the source code of this file.
Typedefs | |
typedef void(* | FlKeyboardManagerSendKeyEventHandler) (const FlutterKeyEvent *event, FlutterKeyEventCallback callback, void *callback_user_data, gpointer user_data) |
typedef guint(* | FlKeyboardManagerLookupKeyHandler) (const GdkKeymapKey *key, gpointer user_data) |
typedef void(* | FlKeyboardManagerRedispatchEventHandler) (FlKeyEvent *event, gpointer user_data) |
typedef GHashTable *(* | FlKeyboardManagerGetPressedStateHandler) (gpointer user_data) |
Functions | |
G_BEGIN_DECLS | G_DECLARE_FINAL_TYPE (FlKeyboardManager, fl_keyboard_manager, FL, KEYBOARD_MANAGER, GObject) |
FlKeyboardManager * | fl_keyboard_manager_new (FlEngine *engine, FlKeyboardViewDelegate *view_delegate) |
gboolean | fl_keyboard_manager_handle_event (FlKeyboardManager *manager, FlKeyEvent *event) |
gboolean | fl_keyboard_manager_is_state_clear (FlKeyboardManager *manager) |
void | fl_keyboard_manager_sync_modifier_if_needed (FlKeyboardManager *manager, guint state, double event_time) |
GHashTable * | fl_keyboard_manager_get_pressed_state (FlKeyboardManager *manager) |
void | fl_keyboard_manager_set_send_key_event_handler (FlKeyboardManager *manager, FlKeyboardManagerSendKeyEventHandler send_key_event_handler, gpointer user_data) |
void | fl_keyboard_manager_set_lookup_key_handler (FlKeyboardManager *manager, FlKeyboardManagerLookupKeyHandler lookup_key_handler, gpointer user_data) |
void | fl_keyboard_manager_set_redispatch_handler (FlKeyboardManager *manager, FlKeyboardManagerRedispatchEventHandler redispatch_handler, gpointer user_data) |
void | fl_keyboard_manager_set_get_pressed_state_handler (FlKeyboardManager *manager, FlKeyboardManagerGetPressedStateHandler get_pressed_state_handler, gpointer user_data) |
typedef GHashTable*(* FlKeyboardManagerGetPressedStateHandler) (gpointer user_data) |
Definition at line 142 of file fl_keyboard_manager.h.
typedef guint(* FlKeyboardManagerLookupKeyHandler) (const GdkKeymapKey *key, gpointer user_data) |
Definition at line 114 of file fl_keyboard_manager.h.
typedef void(* FlKeyboardManagerRedispatchEventHandler) (FlKeyEvent *event, gpointer user_data) |
Definition at line 128 of file fl_keyboard_manager.h.
typedef void(* FlKeyboardManagerSendKeyEventHandler) (const FlutterKeyEvent *event, FlutterKeyEventCallback callback, void *callback_user_data, gpointer user_data) |
Definition at line 97 of file fl_keyboard_manager.h.
GHashTable* fl_keyboard_manager_get_pressed_state | ( | FlKeyboardManager * | manager | ) |
fl_keyboard_manager_get_pressed_state: @manager: the #FlKeyboardManager self.
Returns the keyboard pressed state. The hash table contains one entry per pressed keys, mapping from the logical key to the physical key.*
Definition at line 566 of file fl_keyboard_manager.cc.
References fl_key_embedder_responder_get_pressed_state().
Referenced by get_keyboard_state().
gboolean fl_keyboard_manager_handle_event | ( | FlKeyboardManager * | manager, |
FlKeyEvent * | event | ||
) |
fl_keyboard_manager_handle_event: @manager: the #FlKeyboardManager self. @event: the event to be dispatched. It is usually a wrap of a GdkEventKey. This event will be managed and released by #FlKeyboardManager.
Make the manager process a system key event. This might eventually send messages to the framework, trigger text input effects, or redispatch the event back to the system.
Definition at line 522 of file fl_keyboard_manager.cc.
References fl_key_channel_responder_handle_event(), fl_key_embedder_responder_handle_event(), fl_key_event_get_group(), fl_key_event_get_keycode(), fl_key_event_hash(), fl_keyboard_layout_get_logical_key(), fl_keyboard_manager_data_new(), fl_keyboard_manager_remove_redispatched(), fl_keyboard_pending_event_new(), guarantee_layout(), responder_handle_channel_event_cb(), responder_handle_embedder_event_callback(), and TRUE.
Referenced by fl_view_key_press_event(), and fl_view_key_release_event().
gboolean fl_keyboard_manager_is_state_clear | ( | FlKeyboardManager * | manager | ) |
fl_keyboard_manager_is_state_clear: @manager: the #FlKeyboardManager self.
A debug-only method that queries whether the manager's various states are cleared, i.e. no pending events for redispatching or for responding.
Returns: true if the manager's various states are cleared.
Definition at line 552 of file fl_keyboard_manager.cc.
FlKeyboardManager* fl_keyboard_manager_new | ( | FlEngine * | engine, |
FlKeyboardViewDelegate * | view_delegate | ||
) |
FlKeyboardManager:
Processes keyboard events and cooperate with TextInputManager
.
A keyboard event goes through a few sections, each can choose to handle the event, and only unhandled events can move to the next section:
TextInputManager
) and are handled synchronously.Create a new #FlKeyboardManager.
Returns: a new #FlKeyboardManager.
Definition at line 462 of file fl_keyboard_manager.cc.
References fl_engine_send_key_event(), fl_key_embedder_responder_new(), if(), and user_data.
Referenced by init_keyboard(), and TEST().
void fl_keyboard_manager_set_get_pressed_state_handler | ( | FlKeyboardManager * | manager, |
FlKeyboardManagerGetPressedStateHandler | get_pressed_state_handler, | ||
gpointer | user_data | ||
) |
fl_keyboard_manager_set_get_pressed_state_handler: @manager: the #FlKeyboardManager self.
Set the handler for gettting the keyboard state, for testing purposes only.
Definition at line 604 of file fl_keyboard_manager.cc.
References user_data.
Referenced by TEST().
void fl_keyboard_manager_set_lookup_key_handler | ( | FlKeyboardManager * | manager, |
FlKeyboardManagerLookupKeyHandler | lookup_key_handler, | ||
gpointer | user_data | ||
) |
fl_keyboard_manager_set_lookup_key_handler: @manager: the #FlKeyboardManager self.
Set the handler for key lookup, for testing purposes only.
Definition at line 586 of file fl_keyboard_manager.cc.
References user_data.
void fl_keyboard_manager_set_redispatch_handler | ( | FlKeyboardManager * | manager, |
FlKeyboardManagerRedispatchEventHandler | redispatch_handler, | ||
gpointer | user_data | ||
) |
fl_keyboard_manager_set_redispatch_handler: @manager: the #FlKeyboardManager self.
Set the handler for redispatches, for testing purposes only.
Definition at line 595 of file fl_keyboard_manager.cc.
References user_data.
void fl_keyboard_manager_set_send_key_event_handler | ( | FlKeyboardManager * | manager, |
FlKeyboardManagerSendKeyEventHandler | send_key_event_handler, | ||
gpointer | user_data | ||
) |
fl_keyboard_manager_set_send_key_event_handler: @manager: the #FlKeyboardManager self.
Set the handler for sending events, for testing purposes only.
Definition at line 577 of file fl_keyboard_manager.cc.
References user_data.
void fl_keyboard_manager_sync_modifier_if_needed | ( | FlKeyboardManager * | manager, |
guint | state, | ||
double | event_time | ||
) |
fl_keyboard_manager_sync_modifier_if_needed: @manager: the #FlKeyboardManager self. @state: the state of the modifiers mask. @event_time: the time attribute of the incoming GDK event.
If needed, synthesize modifier keys up and down event by comparing their current pressing states with the given modifiers mask.
Definition at line 558 of file fl_keyboard_manager.cc.
References fl_key_embedder_responder_sync_modifiers_if_needed(), and state.
Referenced by sync_modifier_if_needed().
G_BEGIN_DECLS G_DECLARE_FINAL_TYPE | ( | FlKeyboardManager | , |
fl_keyboard_manager | , | ||
FL | , | ||
KEYBOARD_MANAGER | , | ||
GObject | |||
) |