Repository: flutter
Issue: Android, PhysicalKeyboardKey, usbHidUsage are wrong
Labels: a: text input,platform-android,has reproducible steps,P2,team-text-input,triaged-text-input,found in release: 3.24,found in release: 3.27

### Steps to reproduce

Physical Android device and keyboard are required. The simulator may not have this issue.

1. Connect an Android device through usb, and enable device debug, then connect `<ip>:<port>`
```
adb shell ip addr show wlan0
adb tcpip 5555
adb connect DEVICE_IP_ADDRESS:5555
```
2. Disconnect usb
3. Run the sample code `flutter run -d <ip>:<port>`
4. Connect a physical keyboard to the Android device
5. Click some keys

### Expected results

Click any keys on the physical keyboard, the `usbHideUsage`  in `PhysicalKeyboardKey` should be right.

### Actual results

See the screenshot.

The correct `PhysicalKeyboardKey` should be `PhysicalKeyboardKey (usbHidUsage: "0x00070004", debugName: "Key A")` if I click `a`.

https://github.com/flutter/flutter/blob/97596e589561b508b7b15cd6c6f04ecf5a5e15e2/packages/flutter/lib/src/services/keyboard_key.g.dart#L3864

`event.physicalKey.usbHidUsage & 0xFFFF` should be the value of the following pdf.

https://github.com/flutter/flutter/blob/97596e589561b508b7b15cd6c6f04ecf5a5e15e2/packages/flutter/lib/src/services/keyboard_key.g.dart#L3543


### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Keyboard Event Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const KeyboardEventPage(),
    );
  }
}

class KeyboardEventPage extends StatefulWidget {
  const KeyboardEventPage({super.key});

  @override
  _KeyboardEventPageState createState() => _KeyboardEventPageState();
}

class _KeyboardEventPageState extends State<KeyboardEventPage> {
  final FocusNode _focusNode = FocusNode();

  @override
  Widget build(BuildContext context) {
    final child = Scaffold(
      appBar: AppBar(
        title: const Text('Keyboard Event Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const SizedBox(height: 20),
          ],
        ),
      ),
    );
    return FocusScope(
      autofocus: true,
      child: Focus(
        autofocus: true,
        canRequestFocus: true,
        focusNode: _focusNode,
        onKeyEvent: (node, event) {
          if (event is KeyDownEvent) {
            debugPrint('Key down, logicalKey: ${event.logicalKey}');
            debugPrint('Key down, physicalKey: ${event.physicalKey}');
          }
          return KeyEventResult.handled;
        },
        child: child,
      ),
    );
  }
}

```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

![image](https://github.com/user-attachments/assets/924f0e86-31c3-4e69-8720-dbfba674fea9)


</details>


### Logs

<details open><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[✓] Flutter (Channel stable, 3.24.5, on Ubuntu 22.04.5 LTS 6.8.0-49-generic, locale en_US.UTF-8)
    • Flutter version 3.24.5 on channel stable at /home/username/workspace/devenv/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision dec2ee5c1f (10 days ago), 2024-11-13 11:13:06 -0800
    • Engine revision a18df97ca5
    • Dart version 3.5.4
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /home/username/Android/Sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at: /opt/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 14.0.0-1ubuntu1.1
    • cmake version 3.30.3
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[✓] Android Studio (version 2024.1)
    • Android Studio at /opt/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.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.95.3)
    • VS Code at /usr/share/code
    • Flutter extension version 3.100.0

[!] Proxy Configuration
    • HTTP_PROXY is set
    ! NO_PROXY is not set

[✓] Connected device (3 available)
    • V2241A (mobile) • 192.168.1.9:5555 • android-arm64  • Android 14 (API 34)
    • Linux (desktop) • linux            • linux-x64      • Ubuntu 22.04.5 LTS 6.8.0-49-generic
    • Chrome (web)    • chrome           • web-javascript • Google Chrome 130.0.6723.69

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.
```

</details>