- 21 May, 2021 1 commit
-
-
Ian Hickson authored
-
- 19 May, 2021 1 commit
-
-
Tong Mu authored
-
- 14 May, 2021 1 commit
-
-
Ian Hickson authored
-
- 13 May, 2021 1 commit
-
-
Ian Hickson authored
-
- 04 May, 2021 2 commits
-
-
Ian Hickson authored
- 26 Apr, 2021 1 commit
-
- 23 Apr, 2021 1 commit
-
-
Ian Hickson authored
* Migrate to ChannelBuffers.push * Move TestDefaultBinaryMessenger to its own file * Apply deprecations and fix usages
-
- 01 Apr, 2021 1 commit
-
-
Tong Mu authored
-
- 28 Mar, 2021 1 commit
-
-
Tong Mu authored
-
- 27 Mar, 2021 1 commit
-
-
Tong Mu authored
-
- 24 Mar, 2021 2 commits
-
-
Tong Mu authored
- Remove `LogicalKeyboardKey.keyLabel` - Make `Physical/LogicalKeyboardKey.debugName` getters - Make `Physical/LogicalKeyboardKey()` factory constructors, which cache non-predefined instances.
- 06 Mar, 2021 1 commit
-
-
Michael Goderbauer authored
-
- 25 Feb, 2021 1 commit
-
-
Ferhat authored
-
- 22 Oct, 2020 1 commit
-
-
puelo authored
* Added RawKeyEvent support for iOS * Removed unused remnant * added some missing keys * Removed trailing whitespaces * commit for build * Added mapping names * Made iOS keycodes generatable and collectable * Fixed naming and formatting issues * fixed raw_keyboard_test
-
- 19 Oct, 2020 1 commit
-
-
Greg Spencer authored
- - When I added notification of key events before processing them as text, it made it so that shortcut key bindings like the spacebar would prevent spaces from being inserted into text fields, which is obviously not desirable (and so that change was reverted). At the same time, we do want to make it possible to override key events so that they can do things like intercept a tab key or arrow keys that change the focus. This PR changes the behavior of the Shortcuts widget so that if it has a shortcut defined, but no action is bound to the intent, then instead of responding that the key is "handled", it responds as if nothing handled it. This allows the engine to continue to process the key as text entry. This PR includes: - Modification of the callback type for key handlers to return a KeyEventResult instead of a bool, so that we can return more information (i.e. the extra state of "stop propagation"). - Modification of the ActionDispatcher.invokeAction contract to require that Action.isEnabled return true before calling it. It will now assert if the action isn't enabled when invokeAction is called. This is to allow optimization of the number of calls to isEnabled, since the shortcuts widget now wants to know if the action was enabled before deciding to either handle the key or to return ignored. - Modification to ShortcutManager.handleKeypress to return KeyEventResult.ignored for keys which don't have an enabled action associated with them. - Adds an attribute to DoNothingAction that allows it to mark a key as not handled, even though it does have an action associated with it. This will allow disabling of a shortcut for a subtree.
-
- 01 Oct, 2020 1 commit
-
-
Michael Goderbauer authored
-
- 16 Sep, 2020 1 commit
-
-
Michael R Fairhurst authored
-
- 15 Sep, 2020 1 commit
-
-
Greg Spencer authored
Fix the `character` field of the `RawKeyEvent` to hold correct data on non-Android platforms. (#65667) This fixes a problem where the character field of the RawKeyEvent was not being set at all for non-Android platforms. I also updated the key maps, and corrected a problem with the Windows key map where the backquote character wasn't correctly mapped.
-
- 19 Aug, 2020 1 commit
-
-
Greg Spencer authored
This standardizes the handling of nullability for the LogicalKeyboardKey.keyLabel and RawKeyEventData.keyLabel accessors so that they are non-nullable, but can be empty. Before this change, the keyLabel could be either null or an empty string to indicate that there wasn't a label, which makes it harder to test for, since both need to be checked for. Since an empty string is sufficient, there is no need for it to be nullable. Also, in raw_keyboard.dart, the web and Windows implementations wouldn't accept null values for parameters in the Map coming from the message, but tests were supplying null for some of them. This makes web and Windows creation of events match the other platforms, and makes the migration of tests to non-nullability easier.
-
- 08 Apr, 2020 1 commit
-
-
Francisco Magdaleno authored
-
- 01 Apr, 2020 1 commit
-
-
cjng96 authored
-
- 21 Feb, 2020 1 commit
-
-
Greg Spencer authored
This fixes a problem where if you press "Shift" and then "A", then release "Shift" and then "a", then the "A" key will be "stuck" on because the logical key for the key down message is different (capital "A") from the logical key for the key up message (lowercase "a"). This PR changes the pressed keys logic so that it uses the physical key to add/remove keys from the list of pressed keys, but keeps the associated logical key. This does mean that after the "Shift" key goes up, the pressed keys contains a capital "A" and it doesn't switch to be a lowercase "a", but there isn't currently any mechanism we can use to do that remapping. This is far less surprising than the current behavior, but is still not quite correct. I fixed the event simulation code to take a physicalKey so that it could be matched with the logical key, but the event simulation code isn't up to the task, since it can only simulate keys that appear in the key maps. The new platform key event design should fix that (added TODOs).
-
- 07 Jan, 2020 1 commit
-
-
Alexandre Ardhuin authored
-
- 27 Nov, 2019 1 commit
-
-
Ian Hickson authored
* Update project.pbxproj files to say Flutter rather than Chromium Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright. * Update the copyright notice checker to require a standard notice on all files * Update copyrights on Dart files. (This was a mechanical commit.) * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine. Some were already marked "The Flutter Authors", not clear why. Their dates have been normalized. Some were missing the blank line after the license. Some were randomly different in trivial ways for no apparent reason (e.g. missing the trailing period). * Clean up the copyrights in non-Dart files. (Manual edits.) Also, make sure templates don't have copyrights. * Fix some more ORGANIZATIONNAMEs
-
- 06 Nov, 2019 1 commit
-
-
Greg Spencer authored
Currently, we listen to keyboard events to find out which keys should be represented in RawKeyboard.instance.keysPressed, but that's not sufficient to represent the physical state of the keys, since modifier keys could have been pressed when the overall app did not have keyboard focus (especially on desktop platforms). This PR synchronizes the list of modifier keys in keysPressed with the modifier key flags that are present in the raw key event so that they can be relied upon to represent the current state of the keyboard. When synchronizing these states, we don't send any new key events, since they didn't happen when the app had keyboard focus, but if you ask "is this key down", we'll give the right answer
-
- 24 Sep, 2019 1 commit
-
-
Greg Spencer authored
There were four or five different implementations in various tests for sendFakeKeyEvent, which roughly all did the same thing. I was going to add yet another one, and decided that it needed to be generalized and centralized. This replaces those instances with something that just takes a LogicalKeyboardKey so that it's self-documenting, and can be used with multiple platforms. This adds two functions to widget tester: sendKeyDownEvent and sendKeyUpEvent which simulate key up/down from a physical keyboard. It also adds global functions simulateKeyDownEvent and simulateKeyUpEvent that can be called without a widget tester. All are async functions protected by the async guard.
-