Commit Graph

131 Commits

Author SHA1 Message Date
Greg Spencer
2cb685e157
Modify key info generation for new iOS key code. (#83439)
The (new, not yet used) code gen for iOS was setting up a std::map from key codes to logical and physical key codes, but it was using uint32_t, which isn't big enough to hold the Flutter key codes.

Also, iOS needs to be able to filter out function keys, so I added a function key set.
2021-07-20 04:24:43 -07:00
Tong Mu
c8d0b1d9db
New scheme for keyboard logical key ID (#85121)
This PR updates the ID used by logical keyboard keys.

The logical key ID is still composed of 2 parts: 32 bits of value, and 8 bits of plane. But the assignment of planes has been drastically changed. HID plane is removed, and unprintable plane and Flutter plane are added. This is to reflect the new generation method for logical key IDs. Now keys that are defined by Flutter but not by dom_key_data are placed into the Flutter plane, including numpad keys, sided modifier keys, and gamepad keys. The values for platform planes have also been adjusted.

The generation script and README have been updated accordingly as well.

A new file, test_utils/key_codes.h is now generated to assist engine unit testing.

All lists generated by the script are now sorted by the key.
2021-07-14 13:07:22 -07:00
Yegor
78e06e716b
[web] move e2e tests from flutter/engine to flutter/flutter (#86119)
* [web] move e2e tests from flutter/engine to flutter/flutter
* flutter update-packages --force-upgrade
2021-07-09 15:31:49 -07:00
Ahmed Ashour
a3dc90c4f5
Add space before curly parentheses. (#85306) 2021-07-01 13:51:05 -07:00
Mouad Debbar
4013fe2131
[web] Remove the part directive from the web key map template (#85637) 2021-06-30 14:26:04 -07:00
Jonah Williams
03d14a30c8
[versions] remove mockito (#85076) 2021-06-22 17:41:03 -07:00
Tong Mu
32203c391f
Key codegen for Hardware Keyboard: Linux (GTK) #82962 2021-06-17 02:14:44 -07:00
Jonah Williams
cd13c91119
[versions] update dependencies (#84639) 2021-06-15 11:08:57 -07:00
Greg Spencer
88f3811055
Turn on avoid_dynamic_calls lint, except packages/flutter tests, make appropriate changes. (#84476)
This adds avoid_dynamic_calls to the list of lints, and fixes all instances where it was violated.

Importantly, this lint is NOT turned on for flutter/packages/test, because those changes are happening in another PR: #84478
2021-06-14 14:16:57 -07:00
Michael Goderbauer
14b2e7ffee
flutter update-packages --force-upgrade (#83911) 2021-06-03 10:50:11 -07:00
Tong Mu
e3da1bd7aa
Test WidgetTester handling test pointers (#83337)
Adds tests to the following behaviors, which have existed without tests:

- When tapping during live testing, a message is printed with widgets that contain the tap location.
- When tapping during live testing, a mark is displayed on screen on the tap location.
2021-06-02 11:50:09 -07:00
Anis Alibegić
c99ed373b3
Fixed large amount of spelling errors (#83744) 2021-06-02 10:14:06 -07:00
Alexandre Ardhuin
34059eec2c
enable lint prefer_interpolation_to_compose_strings (#83407) 2021-06-01 11:14:06 -07:00
Jonah Williams
025a3a7da3
[versions] roll package test redux (#83367) 2021-05-26 17:22:28 -07:00
Greg Spencer
6b087c74e2
Add iOS key map generation, make macOS var naming consistent with repo (#83146)
This adds iOS key map generation that uses std::maps. It uses std::maps because on iOS if we use NSDictionaries, then when XCode loads the dylib, the initialization of those status NSDictionaries hasn't yet occurred, and it crashes the app. std::maps have a well-defined static behavior, and are correctly initialized.

I also made the naming of variables, fields, etc. consistent for macOS. We variously had macosFoo, macOSFoo, and macOsFoo. I eliminated macOsFoo and macosFoo, since the rest of the repo uses macOSFoo for lowerCamelCase names (with only a few exceptions). I used iOSFoo for iOS.
2021-05-25 17:18:06 -07:00
nt4f04uNd
80a2b6b015
Fix typos (#82589) 2021-05-20 17:19:09 -07:00
Kenzie Schmoll
766b4509c6
Add 'v' hotkey to open DevTools in the browser (#82227)
* Add 'v' hotkey to open DevTools in the browser
2021-05-13 09:54:10 -07:00
Greg Spencer
af3337b676
Add Enter and Tab back in to ios and macos key maps (#81865)
I noticed that tab traversal stopped working on iOS when #73440 was landed.

It seems to be that the control characters were excluded from the list of logical keys, and so they ended up being generated values.

This PR just adds "Enter" and "Tab" to the list for both macOS and iOS.
2021-05-11 10:23:11 -07:00
Michael Goderbauer
2bf42e7047
clean-up analysis_options.yaml's across the repository (#81986) 2021-05-10 23:44:02 -07:00
Tong Mu
0e251e0ae1
[key_codegen] Remove webValues (#81678)
Removes webValues from logical_key_data.json. Web's logical mapping should map webNames to logical key values, i.e. entry.value.
2021-05-10 03:16:25 -07:00
Phil Quitslund
96e4b47f5d
sort directives (#81624) 2021-05-02 07:24:01 -07:00
Tong Mu
9956a35a5a
Hardware keyboard: codegen (#73440)
Rewrites tools/gen_keycodes, the script that generates key mappings across the framework and the engine.
2021-04-30 21:06:03 -07:00
Jonah Williams
2b0d09dd81
[versions] roll versions and add ffi dep (#81403) 2021-04-28 11:19:03 -07:00
Jenn Magder
0f899f2b64
Roll packages (#80989) 2021-04-22 15:01:49 -07:00
Phil Quitslund
61c30c41b2
fix sort_directives violations (#80817) 2021-04-21 13:49:03 -07:00
Tong Mu
dbcac7f177
Reland Make LogicalKeyboardKey.keyLabel a getter and better #79100 (#79302) 2021-04-01 16:39:02 -07:00
Tong Mu
a603714610
Revert "Make LogicalKeyboardKey.keyLabel a getter and better (#79100)" (#79217) 2021-03-28 03:54:02 -07:00
Tong Mu
b60c855af5
Make LogicalKeyboardKey.keyLabel a getter and better (#79100) 2021-03-26 22:14:01 -07:00
Jonah Williams
dfc134dd9a
[versions] roll many versions (#79088) 2021-03-25 15:43:44 -07:00
Tong Mu
eb6e56761e
Revert "Remove keyLabel and debugName from Logical/PhysicalKeyboardKey (#78263)" (#79005)
This reverts commit 515ef91ba1.
2021-03-24 13:31:02 -07:00
Tong Mu
515ef91ba1
Remove keyLabel and debugName from Logical/PhysicalKeyboardKey (#78263)
- Remove `LogicalKeyboardKey.keyLabel`
- Make `Physical/LogicalKeyboardKey.debugName` getters
- Make `Physical/LogicalKeyboardKey()` factory constructors, which cache non-predefined instances.
2021-03-24 04:59:57 -07:00
Michael Goderbauer
cb867bbedc
Enable unnecessary_await_in_return lint (#77434) 2021-03-05 18:38:15 -08:00
Jonah Williams
ddcb8d7d6d
Update all versions! (#77153) 2021-03-03 14:11:30 -08:00
Ian Hickson
341984237e
Const constructor audit. (#76162) 2021-02-17 19:46:04 -08:00
Jonah Williams
7088c5ba2a
Update all packages (#76143) 2021-02-16 15:29:12 -08:00
Dan Field
bc1cf49458
roll packages (#75370) 2021-02-04 11:41:03 -08:00
Robert Ancell
c65304bbf1
Map Linux AltGr to right alt. It was currently being ignored. (#73373)
Fixes https://github.com/flutter/flutter/issues/68713
2021-01-13 14:31:22 +13:00
Ian Hickson
544a41eb55
Remove an obsolete comment from pubspec.yaml (#73505) 2021-01-07 15:59:04 -08:00
Darren Austin
a6117269c6
Migrated some services and widgets doc comments to null safety. (#72792) 2020-12-23 17:14:04 -08:00
Jonah Williams
e8efde6a54
[versions] update more null safe versions (#69892) 2020-11-05 09:09:03 -08:00
Jonah Williams
580cacf4bd
[versions] roll versions (#69810) 2020-11-04 15:38:58 -08:00
Jacob MacDonald
193fe3e980
Update null safe deps to prepare for the 2.12 sdk version (#69041)
* update pinned null safety deps

* run update-packages

* add http dep to devicelab package

* rerun update-packages
2020-10-26 14:31:13 -07:00
puelo
24d3999783
Generate RawKeyEvents for iOS 13.4+ (#65193)
* 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
2020-10-22 13:33:51 -07:00
Sam Rawlins
23c7ee9deb
Bump meta to 1.3.0-nullsafety.4 (#67744) 2020-10-12 09:50:30 -07:00
Android Dev Notes
ace7860e41
Fix typos (#66029) 2020-09-25 11:41:37 +02:00
Jacob MacDonald
9cee75ba61
update to the latest null safe packages (#66384)
Updates all null safe dependencies to versions that allow 2.10 stable and 2.11 dev releases.

Also updates flutter_goldens and flutter_goldens_client to allow 2.11 dev.
2020-09-23 11:03:29 -07:00
Yegor
905feb7771
roll source_span 1.8.0-nullsafety.2 (#66290) 2020-09-21 15:02:07 -07:00
Jonah Williams
689ca09cd0
[versions] update to latest source span and roll engine to 4b8477d11573d233e6791204191c0090f733b05d (#66136) 2020-09-19 11:22:07 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Greg Spencer
199a7c1964
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.
2020-09-15 13:02:16 -07:00