Repository: flutter
Issue: Control modifier does not work in CharacterActivator
Labels: a: text input,framework,has reproducible steps,P2,team-text-input,triaged-text-input,found in release: 3.22,found in release: 3.23

### Steps to reproduce

1. Create a new project using `flutter create shortcut_bug_test`
2. Copy the provided sample code into `lib/main.dart`
3. Run the application on Windows using the editor or using `flutter run -d windows`
4. With the application window in focus, press the following keys - 
	1. Ctrl + g (Bug)
	2. Alt + g (Works)
	3. Ctrl + Alt + g (Does not work)
	4. Shift + g (Works)
	5. Ctrl + Shift + g (Does not work)
	6. Alt + Ctrl + g (Changing order of key presses also does not work)

Note that any combination of modifiers and keys work with a `SingleActivator`.
To check this, press `Ctrl+Alt+Shift+s` which should print `Ctrl+Alt+Shift+g from SingleActivator` to the console.
To check `Ctrl+g` specifically, uncomment lines 22-24 in `lib/main.dart`. The output in that case will be `Ctrl+g from SingleActivator`.

Note that happens on Windows only. Web is fine. I don't have a MacOS or Linux machine to test the behavior on those platforms.

### Expected results

A line should be printed to console for every shortcut pressed.

The expected output is as follows:
```
Ctrl+g from CharacterActivator
Alt+g
Ctrl+Alt+g
Shift+g
Ctrl+Shift+g
Ctrl+Alt+g
```

To reproduce this expected output, run this application on the Web using `flutter run -d chrome` or similar.

### Actual results

All shortcuts involving the Control key don't work.

Output on Windows:
```
flutter: Alt+g
flutter: Shift+g
```

### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: CallbackShortcuts(
        bindings: {
          // This variant using CharacterActivator does not work
          const CharacterActivator('g', control: true): () {
            print("Ctrl+g from CharacterActivator");
          },
          // But this variant using SingleActivator does work. Uncomment this to verify
          // const SingleActivator(LogicalKeyboardKey.keyG, control: true): () {
          //   print("Ctrl+g from SingleActivator");
          // },
          // Alt as modifier alone works in CharacterActivator
          const CharacterActivator('g', alt: true): () {
            print("Alt+g");
          },
          // But combining Control with it breaks it too
          const CharacterActivator('g', alt: true, control: true): () {
            print("Ctrl+Alt+g");
          },
          // Similarly, Shift+s works exactly as expected from the CharacterActivator docs
          const CharacterActivator('G'): () {
            print("Shift+g");
          },
          // But adding Control here breaks it too
          const CharacterActivator('G', control: true): () {
            print("Ctrl+Shift+g");
          },
          // Meanwhile, all three modifiers work on a SingleActivator
          const SingleActivator(LogicalKeyboardKey.keyG,
              shift: true, control: true, alt: true): () {
            print("Ctrl+Alt+Shift+g from SingleActivator");
          },
        },
        child: const Focus(
          autofocus: true,
          child: Scaffold(
            body: Center(
              child: Text('Hello, World!'),
            ),
          ),
        ),
      ),
    );
  }
}
```

</details>


### Screenshots or Video

_No response_

### Logs

<details open><summary>Logs</summary>

Logs are for the Windows runner.

```console
❯  flutter run -d windows
Launching lib\main.dart on Windows in debug mode...
Building Windows application...                                    16.2s
✓ Built build\windows\x64\runner\Debug\shortcut_bug_test.exe
Syncing files to device Windows...                                 274ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Windows is available at: http://127.0.0.1:59648/vtAMSPXlCD0=/
The Flutter DevTools debugger and profiler on Windows is available at:
http://127.0.0.1:9102?uri=http://127.0.0.1:59648/vtAMSPXlCD0=/
flutter: Alt+g
flutter: Shift+g

Application finished.
```

Full verbose logs are available at https://pastebin.com/fgvGU2E7. You should see the console output at lines 464 and 465.

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

The machine runs Windows 10 build 19045.4412 .

```console
❯  flutter doctor -v
[✓] Flutter (Channel stable, 3.22.0, on Microsoft Windows [Version 10.0.19045.4412], locale en-IN)
    • Flutter version 3.22.0 on channel stable at C:\src\flutter\flutter_windows_3.10.6-stable\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (3 weeks ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0-rc3)
    • Android SDK at C:\Users\jeffb\AppData\Local\Android\sdk
    • Platform android-34, build-tools 35.0.0-rc3
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.9.7)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.9.34902.65
    • Windows 10 SDK version 10.0.22621.0

[✓] Android Studio (version 2023.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)

[✓] IntelliJ IDEA Community Edition (version 2024.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.89.1)
    • VS Code at C:\Users\jeffb\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.54.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.4412]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 125.0.6422.141
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 125.0.2535.79

[✓] Network resources
    • All expected network resources are available.

• No issues found!
```

</details>