-
Notifications
You must be signed in to change notification settings - Fork 6k
Windows keyboard integration tests and fix a number of issues #27921
Conversation
…/engine into win-keyboard-unittests
gspencergoog
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| WM_KEYDOWN, 0, false, false), | ||
| true); | ||
| EXPECT_EQ(handler.KeyboardHook(nullptr, VK_LMENU, kScanCodeAltLeft, | ||
| EXPECT_EQ(handler.KeyboardHook(nullptr, VK_RMENU, kScanCodeAltLeft, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Were these just all using the wrong side of the keyboard?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kind of. Previously the code that resolves side does not work very well and will send LMENU when right alt is pressed.
Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>
|
In portuguese when use accents the application close. test with áéãõâô |
Sorry about the crash. Can you file an issue on flutter/flutter for tracking? |
Ok, added, thanks for your attention |
…r#27921) * Basic changes * Fix build * Revert some changes * Fix tests (ATP) * Win32Message and inject messagelist * wm builders * Format * Correct * LowerCaseAUnhandled * ShiftLeftKeyA * Ctrl-A * Ctrl-1 * Digit1OnFrenchLayout * AltGrKeyQ * Dead key E * ^1 * Multibyte * Format * License * Revert key.dart * Move CreateKeyEventLparam * MockEmbedderApiForKeyboard * More MockEmbedderApiForKeyboard * Doc * Move MockMessageQueue * is_deadchar doesnt seem needed * ConvertChar32ToUtf8 * PeekNextMessageType * Format * Apply suggestions from code review Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com> Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>

This PR fixes several issues related to Win32 Keyboard:
PeekMessage.The PR also covers some new use cases, such as:
This PR also adds an "integration test" for the Win32 keyboard system, taking the
Win32Window,KeyboardKeyHandler,TextInputPlugin, andKeyboardKeyEmbedderHandler. This is because, due to reasons explained in flutter/flutter#88021, the current single-class unit tests no longer provide us enough guarantee how a key press actually works. The "integration test" is also a preparation for a possible rework in the future that is explained in flutter/flutter#88021.This PR implements
WmBuilders to simulate precise Win32 messages for keyboard unit tests, and implementedMockMessageQueue, simulating a message queue that supportsPeekMessage.Pre-launch Checklist
writing and running engine tests.
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.