mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This adds support for the fn key on macOS. It adds it to the key mappings as a supplemental mapping that overwrites the one from the Chrome headers, since the chrome headers have a TODO, but no implementation of the key. Also, ignore the fn key entirely on macOS. This is because On macOS laptop keyboards, the fn key is used to generate home/end and f1-f12, but it ALSO generates a separate down/up event for the fn key itself. Other platforms hide the fn key, and just produce the key that it is combined with, so to keep it possible to write cross platform code that looks at which keys are pressed, the fn key is ignored.
96 lines
3.7 KiB
Cheetah
96 lines
3.7 KiB
Cheetah
// Copyright 2019 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// DO NOT EDIT -- DO NOT EDIT -- DO NOT EDIT
|
|
// This file is generated by dev/tools/gen_keycodes/bin/gen_keycodes.dart and
|
|
// should not be edited directly.
|
|
//
|
|
// Edit the template dev/tools/gen_keycodes/data/keyboard_maps.tmpl instead.
|
|
// See dev/tools/gen_keycodes/README.md for more information.
|
|
|
|
import 'keyboard_key.dart';
|
|
|
|
/// Maps Android-specific key codes to the matching [LogicalKeyboardKey].
|
|
const Map<int, LogicalKeyboardKey> kAndroidToLogicalKey = <int, LogicalKeyboardKey>{
|
|
@@@ANDROID_KEY_CODE_MAP@@@
|
|
};
|
|
|
|
/// Maps Android-specific scan codes to the matching [PhysicalKeyboardKey].
|
|
const Map<int, PhysicalKeyboardKey> kAndroidToPhysicalKey = <int, PhysicalKeyboardKey>{
|
|
@@@ANDROID_SCAN_CODE_MAP@@@
|
|
};
|
|
|
|
/// A map of Android key codes which have printable representations, but appear
|
|
/// on the number pad. Used to provide different key objects for keys like
|
|
/// KEY_EQUALS and NUMPAD_EQUALS.
|
|
const Map<int, LogicalKeyboardKey> kAndroidNumPadMap = <int, LogicalKeyboardKey>{
|
|
@@@ANDROID_NUMPAD_MAP@@@
|
|
};
|
|
|
|
/// Maps Fuchsia-specific IDs to the matching [LogicalKeyboardKey].
|
|
const Map<int, LogicalKeyboardKey> kFuchsiaToLogicalKey = <int, LogicalKeyboardKey>{
|
|
@@@FUCHSIA_KEY_CODE_MAP@@@
|
|
};
|
|
|
|
/// Maps Fuchsia-specific USB HID Usage IDs to the matching
|
|
/// [PhysicalKeyboardKey].
|
|
const Map<int, PhysicalKeyboardKey> kFuchsiaToPhysicalKey = <int, PhysicalKeyboardKey>{
|
|
@@@FUCHSIA_SCAN_CODE_MAP@@@
|
|
};
|
|
|
|
/// Maps macOS-specific key code values representing [PhysicalKeyboardKey].
|
|
///
|
|
/// MacOS doesn't provide a scan code, but a virtual keycode to represent a physical key.
|
|
const Map<int, PhysicalKeyboardKey> kMacOsToPhysicalKey = <int, PhysicalKeyboardKey>{
|
|
@@@MACOS_SCAN_CODE_MAP@@@
|
|
};
|
|
|
|
/// A map of macOS key codes which have printable representations, but appear
|
|
/// on the number pad. Used to provide different key objects for keys like
|
|
/// KEY_EQUALS and NUMPAD_EQUALS.
|
|
const Map<int, LogicalKeyboardKey> kMacOsNumPadMap = <int, LogicalKeyboardKey>{
|
|
@@@MACOS_NUMPAD_MAP@@@
|
|
};
|
|
|
|
/// A map of macOS key codes which are numbered function keys, so that they
|
|
/// can be excluded when asking "is the Fn modifier down?".
|
|
const Map<int, LogicalKeyboardKey> kMacOsFunctionKeyMap = <int, LogicalKeyboardKey>{
|
|
@@@MACOS_FUNCTION_KEY_MAP@@@
|
|
};
|
|
|
|
/// Maps GLFW-specific key codes to the matching [LogicalKeyboardKey].
|
|
const Map<int, LogicalKeyboardKey> kGlfwToLogicalKey = <int, LogicalKeyboardKey>{
|
|
@@@GLFW_KEY_CODE_MAP@@@
|
|
};
|
|
|
|
/// A map of GLFW key codes which have printable representations, but appear
|
|
/// on the number pad. Used to provide different key objects for keys like
|
|
/// KEY_EQUALS and NUMPAD_EQUALS.
|
|
const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
|
|
@@@GLFW_NUMPAD_MAP@@@
|
|
};
|
|
|
|
/// Maps XKB specific key code values representing [PhysicalKeyboardKey].
|
|
const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboardKey>{
|
|
@@@XKB_SCAN_CODE_MAP@@@
|
|
};
|
|
|
|
/// Maps Web KeyboardEvent codes to the matching [LogicalKeyboardKey].
|
|
const Map<String, LogicalKeyboardKey> kWebToLogicalKey = <String, LogicalKeyboardKey>{
|
|
@@@WEB_LOGICAL_KEY_MAP@@@
|
|
};
|
|
|
|
/// Maps Web KeyboardEvent codes to the matching [PhysicalKeyboardKey].
|
|
const Map<String, PhysicalKeyboardKey> kWebToPhysicalKey = <String, PhysicalKeyboardKey>{
|
|
@@@WEB_PHYSICAL_KEY_MAP@@@
|
|
};
|
|
|
|
/// A map of Web KeyboardEvent codes which have printable representations, but appear
|
|
/// on the number pad. Used to provide different key objects for keys like
|
|
/// KEY_EQUALS and NUMPAD_EQUALS.
|
|
const Map<String, LogicalKeyboardKey> kWebNumPadMap = <String, LogicalKeyboardKey>{
|
|
@@@WEB_NUMPAD_MAP@@@
|
|
};
|
|
|