Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
82bf3189
Unverified
Commit
82bf3189
authored
Dec 14, 2021
by
Tong Mu
Committed by
GitHub
Dec 14, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete and Backspace shortcuts accept optional Shift modifier (#94966)
parent
8b198d60
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
216 additions
and
183 deletions
+216
-183
default_text_editing_shortcuts.dart
...utter/lib/src/widgets/default_text_editing_shortcuts.dart
+172
-183
editable_text_test.dart
packages/flutter/test/widgets/editable_text_test.dart
+44
-0
No files found.
packages/flutter/lib/src/widgets/default_text_editing_shortcuts.dart
View file @
82bf3189
...
@@ -159,47 +159,50 @@ class DefaultTextEditingShortcuts extends Shortcuts {
...
@@ -159,47 +159,50 @@ class DefaultTextEditingShortcuts extends Shortcuts {
// These are shortcuts are shared between most platforms except macOS for it
// These are shortcuts are shared between most platforms except macOS for it
// uses different modifier keys as the line/word modifer.
// uses different modifier keys as the line/word modifer.
static
const
Map
<
ShortcutActivator
,
Intent
>
_commonShortcuts
=
<
ShortcutActivator
,
Intent
>{
static
final
Map
<
ShortcutActivator
,
Intent
>
_commonShortcuts
=
<
ShortcutActivator
,
Intent
>{
// Delete Shortcuts.
// Delete Shortcuts.
SingleActivator
(
LogicalKeyboardKey
.
backspace
):
DeleteCharacterIntent
(
forward:
false
),
for
(
final
bool
pressShift
in
const
<
bool
>[
true
,
false
])
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
control:
true
):
DeleteToNextWordBoundaryIntent
(
forward:
false
),
...<
SingleActivator
,
Intent
>{
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
alt:
true
):
DeleteToLineBreakIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
shift:
pressShift
):
const
DeleteCharacterIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
delete
):
DeleteCharacterIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
control:
true
,
shift:
pressShift
):
const
DeleteToNextWordBoundaryIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
control:
true
):
DeleteToNextWordBoundaryIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
alt:
true
,
shift:
pressShift
):
const
DeleteToLineBreakIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
alt:
true
):
DeleteToLineBreakIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
shift:
pressShift
):
const
DeleteCharacterIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
control:
true
,
shift:
pressShift
):
const
DeleteToNextWordBoundaryIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
alt:
true
,
shift:
pressShift
):
const
DeleteToLineBreakIntent
(
forward:
true
),
},
// Arrow: Move Selection.
// Arrow: Move Selection.
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
):
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
):
const
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
):
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
):
const
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
true
),
// Shift + Arrow: Extend Selection.
// Shift + Arrow: Extend Selection.
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
):
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
):
const
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
):
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
):
const
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
alt:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
alt:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
alt:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
alt:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
alt:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
alt:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
control:
true
):
ExtendSelectionToNextWordBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
control:
true
):
const
ExtendSelectionToNextWordBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
control:
true
):
ExtendSelectionToNextWordBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
control:
true
):
const
ExtendSelectionToNextWordBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
control:
true
):
ExtendSelectionToNextWordBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
control:
true
):
const
ExtendSelectionToNextWordBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
control:
true
):
ExtendSelectionToNextWordBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
control:
true
):
const
ExtendSelectionToNextWordBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
control:
true
):
CopySelectionTextIntent
.
cut
(
SelectionChangedCause
.
keyboard
),
const
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
control:
true
):
const
CopySelectionTextIntent
.
cut
(
SelectionChangedCause
.
keyboard
),
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
control:
true
):
CopySelectionTextIntent
.
copy
,
const
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
control:
true
):
CopySelectionTextIntent
.
copy
,
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
control:
true
):
PasteTextIntent
(
SelectionChangedCause
.
keyboard
),
const
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
control:
true
):
const
PasteTextIntent
(
SelectionChangedCause
.
keyboard
),
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
control:
true
):
SelectAllTextIntent
(
SelectionChangedCause
.
keyboard
),
const
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
control:
true
):
const
SelectAllTextIntent
(
SelectionChangedCause
.
keyboard
),
};
};
// The following key combinations have no effect on text editing on this
// The following key combinations have no effect on text editing on this
...
@@ -210,21 +213,17 @@ class DefaultTextEditingShortcuts extends Shortcuts {
...
@@ -210,21 +213,17 @@ class DefaultTextEditingShortcuts extends Shortcuts {
// * Meta + C
// * Meta + C
// * Meta + V
// * Meta + V
// * Meta + A
// * Meta + A
// * Meta + arrow down
// * Meta + shift? + arrow down
// * Meta + arrow left
// * Meta + shift? + arrow left
// * Meta + arrow right
// * Meta + shift? + arrow right
// * Meta + arrow up
// * Meta + shift? + arrow up
// * Meta + shift + arrow down
// * Meta + shift + arrow left
// * Meta + shift + arrow right
// * Meta + shift + arrow up
// * Shift + end
// * Shift + end
// * Shift + home
// * Shift + home
// * Meta + delete
// * Meta +
shift? +
delete
// * Meta + backspace
// * Meta +
shift? +
backspace
static
const
Map
<
ShortcutActivator
,
Intent
>
_androidShortcuts
=
_commonShortcuts
;
static
final
Map
<
ShortcutActivator
,
Intent
>
_androidShortcuts
=
_commonShortcuts
;
static
const
Map
<
ShortcutActivator
,
Intent
>
_fuchsiaShortcuts
=
_androidShortcuts
;
static
final
Map
<
ShortcutActivator
,
Intent
>
_fuchsiaShortcuts
=
_androidShortcuts
;
// The following key combinations have no effect on text editing on this
// The following key combinations have no effect on text editing on this
// platform:
// platform:
...
@@ -234,105 +233,96 @@ class DefaultTextEditingShortcuts extends Shortcuts {
...
@@ -234,105 +233,96 @@ class DefaultTextEditingShortcuts extends Shortcuts {
// * Meta + C
// * Meta + C
// * Meta + V
// * Meta + V
// * Meta + A
// * Meta + A
// * Meta + arrow down
// * Meta + shift? + arrow down
// * Meta + arrow left
// * Meta + shift? + arrow left
// * Meta + arrow right
// * Meta + shift? + arrow right
// * Meta + arrow up
// * Meta + shift? + arrow up
// * Meta + shift + arrow down
// * Meta + shift + arrow left
// * Meta + shift + arrow right
// * Meta + shift + arrow up
// * Shift + end
// * Shift + end
// * Shift + home
// * Shift + home
// * Meta + delete
// * Meta +
shift? +
delete
// * Meta + backspace
// * Meta +
shift? +
backspace
static
const
Map
<
ShortcutActivator
,
Intent
>
_iOSShortcuts
=
_commonShortcuts
;
static
final
Map
<
ShortcutActivator
,
Intent
>
_iOSShortcuts
=
_commonShortcuts
;
static
const
Map
<
ShortcutActivator
,
Intent
>
_linuxShortcuts
=
<
ShortcutActivator
,
Intent
>{
static
final
Map
<
ShortcutActivator
,
Intent
>
_linuxShortcuts
=
<
ShortcutActivator
,
Intent
>{
...
_commonShortcuts
,
...
_commonShortcuts
,
SingleActivator
(
LogicalKeyboardKey
.
home
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
end
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
// The following key combinations have no effect on text editing on this
// The following key combinations have no effect on text editing on this
// platform:
// platform:
// * Control + end
// * Control + shift? + end
// * Control + home
// * Control + shift? + home
// * Control + shift + end
// * Control + shift + home
// * Meta + X
// * Meta + X
// * Meta + C
// * Meta + C
// * Meta + V
// * Meta + V
// * Meta + A
// * Meta + A
// * Meta + arrow down
// * Meta + shift? + arrow down
// * Meta + arrow left
// * Meta + shift? + arrow left
// * Meta + arrow right
// * Meta + shift? + arrow right
// * Meta + arrow up
// * Meta + shift? + arrow up
// * Meta + shift + arrow down
// * Meta + shift? + delete
// * Meta + shift + arrow left
// * Meta + shift? + backspace
// * Meta + shift + arrow right
// * Meta + shift + arrow up
// * Meta + delete
// * Meta + backspace
};
};
// macOS document shortcuts: https://support.apple.com/en-us/HT201236.
// macOS document shortcuts: https://support.apple.com/en-us/HT201236.
// The macOS shortcuts uses different word/line modifiers than most other
// The macOS shortcuts uses different word/line modifiers than most other
// platforms.
// platforms.
static
const
Map
<
ShortcutActivator
,
Intent
>
_macShortcuts
=
<
ShortcutActivator
,
Intent
>{
static
final
Map
<
ShortcutActivator
,
Intent
>
_macShortcuts
=
<
ShortcutActivator
,
Intent
>{
SingleActivator
(
LogicalKeyboardKey
.
backspace
):
DeleteCharacterIntent
(
forward:
false
),
for
(
final
bool
pressShift
in
const
<
bool
>[
true
,
false
])
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
alt:
true
):
DeleteToNextWordBoundaryIntent
(
forward:
false
),
...<
SingleActivator
,
Intent
>{
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
meta:
true
):
DeleteToLineBreakIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
shift:
pressShift
):
const
DeleteCharacterIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
delete
):
DeleteCharacterIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
alt:
true
,
shift:
pressShift
):
const
DeleteToNextWordBoundaryIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
alt:
true
):
DeleteToNextWordBoundaryIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
meta:
true
,
shift:
pressShift
):
const
DeleteToLineBreakIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
meta:
true
):
DeleteToLineBreakIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
shift:
pressShift
):
const
DeleteCharacterIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
alt:
true
,
shift:
pressShift
):
const
DeleteToNextWordBoundaryIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
meta:
true
,
shift:
pressShift
):
const
DeleteToLineBreakIntent
(
forward:
true
),
},
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
):
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
):
const
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
):
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
):
const
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
true
),
// Shift + Arrow: Extend Selection.
// Shift + Arrow: Extend Selection.
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
):
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
):
const
ExtendSelectionByCharacterIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
):
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
):
const
ExtendSelectionByCharacterIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
):
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
):
const
ExtendSelectionVerticallyToAdjacentLineIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
alt:
true
):
ExtendSelectionToNextWordBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
alt:
true
):
const
ExtendSelectionToNextWordBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
alt:
true
):
ExtendSelectionToNextWordBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
alt:
true
):
const
ExtendSelectionToNextWordBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
alt:
true
):
ExtendSelectionToNextWordBoundaryOrCaretLocationIntent
(
forward:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToNextWordBoundaryOrCaretLocationIntent
(
forward:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
alt:
true
):
ExtendSelectionToNextWordBoundaryOrCaretLocationIntent
(
forward:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToNextWordBoundaryOrCaretLocationIntent
(
forward:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
,
collapseAtReversal:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
,
collapseAtReversal:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
alt:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
,
collapseAtReversal:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
alt:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
,
collapseAtReversal:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
meta:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
meta:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
meta:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
meta:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
meta:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
meta:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
meta:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
meta:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
meta:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
meta:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
meta:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
meta:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
meta:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
meta:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
meta:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
meta:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
meta:
true
):
CopySelectionTextIntent
.
cut
(
SelectionChangedCause
.
keyboard
),
const
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
meta:
true
):
const
CopySelectionTextIntent
.
cut
(
SelectionChangedCause
.
keyboard
),
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
meta:
true
):
CopySelectionTextIntent
.
copy
,
const
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
meta:
true
):
CopySelectionTextIntent
.
copy
,
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
meta:
true
):
PasteTextIntent
(
SelectionChangedCause
.
keyboard
),
const
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
meta:
true
):
const
PasteTextIntent
(
SelectionChangedCause
.
keyboard
),
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
meta:
true
):
SelectAllTextIntent
(
SelectionChangedCause
.
keyboard
),
const
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
meta:
true
):
const
SelectAllTextIntent
(
SelectionChangedCause
.
keyboard
),
// The following key combinations have no effect on text editing on this
// The following key combinations have no effect on text editing on this
// platform:
// platform:
// * End
// * End
// * Home
// * Home
// * Control + end
// * Control + shift? + end
// * Control + home
// * Control + shift? + home
// * Control + shift + end
// * Control + shift + home
};
};
// The following key combinations have no effect on text editing on this
// The following key combinations have no effect on text editing on this
...
@@ -341,82 +331,81 @@ class DefaultTextEditingShortcuts extends Shortcuts {
...
@@ -341,82 +331,81 @@ class DefaultTextEditingShortcuts extends Shortcuts {
// * Meta + C
// * Meta + C
// * Meta + V
// * Meta + V
// * Meta + A
// * Meta + A
// * Meta + arrow down
// * Meta + shift? + arrow down
// * Meta + arrow left
// * Meta + shift? + arrow left
// * Meta + arrow right
// * Meta + shift? + arrow right
// * Meta + arrow up
// * Meta + shift? + arrow up
// * Meta + shift + arrow down
// * Meta + shift + arrow left
// * Meta + shift + arrow right
// * Meta + shift + arrow up
// * Meta + delete
// * Meta + delete
// * Meta + backspace
// * Meta + backspace
static
const
Map
<
ShortcutActivator
,
Intent
>
_windowsShortcuts
=
<
ShortcutActivator
,
Intent
>{
static
final
Map
<
ShortcutActivator
,
Intent
>
_windowsShortcuts
=
<
ShortcutActivator
,
Intent
>{
...
_commonShortcuts
,
...
_commonShortcuts
,
SingleActivator
(
LogicalKeyboardKey
.
home
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
end
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
const
ExtendSelectionToLineBreakIntent
(
forward:
true
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
home
,
control:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
control:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
end
,
control:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
control:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
true
),
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
,
control:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
,
control:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
false
,
collapseSelection:
false
),
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
,
control:
true
):
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
,
control:
true
):
const
ExtendSelectionToDocumentBoundaryIntent
(
forward:
true
,
collapseSelection:
false
),
};
};
// Web handles its text selection natively and doesn't use any of these
// Web handles its text selection natively and doesn't use any of these
// shortcuts in Flutter.
// shortcuts in Flutter.
static
const
Map
<
ShortcutActivator
,
Intent
>
_webShortcuts
=
<
ShortcutActivator
,
Intent
>{
static
final
Map
<
ShortcutActivator
,
Intent
>
_webShortcuts
=
<
ShortcutActivator
,
Intent
>{
SingleActivator
(
LogicalKeyboardKey
.
backspace
):
DoNothingAndStopPropagationTextIntent
(),
for
(
final
bool
pressShift
in
const
<
bool
>[
true
,
false
])
SingleActivator
(
LogicalKeyboardKey
.
delete
):
DoNothingAndStopPropagationTextIntent
(),
...<
SingleActivator
,
Intent
>{
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
alt:
true
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
alt:
true
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
control:
true
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
control:
true
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
backspace
,
meta:
true
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
delete
,
meta:
true
,
shift:
pressShift
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
},
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
alt:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
alt:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
end
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
home
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
end
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
home
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowDown
,
shift:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowLeft
,
shift:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowRight
,
shift:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
end
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
arrowUp
,
shift:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
home
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
shift:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
space
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
shift:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
end
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
home
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
space
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyX
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
control:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyC
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
meta:
true
):
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyV
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
control:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
const
SingleActivator
(
LogicalKeyboardKey
.
keyA
,
meta:
true
):
const
DoNothingAndStopPropagationTextIntent
(),
};
};
static
Map
<
ShortcutActivator
,
Intent
>
get
_shortcuts
{
static
Map
<
ShortcutActivator
,
Intent
>
get
_shortcuts
{
...
...
packages/flutter/test/widgets/editable_text_test.dart
View file @
82bf3189
...
@@ -5037,6 +5037,50 @@ void main() {
...
@@ -5037,6 +5037,50 @@ void main() {
reason:
'on
$platform
'
,
reason:
'on
$platform
'
,
);
);
expect
(
controller
.
text
,
isEmpty
,
reason:
'on
$platform
'
);
expect
(
controller
.
text
,
isEmpty
,
reason:
'on
$platform
'
);
controller
.
text
=
'abc'
;
controller
.
selection
=
const
TextSelection
(
baseOffset:
2
,
extentOffset:
2
);
// Backspace
await
sendKeys
(
tester
,
<
LogicalKeyboardKey
>[
LogicalKeyboardKey
.
backspace
,
],
targetPlatform:
defaultTargetPlatform
,
);
expect
(
selection
,
equals
(
const
TextSelection
(
baseOffset:
1
,
extentOffset:
1
,
),
),
reason:
'on
$platform
'
,
);
expect
(
controller
.
text
,
'ac'
,
reason:
'on
$platform
'
);
// Shift-backspace (same as backspace)
await
sendKeys
(
tester
,
<
LogicalKeyboardKey
>[
LogicalKeyboardKey
.
backspace
,
],
shift:
true
,
targetPlatform:
defaultTargetPlatform
,
);
expect
(
selection
,
equals
(
const
TextSelection
(
baseOffset:
0
,
extentOffset:
0
,
),
),
reason:
'on
$platform
'
,
);
expect
(
controller
.
text
,
'c'
,
reason:
'on
$platform
'
);
}
}
testWidgets
(
'keyboard text selection works (RawKeyEvent)'
,
(
WidgetTester
tester
)
async
{
testWidgets
(
'keyboard text selection works (RawKeyEvent)'
,
(
WidgetTester
tester
)
async
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment