Skip to content

Commit 4732533

Browse files
author
Hidenori Matsubayashi
authored
Refactoring: keyboard plugin code (sony#96)
1 parent 01a9940 commit 4732533

File tree

6 files changed

+347
-344
lines changed

6 files changed

+347
-344
lines changed

cmake/build.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ add_executable(${TARGET}
103103
src/flutter/shell/platform/linux_embedded/external_texture_gl.cc
104104
src/flutter/shell/platform/linux_embedded/flutter_linuxes_texture_registrar.cc
105105
src/flutter/shell/platform/linux_embedded/plugin/key_event_plugin.cc
106-
src/flutter/shell/platform/linux_embedded/plugin/key_event_plugin_glfw_util.cc
106+
src/flutter/shell/platform/linux_embedded/plugin/keyboard_glfw_util.cc
107107
src/flutter/shell/platform/linux_embedded/plugin/text_input_plugin.cc
108108
src/flutter/shell/platform/linux_embedded/plugin/platform_plugin.cc
109109
src/flutter/shell/platform/linux_embedded/plugin/mouse_cursor_plugin.cc

src/flutter/shell/platform/linux_embedded/plugin/key_event_plugin.cc

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
#include "flutter/shell/platform/common/json_message_codec.h"
1616
#include "flutter/shell/platform/linux_embedded/logger.h"
17-
#include "flutter/shell/platform/linux_embedded/plugin/key_event_plugin_glfw_util.h"
17+
#include "flutter/shell/platform/linux_embedded/plugin/keyboard_glfw_util.h"
1818
#include "flutter/shell/platform/linux_embedded/window_binding_handler_delegate.h"
1919

2020
namespace flutter {
@@ -83,17 +83,22 @@ uint32_t KeyeventPlugin::GetCodePoint(uint32_t keycode) {
8383

8484
bool KeyeventPlugin::IsTextInputSuppressed(uint32_t code_point) {
8585
if (code_point) {
86-
auto mods = GetGlfwModifiers(xkb_mods_mask_);
87-
return (mods & (GLFW_MOD_CONTROL | GLFW_MOD_ALT));
86+
auto ctrl_key_index =
87+
xkb_keymap_mod_get_index(xkb_keymap_, XKB_MOD_NAME_CTRL);
88+
auto alt_key_index =
89+
xkb_keymap_mod_get_index(xkb_keymap_, XKB_MOD_NAME_ALT);
90+
91+
return (xkb_mods_mask_ & ((1 << ctrl_key_index) | (1 << alt_key_index))) !=
92+
0;
8893
}
8994
return false;
9095
}
9196

9297
void KeyeventPlugin::OnKey(uint32_t keycode, uint32_t state) {
9398
#if defined(DISPLAY_BACKEND_TYPE_WAYLAND)
9499
auto unicode = GetCodePoint(keycode);
95-
auto mods = GetGlfwModifiers(xkb_mods_mask_);
96-
auto keyscancode = GetGlfwKeyScancode(keycode);
100+
auto mods = GetGlfwModifiers(xkb_keymap_, xkb_mods_mask_);
101+
auto keyscancode = GetGlfwKeycode(keycode);
97102
SendKeyEvent(keyscancode, unicode, mods, state);
98103
#else
99104
// We cannot get notifications of modifier keys when we use the DRM backend.

src/flutter/shell/platform/linux_embedded/plugin/key_event_plugin_glfw_util.cc

Lines changed: 0 additions & 176 deletions
This file was deleted.

src/flutter/shell/platform/linux_embedded/plugin/key_event_plugin_glfw_util.h

Lines changed: 0 additions & 162 deletions
This file was deleted.

0 commit comments

Comments
 (0)