blob: a39c25933c70e0242197c246b499708378de9428 [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/foundation.dart';
export 'package:flutter/foundation.dart' show DiagnosticPropertiesBuilder;
// 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_key.tmpl instead.
// See dev/tools/gen_keycodes/README.md for more information.
/// A base class for all keyboard key types.
///
/// See also:
///
/// * [PhysicalKeyboardKey], a class with static values that describe the keys
/// that are returned from [RawKeyEvent.physicalKey].
/// * [LogicalKeyboardKey], a class with static values that describe the keys
/// that are returned from [RawKeyEvent.logicalKey].
abstract class KeyboardKey with Diagnosticable {
/// Abstract const constructor. This constructor enables subclasses to provide
/// const constructors so that they can be used in const expressions.
const KeyboardKey();
}
/// A class with static values that describe the keys that are returned from
/// [RawKeyEvent.logicalKey].
///
/// These represent *logical* keys, which are keys which are interpreted in the
/// context of any modifiers, modes, or keyboard layouts which may be in effect.
///
/// This is contrast to [PhysicalKeyboardKey], which represents a physical key
/// in a particular location on the keyboard, without regard for the modifier
/// state, mode, or keyboard layout.
///
/// As an example, if you wanted to implement an app where the "Q" key "quit"
/// something, you'd want to look at the logical key to detect this, since you
/// would like to have it match the key with "Q" on it, instead of always
/// looking for "the key next to the TAB key", since on a French keyboard,
/// the key next to the TAB key has an "A" on it.
///
/// Conversely, if you wanted a game where the key next to the CAPS LOCK (the
/// "A" key on a QWERTY keyboard) moved the player to the left, you'd want to
/// look at the physical key to make sure that regardless of the character the
/// key produces, you got the key that is in that location on the keyboard.
///
/// {@tool dartpad}
/// This example shows how to detect if the user has selected the logical "Q"
/// key and handle the key if they have.
///
/// ** See code in examples/api/lib/services/keyboard_key/logical_keyboard_key.0.dart **
/// {@end-tool}
/// See also:
///
/// * [RawKeyEvent], the keyboard event object received by widgets that listen
/// to keyboard events.
/// * [Focus.onKey], the handler on a widget that lets you handle key events.
/// * [RawKeyboardListener], a widget used to listen to keyboard events (but
/// not handle them).
@immutable
class LogicalKeyboardKey extends KeyboardKey {
/// Creates a new LogicalKeyboardKey object for a key ID.
const LogicalKeyboardKey(this.keyId);
/// A unique code representing this key.
///
/// This is an opaque code. It should not be unpacked to derive information
/// from it, as the representation of the code could change at any time.
final int keyId;
// Returns the bits that are not included in [valueMask], shifted to the
// right.
//
// For example, if the input is 0x12abcdabcd, then the result is 0x12.
//
// This is mostly equivalent to a right shift, resolving the problem that
// JavaScript only support 32-bit bitwise operation and needs to use division
// instead.
static int _nonValueBits(int n) {
// `n >> valueMaskWidth` is equivalent to `n / divisorForValueMask`.
const int divisorForValueMask = valueMask + 1;
const int valueMaskWidth = 32;
// Equivalent to assert(divisorForValueMask == (1 << valueMaskWidth)).
const int firstDivisorWidth = 28;
assert(divisorForValueMask ==
(1 << firstDivisorWidth) * (1 << (valueMaskWidth - firstDivisorWidth)));
// JS only supports up to 2^53 - 1, therefore non-value bits can only
// contain (maxSafeIntegerWidth - valueMaskWidth) bits.
const int maxSafeIntegerWidth = 52;
const int nonValueMask = (1 << (maxSafeIntegerWidth - valueMaskWidth)) - 1;
if (kIsWeb) {
return (n / divisorForValueMask).floor() & nonValueMask;
} else {
return (n >> valueMaskWidth) & nonValueMask;
}
}
static String? _unicodeKeyLabel(int keyId) {
if (_nonValueBits(keyId) == 0) {
return String.fromCharCode(keyId).toUpperCase();
}
return null;
}
/// A description representing the character produced by a [RawKeyEvent].
///
/// This value is useful for providing readable strings for keys or keyboard
/// shortcuts. Do not use this value to compare equality of keys; compare
/// [keyId] instead.
///
/// For printable keys, this is usually the printable character in upper case
/// ignoring modifiers or combining keys, such as 'A', '1', or '/'. This
/// might also return accented letters (such as 'Ù') for keys labeled as so,
/// but not if such character is a result from preceding combining keys ('`̀'
/// followed by key U).
///
/// For other keys, [keyLabel] looks up the full key name from a predefined
/// map, such as 'F1', 'Shift Left', or 'Media Down'. This value is an empty
/// string if there's no key label data for a key.
///
/// For the printable representation that takes into consideration the
/// modifiers and combining keys, see [RawKeyEvent.character].
///
/// {@macro flutter.services.RawKeyEventData.keyLabel}
String get keyLabel {
return _unicodeKeyLabel(keyId)
?? _keyLabels[keyId]
?? '';
}
/// The debug string to print for this keyboard key, which will be null in
/// release mode.
///
/// For printable keys, this is usually a more descriptive name related to
/// [keyLabel], such as 'Key A', 'Digit 1', 'Backslash'. This might
/// also return accented letters (such as 'Key Ù') for keys labeled as so.
///
/// For other keys, this looks up the full key name from a predefined map (the
/// same value as [keyLabel]), such as 'F1', 'Shift Left', or 'Media Down'. If
/// there's no key label data for a key, this returns a name that explains the
/// ID (such as 'Key with ID 0x00100012345').
String? get debugName {
String? result;
assert(() {
result = _keyLabels[keyId];
if (result == null) {
final String? unicodeKeyLabel = _unicodeKeyLabel(keyId);
if (unicodeKeyLabel != null) {
result = 'Key $unicodeKeyLabel';
} else {
result = 'Key with ID 0x${keyId.toRadixString(16).padLeft(11, '0')}';
}
}
return true;
}());
return result;
}
@override
int get hashCode => keyId.hashCode;
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
if (other.runtimeType != runtimeType) {
return false;
}
return other is LogicalKeyboardKey
&& other.keyId == keyId;
}
/// Returns the [LogicalKeyboardKey] constant that matches the given ID, or
/// null, if not found.
static LogicalKeyboardKey? findKeyByKeyId(int keyId) => _knownLogicalKeys[keyId];
/// Returns true if the given label represents a Unicode control character.
///
/// Examples of control characters are characters like "U+000A LINE FEED (LF)"
/// or "U+001B ESCAPE (ESC)".
///
/// See <https://en.wikipedia.org/wiki/Unicode_control_characters> for more
/// information.
///
/// Used by [RawKeyEvent] subclasses to help construct IDs.
static bool isControlCharacter(String label) {
if (label.length != 1) {
return false;
}
final int codeUnit = label.codeUnitAt(0);
return (codeUnit <= 0x1f && codeUnit >= 0x00) || (codeUnit >= 0x7f && codeUnit <= 0x9f);
}
/// Returns true if the [keyId] of this object is one that is auto-generated by
/// Flutter.
///
/// Auto-generated key IDs are generated in response to platform key codes
/// which Flutter doesn't recognize, and their IDs shouldn't be used in a
/// persistent way.
///
/// Auto-generated IDs should be a rare occurrence: Flutter supports most keys.
///
/// Keys that generate Unicode characters (even if unknown to Flutter) will
/// not return true for [isAutogenerated], since they will be assigned a
/// Unicode-based code that will remain stable.
///
/// If Flutter adds support for a previously unsupported key code, the ID it
/// reports will change, but the ID will remain stable on the platform it is
/// produced on until Flutter adds support for recognizing it.
///
/// So, hypothetically, if Android added a new key code of 0xffff,
/// representing a new "do what I mean" key, then the auto-generated code
/// would be 0x1020000ffff, but once Flutter added the "doWhatIMean" key to
/// the definitions below, the new code would be 0x0020000ffff for all
/// platforms that had a "do what I mean" key from then on.
bool get isAutogenerated => (keyId & planeMask) >= startOfPlatformPlanes;
/// Returns a set of pseudo-key synonyms for the given `key`.
///
/// This allows finding the pseudo-keys that also represents a concrete
/// `key` so that a class with a key map can match pseudo-keys as well as the
/// actual generated keys.
///
/// The pseudo-keys returned in the set are typically used to represent keys
/// which appear in multiple places on the keyboard, such as the [shift],
/// [alt], [control], and [meta] keys. The keys in the returned set won't ever
/// be generated directly, but if a more specific key event is received, then
/// this set can be used to find the more general pseudo-key. For example, if
/// this is a [shiftLeft] key, this accessor will return the set
/// `<LogicalKeyboardKey>{ shift }`.
Set<LogicalKeyboardKey> get synonyms {
final LogicalKeyboardKey? result = _synonyms[this];
return result == null ? <LogicalKeyboardKey>{} : <LogicalKeyboardKey>{result};
}
/// Takes a set of keys, and returns the same set, but with any keys that have
/// synonyms replaced.
///
/// It is used, for example, to make sets of keys with members like
/// [controlRight] and [controlLeft] and convert that set to contain just
/// [control], so that the question "is any control key down?" can be asked.
static Set<LogicalKeyboardKey> collapseSynonyms(Set<LogicalKeyboardKey> input) {
final Set<LogicalKeyboardKey> result = <LogicalKeyboardKey>{};
for (final LogicalKeyboardKey key in input) {
final LogicalKeyboardKey? synonym = _synonyms[key];
result.add(synonym ?? key);
}
return result;
}
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(StringProperty('keyId', '0x${keyId.toRadixString(16).padLeft(8, '0')}'));
properties.add(StringProperty('keyLabel', keyLabel));
properties.add(StringProperty('debugName', debugName, defaultValue: null));
}
/// Mask for the 32-bit value portion of the key code.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int valueMask = 0x000ffffffff;
/// Mask for the plane prefix portion of the key code.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int planeMask = 0x0ff00000000;
/// The plane value for keys which have a Unicode representation.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int unicodePlane = 0x00000000000;
/// The plane value for keys defined by Chromium and does not have a Unicode
/// representation.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int unprintablePlane = 0x00100000000;
/// The plane value for keys defined by Flutter.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int flutterPlane = 0x00200000000;
/// The platform plane with the lowest mask value, beyond which the keys are
/// considered autogenerated.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int startOfPlatformPlanes = 0x01100000000;
/// The plane value for the private keys defined by the Android embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int androidPlane = 0x01100000000;
/// The plane value for the private keys defined by the Fuchsia embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int fuchsiaPlane = 0x01200000000;
/// The plane value for the private keys defined by the iOS embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int iosPlane = 0x01300000000;
/// The plane value for the private keys defined by the macOS embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int macosPlane = 0x01400000000;
/// The plane value for the private keys defined by the Gtk embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int gtkPlane = 0x01500000000;
/// The plane value for the private keys defined by the Windows embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int windowsPlane = 0x01600000000;
/// The plane value for the private keys defined by the Web embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int webPlane = 0x01700000000;
/// The plane value for the private keys defined by the GLFW embedding.
///
/// This is used by platform-specific code to generate Flutter key codes.
static const int glfwPlane = 0x01800000000;
/// Represents the logical "Space" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey space = LogicalKeyboardKey(0x00000000020);
/// Represents the logical "Exclamation" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey exclamation = LogicalKeyboardKey(0x00000000021);
/// Represents the logical "Quote" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey quote = LogicalKeyboardKey(0x00000000022);
/// Represents the logical "Number Sign" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numberSign = LogicalKeyboardKey(0x00000000023);
/// Represents the logical "Dollar" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey dollar = LogicalKeyboardKey(0x00000000024);
/// Represents the logical "Percent" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey percent = LogicalKeyboardKey(0x00000000025);
/// Represents the logical "Ampersand" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey ampersand = LogicalKeyboardKey(0x00000000026);
/// Represents the logical "Quote Single" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey quoteSingle = LogicalKeyboardKey(0x00000000027);
/// Represents the logical "Parenthesis Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey parenthesisLeft = LogicalKeyboardKey(0x00000000028);
/// Represents the logical "Parenthesis Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey parenthesisRight = LogicalKeyboardKey(0x00000000029);
/// Represents the logical "Asterisk" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey asterisk = LogicalKeyboardKey(0x0000000002a);
/// Represents the logical "Add" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey add = LogicalKeyboardKey(0x0000000002b);
/// Represents the logical "Comma" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey comma = LogicalKeyboardKey(0x0000000002c);
/// Represents the logical "Minus" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey minus = LogicalKeyboardKey(0x0000000002d);
/// Represents the logical "Period" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey period = LogicalKeyboardKey(0x0000000002e);
/// Represents the logical "Slash" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey slash = LogicalKeyboardKey(0x0000000002f);
/// Represents the logical "Digit 0" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit0 = LogicalKeyboardKey(0x00000000030);
/// Represents the logical "Digit 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit1 = LogicalKeyboardKey(0x00000000031);
/// Represents the logical "Digit 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit2 = LogicalKeyboardKey(0x00000000032);
/// Represents the logical "Digit 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit3 = LogicalKeyboardKey(0x00000000033);
/// Represents the logical "Digit 4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit4 = LogicalKeyboardKey(0x00000000034);
/// Represents the logical "Digit 5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit5 = LogicalKeyboardKey(0x00000000035);
/// Represents the logical "Digit 6" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit6 = LogicalKeyboardKey(0x00000000036);
/// Represents the logical "Digit 7" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit7 = LogicalKeyboardKey(0x00000000037);
/// Represents the logical "Digit 8" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit8 = LogicalKeyboardKey(0x00000000038);
/// Represents the logical "Digit 9" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey digit9 = LogicalKeyboardKey(0x00000000039);
/// Represents the logical "Colon" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colon = LogicalKeyboardKey(0x0000000003a);
/// Represents the logical "Semicolon" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey semicolon = LogicalKeyboardKey(0x0000000003b);
/// Represents the logical "Less" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey less = LogicalKeyboardKey(0x0000000003c);
/// Represents the logical "Equal" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey equal = LogicalKeyboardKey(0x0000000003d);
/// Represents the logical "Greater" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey greater = LogicalKeyboardKey(0x0000000003e);
/// Represents the logical "Question" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey question = LogicalKeyboardKey(0x0000000003f);
/// Represents the logical "At" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey at = LogicalKeyboardKey(0x00000000040);
/// Represents the logical "Bracket Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey bracketLeft = LogicalKeyboardKey(0x0000000005b);
/// Represents the logical "Backslash" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey backslash = LogicalKeyboardKey(0x0000000005c);
/// Represents the logical "Bracket Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey bracketRight = LogicalKeyboardKey(0x0000000005d);
/// Represents the logical "Caret" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey caret = LogicalKeyboardKey(0x0000000005e);
/// Represents the logical "Underscore" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey underscore = LogicalKeyboardKey(0x0000000005f);
/// Represents the logical "Backquote" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey backquote = LogicalKeyboardKey(0x00000000060);
/// Represents the logical "Key A" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyA = LogicalKeyboardKey(0x00000000061);
/// Represents the logical "Key B" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyB = LogicalKeyboardKey(0x00000000062);
/// Represents the logical "Key C" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyC = LogicalKeyboardKey(0x00000000063);
/// Represents the logical "Key D" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyD = LogicalKeyboardKey(0x00000000064);
/// Represents the logical "Key E" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyE = LogicalKeyboardKey(0x00000000065);
/// Represents the logical "Key F" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyF = LogicalKeyboardKey(0x00000000066);
/// Represents the logical "Key G" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyG = LogicalKeyboardKey(0x00000000067);
/// Represents the logical "Key H" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyH = LogicalKeyboardKey(0x00000000068);
/// Represents the logical "Key I" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyI = LogicalKeyboardKey(0x00000000069);
/// Represents the logical "Key J" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyJ = LogicalKeyboardKey(0x0000000006a);
/// Represents the logical "Key K" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyK = LogicalKeyboardKey(0x0000000006b);
/// Represents the logical "Key L" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyL = LogicalKeyboardKey(0x0000000006c);
/// Represents the logical "Key M" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyM = LogicalKeyboardKey(0x0000000006d);
/// Represents the logical "Key N" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyN = LogicalKeyboardKey(0x0000000006e);
/// Represents the logical "Key O" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyO = LogicalKeyboardKey(0x0000000006f);
/// Represents the logical "Key P" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyP = LogicalKeyboardKey(0x00000000070);
/// Represents the logical "Key Q" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyQ = LogicalKeyboardKey(0x00000000071);
/// Represents the logical "Key R" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyR = LogicalKeyboardKey(0x00000000072);
/// Represents the logical "Key S" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyS = LogicalKeyboardKey(0x00000000073);
/// Represents the logical "Key T" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyT = LogicalKeyboardKey(0x00000000074);
/// Represents the logical "Key U" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyU = LogicalKeyboardKey(0x00000000075);
/// Represents the logical "Key V" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyV = LogicalKeyboardKey(0x00000000076);
/// Represents the logical "Key W" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyW = LogicalKeyboardKey(0x00000000077);
/// Represents the logical "Key X" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyX = LogicalKeyboardKey(0x00000000078);
/// Represents the logical "Key Y" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyY = LogicalKeyboardKey(0x00000000079);
/// Represents the logical "Key Z" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey keyZ = LogicalKeyboardKey(0x0000000007a);
/// Represents the logical "Brace Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey braceLeft = LogicalKeyboardKey(0x0000000007b);
/// Represents the logical "Bar" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey bar = LogicalKeyboardKey(0x0000000007c);
/// Represents the logical "Brace Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey braceRight = LogicalKeyboardKey(0x0000000007d);
/// Represents the logical "Tilde" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tilde = LogicalKeyboardKey(0x0000000007e);
/// Represents the logical "Unidentified" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey unidentified = LogicalKeyboardKey(0x00100000001);
/// Represents the logical "Backspace" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey backspace = LogicalKeyboardKey(0x00100000008);
/// Represents the logical "Tab" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tab = LogicalKeyboardKey(0x00100000009);
/// Represents the logical "Enter" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey enter = LogicalKeyboardKey(0x0010000000d);
/// Represents the logical "Escape" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey escape = LogicalKeyboardKey(0x0010000001b);
/// Represents the logical "Delete" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey delete = LogicalKeyboardKey(0x0010000007f);
/// Represents the logical "Accel" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey accel = LogicalKeyboardKey(0x00100000101);
/// Represents the logical "Alt Graph" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey altGraph = LogicalKeyboardKey(0x00100000103);
/// Represents the logical "Caps Lock" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey capsLock = LogicalKeyboardKey(0x00100000104);
/// Represents the logical "Fn" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey fn = LogicalKeyboardKey(0x00100000106);
/// Represents the logical "Fn Lock" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey fnLock = LogicalKeyboardKey(0x00100000107);
/// Represents the logical "Hyper" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hyper = LogicalKeyboardKey(0x00100000108);
/// Represents the logical "Num Lock" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numLock = LogicalKeyboardKey(0x0010000010a);
/// Represents the logical "Scroll Lock" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey scrollLock = LogicalKeyboardKey(0x0010000010c);
/// Represents the logical "Super" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey superKey = LogicalKeyboardKey(0x0010000010e);
/// Represents the logical "Symbol" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey symbol = LogicalKeyboardKey(0x0010000010f);
/// Represents the logical "Symbol Lock" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey symbolLock = LogicalKeyboardKey(0x00100000110);
/// Represents the logical "Shift Level 5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey shiftLevel5 = LogicalKeyboardKey(0x00100000111);
/// Represents the logical "Arrow Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey arrowDown = LogicalKeyboardKey(0x00100000301);
/// Represents the logical "Arrow Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey arrowLeft = LogicalKeyboardKey(0x00100000302);
/// Represents the logical "Arrow Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey arrowRight = LogicalKeyboardKey(0x00100000303);
/// Represents the logical "Arrow Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey arrowUp = LogicalKeyboardKey(0x00100000304);
/// Represents the logical "End" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey end = LogicalKeyboardKey(0x00100000305);
/// Represents the logical "Home" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey home = LogicalKeyboardKey(0x00100000306);
/// Represents the logical "Page Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pageDown = LogicalKeyboardKey(0x00100000307);
/// Represents the logical "Page Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pageUp = LogicalKeyboardKey(0x00100000308);
/// Represents the logical "Clear" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey clear = LogicalKeyboardKey(0x00100000401);
/// Represents the logical "Copy" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey copy = LogicalKeyboardKey(0x00100000402);
/// Represents the logical "Cr Sel" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey crSel = LogicalKeyboardKey(0x00100000403);
/// Represents the logical "Cut" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey cut = LogicalKeyboardKey(0x00100000404);
/// Represents the logical "Erase Eof" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey eraseEof = LogicalKeyboardKey(0x00100000405);
/// Represents the logical "Ex Sel" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey exSel = LogicalKeyboardKey(0x00100000406);
/// Represents the logical "Insert" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey insert = LogicalKeyboardKey(0x00100000407);
/// Represents the logical "Paste" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey paste = LogicalKeyboardKey(0x00100000408);
/// Represents the logical "Redo" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey redo = LogicalKeyboardKey(0x00100000409);
/// Represents the logical "Undo" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey undo = LogicalKeyboardKey(0x0010000040a);
/// Represents the logical "Accept" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey accept = LogicalKeyboardKey(0x00100000501);
/// Represents the logical "Again" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey again = LogicalKeyboardKey(0x00100000502);
/// Represents the logical "Attn" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey attn = LogicalKeyboardKey(0x00100000503);
/// Represents the logical "Cancel" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey cancel = LogicalKeyboardKey(0x00100000504);
/// Represents the logical "Context Menu" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey contextMenu = LogicalKeyboardKey(0x00100000505);
/// Represents the logical "Execute" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey execute = LogicalKeyboardKey(0x00100000506);
/// Represents the logical "Find" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey find = LogicalKeyboardKey(0x00100000507);
/// Represents the logical "Help" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey help = LogicalKeyboardKey(0x00100000508);
/// Represents the logical "Pause" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pause = LogicalKeyboardKey(0x00100000509);
/// Represents the logical "Play" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey play = LogicalKeyboardKey(0x0010000050a);
/// Represents the logical "Props" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey props = LogicalKeyboardKey(0x0010000050b);
/// Represents the logical "Select" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey select = LogicalKeyboardKey(0x0010000050c);
/// Represents the logical "Zoom In" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey zoomIn = LogicalKeyboardKey(0x0010000050d);
/// Represents the logical "Zoom Out" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey zoomOut = LogicalKeyboardKey(0x0010000050e);
/// Represents the logical "Brightness Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey brightnessDown = LogicalKeyboardKey(0x00100000601);
/// Represents the logical "Brightness Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey brightnessUp = LogicalKeyboardKey(0x00100000602);
/// Represents the logical "Camera" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey camera = LogicalKeyboardKey(0x00100000603);
/// Represents the logical "Eject" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey eject = LogicalKeyboardKey(0x00100000604);
/// Represents the logical "Log Off" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey logOff = LogicalKeyboardKey(0x00100000605);
/// Represents the logical "Power" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey power = LogicalKeyboardKey(0x00100000606);
/// Represents the logical "Power Off" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey powerOff = LogicalKeyboardKey(0x00100000607);
/// Represents the logical "Print Screen" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey printScreen = LogicalKeyboardKey(0x00100000608);
/// Represents the logical "Hibernate" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hibernate = LogicalKeyboardKey(0x00100000609);
/// Represents the logical "Standby" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey standby = LogicalKeyboardKey(0x0010000060a);
/// Represents the logical "Wake Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey wakeUp = LogicalKeyboardKey(0x0010000060b);
/// Represents the logical "All Candidates" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey allCandidates = LogicalKeyboardKey(0x00100000701);
/// Represents the logical "Alphanumeric" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey alphanumeric = LogicalKeyboardKey(0x00100000702);
/// Represents the logical "Code Input" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey codeInput = LogicalKeyboardKey(0x00100000703);
/// Represents the logical "Compose" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey compose = LogicalKeyboardKey(0x00100000704);
/// Represents the logical "Convert" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey convert = LogicalKeyboardKey(0x00100000705);
/// Represents the logical "Final Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey finalMode = LogicalKeyboardKey(0x00100000706);
/// Represents the logical "Group First" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey groupFirst = LogicalKeyboardKey(0x00100000707);
/// Represents the logical "Group Last" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey groupLast = LogicalKeyboardKey(0x00100000708);
/// Represents the logical "Group Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey groupNext = LogicalKeyboardKey(0x00100000709);
/// Represents the logical "Group Previous" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey groupPrevious = LogicalKeyboardKey(0x0010000070a);
/// Represents the logical "Mode Change" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey modeChange = LogicalKeyboardKey(0x0010000070b);
/// Represents the logical "Next Candidate" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey nextCandidate = LogicalKeyboardKey(0x0010000070c);
/// Represents the logical "Non Convert" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey nonConvert = LogicalKeyboardKey(0x0010000070d);
/// Represents the logical "Previous Candidate" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey previousCandidate = LogicalKeyboardKey(0x0010000070e);
/// Represents the logical "Process" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey process = LogicalKeyboardKey(0x0010000070f);
/// Represents the logical "Single Candidate" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey singleCandidate = LogicalKeyboardKey(0x00100000710);
/// Represents the logical "Hangul Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hangulMode = LogicalKeyboardKey(0x00100000711);
/// Represents the logical "Hanja Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hanjaMode = LogicalKeyboardKey(0x00100000712);
/// Represents the logical "Junja Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey junjaMode = LogicalKeyboardKey(0x00100000713);
/// Represents the logical "Eisu" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey eisu = LogicalKeyboardKey(0x00100000714);
/// Represents the logical "Hankaku" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hankaku = LogicalKeyboardKey(0x00100000715);
/// Represents the logical "Hiragana" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hiragana = LogicalKeyboardKey(0x00100000716);
/// Represents the logical "Hiragana Katakana" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey hiraganaKatakana = LogicalKeyboardKey(0x00100000717);
/// Represents the logical "Kana Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey kanaMode = LogicalKeyboardKey(0x00100000718);
/// Represents the logical "Kanji Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey kanjiMode = LogicalKeyboardKey(0x00100000719);
/// Represents the logical "Katakana" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey katakana = LogicalKeyboardKey(0x0010000071a);
/// Represents the logical "Romaji" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey romaji = LogicalKeyboardKey(0x0010000071b);
/// Represents the logical "Zenkaku" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey zenkaku = LogicalKeyboardKey(0x0010000071c);
/// Represents the logical "Zenkaku Hankaku" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey zenkakuHankaku = LogicalKeyboardKey(0x0010000071d);
/// Represents the logical "F1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f1 = LogicalKeyboardKey(0x00100000801);
/// Represents the logical "F2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f2 = LogicalKeyboardKey(0x00100000802);
/// Represents the logical "F3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f3 = LogicalKeyboardKey(0x00100000803);
/// Represents the logical "F4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f4 = LogicalKeyboardKey(0x00100000804);
/// Represents the logical "F5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f5 = LogicalKeyboardKey(0x00100000805);
/// Represents the logical "F6" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f6 = LogicalKeyboardKey(0x00100000806);
/// Represents the logical "F7" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f7 = LogicalKeyboardKey(0x00100000807);
/// Represents the logical "F8" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f8 = LogicalKeyboardKey(0x00100000808);
/// Represents the logical "F9" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f9 = LogicalKeyboardKey(0x00100000809);
/// Represents the logical "F10" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f10 = LogicalKeyboardKey(0x0010000080a);
/// Represents the logical "F11" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f11 = LogicalKeyboardKey(0x0010000080b);
/// Represents the logical "F12" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f12 = LogicalKeyboardKey(0x0010000080c);
/// Represents the logical "F13" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f13 = LogicalKeyboardKey(0x0010000080d);
/// Represents the logical "F14" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f14 = LogicalKeyboardKey(0x0010000080e);
/// Represents the logical "F15" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f15 = LogicalKeyboardKey(0x0010000080f);
/// Represents the logical "F16" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f16 = LogicalKeyboardKey(0x00100000810);
/// Represents the logical "F17" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f17 = LogicalKeyboardKey(0x00100000811);
/// Represents the logical "F18" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f18 = LogicalKeyboardKey(0x00100000812);
/// Represents the logical "F19" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f19 = LogicalKeyboardKey(0x00100000813);
/// Represents the logical "F20" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f20 = LogicalKeyboardKey(0x00100000814);
/// Represents the logical "F21" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f21 = LogicalKeyboardKey(0x00100000815);
/// Represents the logical "F22" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f22 = LogicalKeyboardKey(0x00100000816);
/// Represents the logical "F23" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f23 = LogicalKeyboardKey(0x00100000817);
/// Represents the logical "F24" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey f24 = LogicalKeyboardKey(0x00100000818);
/// Represents the logical "Soft 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft1 = LogicalKeyboardKey(0x00100000901);
/// Represents the logical "Soft 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft2 = LogicalKeyboardKey(0x00100000902);
/// Represents the logical "Soft 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft3 = LogicalKeyboardKey(0x00100000903);
/// Represents the logical "Soft 4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft4 = LogicalKeyboardKey(0x00100000904);
/// Represents the logical "Soft 5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft5 = LogicalKeyboardKey(0x00100000905);
/// Represents the logical "Soft 6" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft6 = LogicalKeyboardKey(0x00100000906);
/// Represents the logical "Soft 7" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft7 = LogicalKeyboardKey(0x00100000907);
/// Represents the logical "Soft 8" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey soft8 = LogicalKeyboardKey(0x00100000908);
/// Represents the logical "Close" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey close = LogicalKeyboardKey(0x00100000a01);
/// Represents the logical "Mail Forward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mailForward = LogicalKeyboardKey(0x00100000a02);
/// Represents the logical "Mail Reply" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mailReply = LogicalKeyboardKey(0x00100000a03);
/// Represents the logical "Mail Send" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mailSend = LogicalKeyboardKey(0x00100000a04);
/// Represents the logical "Media Play Pause" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaPlayPause = LogicalKeyboardKey(0x00100000a05);
/// Represents the logical "Media Stop" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaStop = LogicalKeyboardKey(0x00100000a07);
/// Represents the logical "Media Track Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaTrackNext = LogicalKeyboardKey(0x00100000a08);
/// Represents the logical "Media Track Previous" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaTrackPrevious = LogicalKeyboardKey(0x00100000a09);
/// Represents the logical "New" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey newKey = LogicalKeyboardKey(0x00100000a0a);
/// Represents the logical "Open" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey open = LogicalKeyboardKey(0x00100000a0b);
/// Represents the logical "Print" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey print = LogicalKeyboardKey(0x00100000a0c);
/// Represents the logical "Save" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey save = LogicalKeyboardKey(0x00100000a0d);
/// Represents the logical "Spell Check" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey spellCheck = LogicalKeyboardKey(0x00100000a0e);
/// Represents the logical "Audio Volume Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioVolumeDown = LogicalKeyboardKey(0x00100000a0f);
/// Represents the logical "Audio Volume Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioVolumeUp = LogicalKeyboardKey(0x00100000a10);
/// Represents the logical "Audio Volume Mute" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioVolumeMute = LogicalKeyboardKey(0x00100000a11);
/// Represents the logical "Launch Application 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchApplication2 = LogicalKeyboardKey(0x00100000b01);
/// Represents the logical "Launch Calendar" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchCalendar = LogicalKeyboardKey(0x00100000b02);
/// Represents the logical "Launch Mail" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchMail = LogicalKeyboardKey(0x00100000b03);
/// Represents the logical "Launch Media Player" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchMediaPlayer = LogicalKeyboardKey(0x00100000b04);
/// Represents the logical "Launch Music Player" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchMusicPlayer = LogicalKeyboardKey(0x00100000b05);
/// Represents the logical "Launch Application 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchApplication1 = LogicalKeyboardKey(0x00100000b06);
/// Represents the logical "Launch Screen Saver" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchScreenSaver = LogicalKeyboardKey(0x00100000b07);
/// Represents the logical "Launch Spreadsheet" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchSpreadsheet = LogicalKeyboardKey(0x00100000b08);
/// Represents the logical "Launch Web Browser" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchWebBrowser = LogicalKeyboardKey(0x00100000b09);
/// Represents the logical "Launch Web Cam" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchWebCam = LogicalKeyboardKey(0x00100000b0a);
/// Represents the logical "Launch Word Processor" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchWordProcessor = LogicalKeyboardKey(0x00100000b0b);
/// Represents the logical "Launch Contacts" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchContacts = LogicalKeyboardKey(0x00100000b0c);
/// Represents the logical "Launch Phone" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchPhone = LogicalKeyboardKey(0x00100000b0d);
/// Represents the logical "Launch Assistant" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchAssistant = LogicalKeyboardKey(0x00100000b0e);
/// Represents the logical "Launch Control Panel" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey launchControlPanel = LogicalKeyboardKey(0x00100000b0f);
/// Represents the logical "Browser Back" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserBack = LogicalKeyboardKey(0x00100000c01);
/// Represents the logical "Browser Favorites" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserFavorites = LogicalKeyboardKey(0x00100000c02);
/// Represents the logical "Browser Forward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserForward = LogicalKeyboardKey(0x00100000c03);
/// Represents the logical "Browser Home" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserHome = LogicalKeyboardKey(0x00100000c04);
/// Represents the logical "Browser Refresh" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserRefresh = LogicalKeyboardKey(0x00100000c05);
/// Represents the logical "Browser Search" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserSearch = LogicalKeyboardKey(0x00100000c06);
/// Represents the logical "Browser Stop" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey browserStop = LogicalKeyboardKey(0x00100000c07);
/// Represents the logical "Audio Balance Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioBalanceLeft = LogicalKeyboardKey(0x00100000d01);
/// Represents the logical "Audio Balance Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioBalanceRight = LogicalKeyboardKey(0x00100000d02);
/// Represents the logical "Audio Bass Boost Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioBassBoostDown = LogicalKeyboardKey(0x00100000d03);
/// Represents the logical "Audio Bass Boost Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioBassBoostUp = LogicalKeyboardKey(0x00100000d04);
/// Represents the logical "Audio Fader Front" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioFaderFront = LogicalKeyboardKey(0x00100000d05);
/// Represents the logical "Audio Fader Rear" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioFaderRear = LogicalKeyboardKey(0x00100000d06);
/// Represents the logical "Audio Surround Mode Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioSurroundModeNext = LogicalKeyboardKey(0x00100000d07);
/// Represents the logical "AVR Input" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey avrInput = LogicalKeyboardKey(0x00100000d08);
/// Represents the logical "AVR Power" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey avrPower = LogicalKeyboardKey(0x00100000d09);
/// Represents the logical "Channel Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey channelDown = LogicalKeyboardKey(0x00100000d0a);
/// Represents the logical "Channel Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey channelUp = LogicalKeyboardKey(0x00100000d0b);
/// Represents the logical "Color F0 Red" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colorF0Red = LogicalKeyboardKey(0x00100000d0c);
/// Represents the logical "Color F1 Green" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colorF1Green = LogicalKeyboardKey(0x00100000d0d);
/// Represents the logical "Color F2 Yellow" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colorF2Yellow = LogicalKeyboardKey(0x00100000d0e);
/// Represents the logical "Color F3 Blue" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colorF3Blue = LogicalKeyboardKey(0x00100000d0f);
/// Represents the logical "Color F4 Grey" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colorF4Grey = LogicalKeyboardKey(0x00100000d10);
/// Represents the logical "Color F5 Brown" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey colorF5Brown = LogicalKeyboardKey(0x00100000d11);
/// Represents the logical "Closed Caption Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey closedCaptionToggle = LogicalKeyboardKey(0x00100000d12);
/// Represents the logical "Dimmer" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey dimmer = LogicalKeyboardKey(0x00100000d13);
/// Represents the logical "Display Swap" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey displaySwap = LogicalKeyboardKey(0x00100000d14);
/// Represents the logical "Exit" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey exit = LogicalKeyboardKey(0x00100000d15);
/// Represents the logical "Favorite Clear 0" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteClear0 = LogicalKeyboardKey(0x00100000d16);
/// Represents the logical "Favorite Clear 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteClear1 = LogicalKeyboardKey(0x00100000d17);
/// Represents the logical "Favorite Clear 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteClear2 = LogicalKeyboardKey(0x00100000d18);
/// Represents the logical "Favorite Clear 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteClear3 = LogicalKeyboardKey(0x00100000d19);
/// Represents the logical "Favorite Recall 0" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteRecall0 = LogicalKeyboardKey(0x00100000d1a);
/// Represents the logical "Favorite Recall 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteRecall1 = LogicalKeyboardKey(0x00100000d1b);
/// Represents the logical "Favorite Recall 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteRecall2 = LogicalKeyboardKey(0x00100000d1c);
/// Represents the logical "Favorite Recall 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteRecall3 = LogicalKeyboardKey(0x00100000d1d);
/// Represents the logical "Favorite Store 0" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteStore0 = LogicalKeyboardKey(0x00100000d1e);
/// Represents the logical "Favorite Store 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteStore1 = LogicalKeyboardKey(0x00100000d1f);
/// Represents the logical "Favorite Store 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteStore2 = LogicalKeyboardKey(0x00100000d20);
/// Represents the logical "Favorite Store 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey favoriteStore3 = LogicalKeyboardKey(0x00100000d21);
/// Represents the logical "Guide" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey guide = LogicalKeyboardKey(0x00100000d22);
/// Represents the logical "Guide Next Day" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey guideNextDay = LogicalKeyboardKey(0x00100000d23);
/// Represents the logical "Guide Previous Day" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey guidePreviousDay = LogicalKeyboardKey(0x00100000d24);
/// Represents the logical "Info" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey info = LogicalKeyboardKey(0x00100000d25);
/// Represents the logical "Instant Replay" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey instantReplay = LogicalKeyboardKey(0x00100000d26);
/// Represents the logical "Link" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey link = LogicalKeyboardKey(0x00100000d27);
/// Represents the logical "List Program" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey listProgram = LogicalKeyboardKey(0x00100000d28);
/// Represents the logical "Live Content" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey liveContent = LogicalKeyboardKey(0x00100000d29);
/// Represents the logical "Lock" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lock = LogicalKeyboardKey(0x00100000d2a);
/// Represents the logical "Media Apps" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaApps = LogicalKeyboardKey(0x00100000d2b);
/// Represents the logical "Media Fast Forward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaFastForward = LogicalKeyboardKey(0x00100000d2c);
/// Represents the logical "Media Last" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaLast = LogicalKeyboardKey(0x00100000d2d);
/// Represents the logical "Media Pause" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaPause = LogicalKeyboardKey(0x00100000d2e);
/// Represents the logical "Media Play" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaPlay = LogicalKeyboardKey(0x00100000d2f);
/// Represents the logical "Media Record" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaRecord = LogicalKeyboardKey(0x00100000d30);
/// Represents the logical "Media Rewind" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaRewind = LogicalKeyboardKey(0x00100000d31);
/// Represents the logical "Media Skip" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaSkip = LogicalKeyboardKey(0x00100000d32);
/// Represents the logical "Next Favorite Channel" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey nextFavoriteChannel = LogicalKeyboardKey(0x00100000d33);
/// Represents the logical "Next User Profile" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey nextUserProfile = LogicalKeyboardKey(0x00100000d34);
/// Represents the logical "On Demand" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey onDemand = LogicalKeyboardKey(0x00100000d35);
/// Represents the logical "P In P Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pInPDown = LogicalKeyboardKey(0x00100000d36);
/// Represents the logical "P In P Move" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pInPMove = LogicalKeyboardKey(0x00100000d37);
/// Represents the logical "P In P Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pInPToggle = LogicalKeyboardKey(0x00100000d38);
/// Represents the logical "P In P Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pInPUp = LogicalKeyboardKey(0x00100000d39);
/// Represents the logical "Play Speed Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey playSpeedDown = LogicalKeyboardKey(0x00100000d3a);
/// Represents the logical "Play Speed Reset" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey playSpeedReset = LogicalKeyboardKey(0x00100000d3b);
/// Represents the logical "Play Speed Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey playSpeedUp = LogicalKeyboardKey(0x00100000d3c);
/// Represents the logical "Random Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey randomToggle = LogicalKeyboardKey(0x00100000d3d);
/// Represents the logical "Rc Low Battery" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey rcLowBattery = LogicalKeyboardKey(0x00100000d3e);
/// Represents the logical "Record Speed Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey recordSpeedNext = LogicalKeyboardKey(0x00100000d3f);
/// Represents the logical "Rf Bypass" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey rfBypass = LogicalKeyboardKey(0x00100000d40);
/// Represents the logical "Scan Channels Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey scanChannelsToggle = LogicalKeyboardKey(0x00100000d41);
/// Represents the logical "Screen Mode Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey screenModeNext = LogicalKeyboardKey(0x00100000d42);
/// Represents the logical "Settings" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey settings = LogicalKeyboardKey(0x00100000d43);
/// Represents the logical "Split Screen Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey splitScreenToggle = LogicalKeyboardKey(0x00100000d44);
/// Represents the logical "STB Input" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey stbInput = LogicalKeyboardKey(0x00100000d45);
/// Represents the logical "STB Power" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey stbPower = LogicalKeyboardKey(0x00100000d46);
/// Represents the logical "Subtitle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey subtitle = LogicalKeyboardKey(0x00100000d47);
/// Represents the logical "Teletext" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey teletext = LogicalKeyboardKey(0x00100000d48);
/// Represents the logical "TV" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tv = LogicalKeyboardKey(0x00100000d49);
/// Represents the logical "TV Input" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInput = LogicalKeyboardKey(0x00100000d4a);
/// Represents the logical "TV Power" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvPower = LogicalKeyboardKey(0x00100000d4b);
/// Represents the logical "Video Mode Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey videoModeNext = LogicalKeyboardKey(0x00100000d4c);
/// Represents the logical "Wink" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey wink = LogicalKeyboardKey(0x00100000d4d);
/// Represents the logical "Zoom Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey zoomToggle = LogicalKeyboardKey(0x00100000d4e);
/// Represents the logical "DVR" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey dvr = LogicalKeyboardKey(0x00100000d4f);
/// Represents the logical "Media Audio Track" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaAudioTrack = LogicalKeyboardKey(0x00100000d50);
/// Represents the logical "Media Skip Backward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaSkipBackward = LogicalKeyboardKey(0x00100000d51);
/// Represents the logical "Media Skip Forward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaSkipForward = LogicalKeyboardKey(0x00100000d52);
/// Represents the logical "Media Step Backward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaStepBackward = LogicalKeyboardKey(0x00100000d53);
/// Represents the logical "Media Step Forward" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaStepForward = LogicalKeyboardKey(0x00100000d54);
/// Represents the logical "Media Top Menu" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaTopMenu = LogicalKeyboardKey(0x00100000d55);
/// Represents the logical "Navigate In" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey navigateIn = LogicalKeyboardKey(0x00100000d56);
/// Represents the logical "Navigate Next" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey navigateNext = LogicalKeyboardKey(0x00100000d57);
/// Represents the logical "Navigate Out" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey navigateOut = LogicalKeyboardKey(0x00100000d58);
/// Represents the logical "Navigate Previous" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey navigatePrevious = LogicalKeyboardKey(0x00100000d59);
/// Represents the logical "Pairing" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey pairing = LogicalKeyboardKey(0x00100000d5a);
/// Represents the logical "Media Close" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaClose = LogicalKeyboardKey(0x00100000d5b);
/// Represents the logical "Audio Bass Boost Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioBassBoostToggle = LogicalKeyboardKey(0x00100000e02);
/// Represents the logical "Audio Treble Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioTrebleDown = LogicalKeyboardKey(0x00100000e04);
/// Represents the logical "Audio Treble Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey audioTrebleUp = LogicalKeyboardKey(0x00100000e05);
/// Represents the logical "Microphone Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey microphoneToggle = LogicalKeyboardKey(0x00100000e06);
/// Represents the logical "Microphone Volume Down" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey microphoneVolumeDown = LogicalKeyboardKey(0x00100000e07);
/// Represents the logical "Microphone Volume Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey microphoneVolumeUp = LogicalKeyboardKey(0x00100000e08);
/// Represents the logical "Microphone Volume Mute" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey microphoneVolumeMute = LogicalKeyboardKey(0x00100000e09);
/// Represents the logical "Speech Correction List" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey speechCorrectionList = LogicalKeyboardKey(0x00100000f01);
/// Represents the logical "Speech Input Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey speechInputToggle = LogicalKeyboardKey(0x00100000f02);
/// Represents the logical "App Switch" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey appSwitch = LogicalKeyboardKey(0x00100001001);
/// Represents the logical "Call" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey call = LogicalKeyboardKey(0x00100001002);
/// Represents the logical "Camera Focus" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey cameraFocus = LogicalKeyboardKey(0x00100001003);
/// Represents the logical "End Call" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey endCall = LogicalKeyboardKey(0x00100001004);
/// Represents the logical "Go Back" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey goBack = LogicalKeyboardKey(0x00100001005);
/// Represents the logical "Go Home" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey goHome = LogicalKeyboardKey(0x00100001006);
/// Represents the logical "Headset Hook" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey headsetHook = LogicalKeyboardKey(0x00100001007);
/// Represents the logical "Last Number Redial" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lastNumberRedial = LogicalKeyboardKey(0x00100001008);
/// Represents the logical "Notification" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey notification = LogicalKeyboardKey(0x00100001009);
/// Represents the logical "Manner Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mannerMode = LogicalKeyboardKey(0x0010000100a);
/// Represents the logical "Voice Dial" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey voiceDial = LogicalKeyboardKey(0x0010000100b);
/// Represents the logical "TV 3 D Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tv3DMode = LogicalKeyboardKey(0x00100001101);
/// Represents the logical "TV Antenna Cable" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvAntennaCable = LogicalKeyboardKey(0x00100001102);
/// Represents the logical "TV Audio Description" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvAudioDescription = LogicalKeyboardKey(0x00100001103);
/// Represents the logical "TV Audio Description Mix Down" key on the
/// keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvAudioDescriptionMixDown = LogicalKeyboardKey(0x00100001104);
/// Represents the logical "TV Audio Description Mix Up" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvAudioDescriptionMixUp = LogicalKeyboardKey(0x00100001105);
/// Represents the logical "TV Contents Menu" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvContentsMenu = LogicalKeyboardKey(0x00100001106);
/// Represents the logical "TV Data Service" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvDataService = LogicalKeyboardKey(0x00100001107);
/// Represents the logical "TV Input Component 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputComponent1 = LogicalKeyboardKey(0x00100001108);
/// Represents the logical "TV Input Component 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputComponent2 = LogicalKeyboardKey(0x00100001109);
/// Represents the logical "TV Input Composite 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputComposite1 = LogicalKeyboardKey(0x0010000110a);
/// Represents the logical "TV Input Composite 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputComposite2 = LogicalKeyboardKey(0x0010000110b);
/// Represents the logical "TV Input HDMI 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputHDMI1 = LogicalKeyboardKey(0x0010000110c);
/// Represents the logical "TV Input HDMI 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputHDMI2 = LogicalKeyboardKey(0x0010000110d);
/// Represents the logical "TV Input HDMI 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputHDMI3 = LogicalKeyboardKey(0x0010000110e);
/// Represents the logical "TV Input HDMI 4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputHDMI4 = LogicalKeyboardKey(0x0010000110f);
/// Represents the logical "TV Input VGA 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvInputVGA1 = LogicalKeyboardKey(0x00100001110);
/// Represents the logical "TV Media Context" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvMediaContext = LogicalKeyboardKey(0x00100001111);
/// Represents the logical "TV Network" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvNetwork = LogicalKeyboardKey(0x00100001112);
/// Represents the logical "TV Number Entry" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvNumberEntry = LogicalKeyboardKey(0x00100001113);
/// Represents the logical "TV Radio Service" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvRadioService = LogicalKeyboardKey(0x00100001114);
/// Represents the logical "TV Satellite" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvSatellite = LogicalKeyboardKey(0x00100001115);
/// Represents the logical "TV Satellite BS" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvSatelliteBS = LogicalKeyboardKey(0x00100001116);
/// Represents the logical "TV Satellite CS" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvSatelliteCS = LogicalKeyboardKey(0x00100001117);
/// Represents the logical "TV Satellite Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvSatelliteToggle = LogicalKeyboardKey(0x00100001118);
/// Represents the logical "TV Terrestrial Analog" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvTerrestrialAnalog = LogicalKeyboardKey(0x00100001119);
/// Represents the logical "TV Terrestrial Digital" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvTerrestrialDigital = LogicalKeyboardKey(0x0010000111a);
/// Represents the logical "TV Timer" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey tvTimer = LogicalKeyboardKey(0x0010000111b);
/// Represents the logical "Key 11" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey key11 = LogicalKeyboardKey(0x00100001201);
/// Represents the logical "Key 12" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey key12 = LogicalKeyboardKey(0x00100001202);
/// Represents the logical "Suspend" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey suspend = LogicalKeyboardKey(0x00200000000);
/// Represents the logical "Resume" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey resume = LogicalKeyboardKey(0x00200000001);
/// Represents the logical "Sleep" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey sleep = LogicalKeyboardKey(0x00200000002);
/// Represents the logical "Abort" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey abort = LogicalKeyboardKey(0x00200000003);
/// Represents the logical "Lang 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lang1 = LogicalKeyboardKey(0x00200000010);
/// Represents the logical "Lang 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lang2 = LogicalKeyboardKey(0x00200000011);
/// Represents the logical "Lang 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lang3 = LogicalKeyboardKey(0x00200000012);
/// Represents the logical "Lang 4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lang4 = LogicalKeyboardKey(0x00200000013);
/// Represents the logical "Lang 5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey lang5 = LogicalKeyboardKey(0x00200000014);
/// Represents the logical "Intl Backslash" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey intlBackslash = LogicalKeyboardKey(0x00200000020);
/// Represents the logical "Intl Ro" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey intlRo = LogicalKeyboardKey(0x00200000021);
/// Represents the logical "Intl Yen" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey intlYen = LogicalKeyboardKey(0x00200000022);
/// Represents the logical "Control Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey controlLeft = LogicalKeyboardKey(0x00200000100);
/// Represents the logical "Control Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey controlRight = LogicalKeyboardKey(0x00200000101);
/// Represents the logical "Shift Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey shiftLeft = LogicalKeyboardKey(0x00200000102);
/// Represents the logical "Shift Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey shiftRight = LogicalKeyboardKey(0x00200000103);
/// Represents the logical "Alt Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey altLeft = LogicalKeyboardKey(0x00200000104);
/// Represents the logical "Alt Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey altRight = LogicalKeyboardKey(0x00200000105);
/// Represents the logical "Meta Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey metaLeft = LogicalKeyboardKey(0x00200000106);
/// Represents the logical "Meta Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey metaRight = LogicalKeyboardKey(0x00200000107);
/// Represents the logical "Control" key on the keyboard.
///
/// This key represents the union of the keys {controlLeft, controlRight} when
/// comparing keys. This key will never be generated directly, its main use is
/// in defining key maps.
static const LogicalKeyboardKey control = LogicalKeyboardKey(0x002000001f0);
/// Represents the logical "Shift" key on the keyboard.
///
/// This key represents the union of the keys {shiftLeft, shiftRight} when
/// comparing keys. This key will never be generated directly, its main use is
/// in defining key maps.
static const LogicalKeyboardKey shift = LogicalKeyboardKey(0x002000001f2);
/// Represents the logical "Alt" key on the keyboard.
///
/// This key represents the union of the keys {altLeft, altRight} when
/// comparing keys. This key will never be generated directly, its main use is
/// in defining key maps.
static const LogicalKeyboardKey alt = LogicalKeyboardKey(0x002000001f4);
/// Represents the logical "Meta" key on the keyboard.
///
/// This key represents the union of the keys {metaLeft, metaRight} when
/// comparing keys. This key will never be generated directly, its main use is
/// in defining key maps.
static const LogicalKeyboardKey meta = LogicalKeyboardKey(0x002000001f6);
/// Represents the logical "Numpad Enter" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadEnter = LogicalKeyboardKey(0x0020000020d);
/// Represents the logical "Numpad Paren Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadParenLeft = LogicalKeyboardKey(0x00200000228);
/// Represents the logical "Numpad Paren Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadParenRight = LogicalKeyboardKey(0x00200000229);
/// Represents the logical "Numpad Multiply" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadMultiply = LogicalKeyboardKey(0x0020000022a);
/// Represents the logical "Numpad Add" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadAdd = LogicalKeyboardKey(0x0020000022b);
/// Represents the logical "Numpad Comma" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadComma = LogicalKeyboardKey(0x0020000022c);
/// Represents the logical "Numpad Subtract" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadSubtract = LogicalKeyboardKey(0x0020000022d);
/// Represents the logical "Numpad Decimal" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadDecimal = LogicalKeyboardKey(0x0020000022e);
/// Represents the logical "Numpad Divide" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadDivide = LogicalKeyboardKey(0x0020000022f);
/// Represents the logical "Numpad 0" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad0 = LogicalKeyboardKey(0x00200000230);
/// Represents the logical "Numpad 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad1 = LogicalKeyboardKey(0x00200000231);
/// Represents the logical "Numpad 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad2 = LogicalKeyboardKey(0x00200000232);
/// Represents the logical "Numpad 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad3 = LogicalKeyboardKey(0x00200000233);
/// Represents the logical "Numpad 4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad4 = LogicalKeyboardKey(0x00200000234);
/// Represents the logical "Numpad 5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad5 = LogicalKeyboardKey(0x00200000235);
/// Represents the logical "Numpad 6" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad6 = LogicalKeyboardKey(0x00200000236);
/// Represents the logical "Numpad 7" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad7 = LogicalKeyboardKey(0x00200000237);
/// Represents the logical "Numpad 8" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad8 = LogicalKeyboardKey(0x00200000238);
/// Represents the logical "Numpad 9" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpad9 = LogicalKeyboardKey(0x00200000239);
/// Represents the logical "Numpad Equal" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey numpadEqual = LogicalKeyboardKey(0x0020000023d);
/// Represents the logical "Game Button 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton1 = LogicalKeyboardKey(0x00200000301);
/// Represents the logical "Game Button 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton2 = LogicalKeyboardKey(0x00200000302);
/// Represents the logical "Game Button 3" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton3 = LogicalKeyboardKey(0x00200000303);
/// Represents the logical "Game Button 4" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton4 = LogicalKeyboardKey(0x00200000304);
/// Represents the logical "Game Button 5" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton5 = LogicalKeyboardKey(0x00200000305);
/// Represents the logical "Game Button 6" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton6 = LogicalKeyboardKey(0x00200000306);
/// Represents the logical "Game Button 7" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton7 = LogicalKeyboardKey(0x00200000307);
/// Represents the logical "Game Button 8" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton8 = LogicalKeyboardKey(0x00200000308);
/// Represents the logical "Game Button 9" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton9 = LogicalKeyboardKey(0x00200000309);
/// Represents the logical "Game Button 10" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton10 = LogicalKeyboardKey(0x0020000030a);
/// Represents the logical "Game Button 11" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton11 = LogicalKeyboardKey(0x0020000030b);
/// Represents the logical "Game Button 12" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton12 = LogicalKeyboardKey(0x0020000030c);
/// Represents the logical "Game Button 13" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton13 = LogicalKeyboardKey(0x0020000030d);
/// Represents the logical "Game Button 14" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton14 = LogicalKeyboardKey(0x0020000030e);
/// Represents the logical "Game Button 15" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton15 = LogicalKeyboardKey(0x0020000030f);
/// Represents the logical "Game Button 16" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButton16 = LogicalKeyboardKey(0x00200000310);
/// Represents the logical "Game Button A" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonA = LogicalKeyboardKey(0x00200000311);
/// Represents the logical "Game Button B" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonB = LogicalKeyboardKey(0x00200000312);
/// Represents the logical "Game Button C" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonC = LogicalKeyboardKey(0x00200000313);
/// Represents the logical "Game Button Left 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonLeft1 = LogicalKeyboardKey(0x00200000314);
/// Represents the logical "Game Button Left 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonLeft2 = LogicalKeyboardKey(0x00200000315);
/// Represents the logical "Game Button Mode" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonMode = LogicalKeyboardKey(0x00200000316);
/// Represents the logical "Game Button Right 1" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonRight1 = LogicalKeyboardKey(0x00200000317);
/// Represents the logical "Game Button Right 2" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonRight2 = LogicalKeyboardKey(0x00200000318);
/// Represents the logical "Game Button Select" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonSelect = LogicalKeyboardKey(0x00200000319);
/// Represents the logical "Game Button Start" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonStart = LogicalKeyboardKey(0x0020000031a);
/// Represents the logical "Game Button Thumb Left" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonThumbLeft = LogicalKeyboardKey(0x0020000031b);
/// Represents the logical "Game Button Thumb Right" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonThumbRight = LogicalKeyboardKey(0x0020000031c);
/// Represents the logical "Game Button X" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonX = LogicalKeyboardKey(0x0020000031d);
/// Represents the logical "Game Button Y" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonY = LogicalKeyboardKey(0x0020000031e);
/// Represents the logical "Game Button Z" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey gameButtonZ = LogicalKeyboardKey(0x0020000031f);
/// A list of all predefined constant [LogicalKeyboardKey]s.
static Iterable<LogicalKeyboardKey> get knownLogicalKeys => _knownLogicalKeys.values;
// A list of all predefined constant LogicalKeyboardKeys so they can be
// searched.
static const Map<int, LogicalKeyboardKey> _knownLogicalKeys = <int, LogicalKeyboardKey>{
0x00000000020: space,
0x00000000021: exclamation,
0x00000000022: quote,
0x00000000023: numberSign,
0x00000000024: dollar,
0x00000000025: percent,
0x00000000026: ampersand,
0x00000000027: quoteSingle,
0x00000000028: parenthesisLeft,
0x00000000029: parenthesisRight,
0x0000000002a: asterisk,
0x0000000002b: add,
0x0000000002c: comma,
0x0000000002d: minus,
0x0000000002e: period,
0x0000000002f: slash,
0x00000000030: digit0,
0x00000000031: digit1,
0x00000000032: digit2,
0x00000000033: digit3,
0x00000000034: digit4,
0x00000000035: digit5,
0x00000000036: digit6,
0x00000000037: digit7,
0x00000000038: digit8,
0x00000000039: digit9,
0x0000000003a: colon,
0x0000000003b: semicolon,
0x0000000003c: less,
0x0000000003d: equal,
0x0000000003e: greater,
0x0000000003f: question,
0x00000000040: at,
0x0000000005b: bracketLeft,
0x0000000005c: backslash,
0x0000000005d: bracketRight,
0x0000000005e: caret,
0x0000000005f: underscore,
0x00000000060: backquote,
0x00000000061: keyA,
0x00000000062: keyB,
0x00000000063: keyC,
0x00000000064: keyD,
0x00000000065: keyE,
0x00000000066: keyF,
0x00000000067: keyG,
0x00000000068: keyH,
0x00000000069: keyI,
0x0000000006a: keyJ,
0x0000000006b: keyK,
0x0000000006c: keyL,
0x0000000006d: keyM,
0x0000000006e: keyN,
0x0000000006f: keyO,
0x00000000070: keyP,
0x00000000071: keyQ,
0x00000000072: keyR,
0x00000000073: keyS,
0x00000000074: keyT,
0x00000000075: keyU,
0x00000000076: keyV,
0x00000000077: keyW,
0x00000000078: keyX,
0x00000000079: keyY,
0x0000000007a: keyZ,
0x0000000007b: braceLeft,
0x0000000007c: bar,
0x0000000007d: braceRight,
0x0000000007e: tilde,
0x00100000001: unidentified,
0x00100000008: backspace,
0x00100000009: tab,
0x0010000000d: enter,
0x0010000001b: escape,
0x0010000007f: delete,
0x00100000101: accel,
0x00100000103: altGraph,
0x00100000104: capsLock,
0x00100000106: fn,
0x00100000107: fnLock,
0x00100000108: hyper,
0x0010000010a: numLock,
0x0010000010c: scrollLock,
0x0010000010e: superKey,
0x0010000010f: symbol,
0x00100000110: symbolLock,
0x00100000111: shiftLevel5,
0x00100000301: arrowDown,
0x00100000302: arrowLeft,
0x00100000303: arrowRight,
0x00100000304: arrowUp,
0x00100000305: end,
0x00100000306: home,
0x00100000307: pageDown,
0x00100000308: pageUp,
0x00100000401: clear,
0x00100000402: copy,
0x00100000403: crSel,
0x00100000404: cut,
0x00100000405: eraseEof,
0x00100000406: exSel,
0x00100000407: insert,
0x00100000408: paste,
0x00100000409: redo,
0x0010000040a: undo,
0x00100000501: accept,
0x00100000502: again,
0x00100000503: attn,
0x00100000504: cancel,
0x00100000505: contextMenu,
0x00100000506: execute,
0x00100000507: find,
0x00100000508: help,
0x00100000509: pause,
0x0010000050a: play,
0x0010000050b: props,
0x0010000050c: select,
0x0010000050d: zoomIn,
0x0010000050e: zoomOut,
0x00100000601: brightnessDown,
0x00100000602: brightnessUp,
0x00100000603: camera,
0x00100000604: eject,
0x00100000605: logOff,
0x00100000606: power,
0x00100000607: powerOff,
0x00100000608: printScreen,
0x00100000609: hibernate,
0x0010000060a: standby,
0x0010000060b: wakeUp,
0x00100000701: allCandidates,
0x00100000702: alphanumeric,
0x00100000703: codeInput,
0x00100000704: compose,
0x00100000705: convert,
0x00100000706: finalMode,
0x00100000707: groupFirst,
0x00100000708: groupLast,
0x00100000709: groupNext,
0x0010000070a: groupPrevious,
0x0010000070b: modeChange,
0x0010000070c: nextCandidate,
0x0010000070d: nonConvert,
0x0010000070e: previousCandidate,
0x0010000070f: process,
0x00100000710: singleCandidate,
0x00100000711: hangulMode,
0x00100000712: hanjaMode,
0x00100000713: junjaMode,
0x00100000714: eisu,
0x00100000715: hankaku,
0x00100000716: hiragana,
0x00100000717: hiraganaKatakana,
0x00100000718: kanaMode,
0x00100000719: kanjiMode,
0x0010000071a: katakana,
0x0010000071b: romaji,
0x0010000071c: zenkaku,
0x0010000071d: zenkakuHankaku,
0x00100000801: f1,
0x00100000802: f2,
0x00100000803: f3,
0x00100000804: f4,
0x00100000805: f5,
0x00100000806: f6,
0x00100000807: f7,
0x00100000808: f8,
0x00100000809: f9,
0x0010000080a: f10,
0x0010000080b: f11,
0x0010000080c: f12,
0x0010000080d: f13,
0x0010000080e: f14,
0x0010000080f: f15,
0x00100000810: f16,
0x00100000811: f17,
0x00100000812: f18,
0x00100000813: f19,
0x00100000814: f20,
0x00100000815: f21,
0x00100000816: f22,
0x00100000817: f23,
0x00100000818: f24,
0x00100000901: soft1,
0x00100000902: soft2,
0x00100000903: soft3,
0x00100000904: soft4,
0x00100000905: soft5,
0x00100000906: soft6,
0x00100000907: soft7,
0x00100000908: soft8,
0x00100000a01: close,
0x00100000a02: mailForward,
0x00100000a03: mailReply,
0x00100000a04: mailSend,
0x00100000a05: mediaPlayPause,
0x00100000a07: mediaStop,
0x00100000a08: mediaTrackNext,
0x00100000a09: mediaTrackPrevious,
0x00100000a0a: newKey,
0x00100000a0b: open,
0x00100000a0c: print,
0x00100000a0d: save,
0x00100000a0e: spellCheck,
0x00100000a0f: audioVolumeDown,
0x00100000a10: audioVolumeUp,
0x00100000a11: audioVolumeMute,
0x00100000b01: launchApplication2,
0x00100000b02: launchCalendar,
0x00100000b03: launchMail,
0x00100000b04: launchMediaPlayer,
0x00100000b05: launchMusicPlayer,
0x00100000b06: launchApplication1,
0x00100000b07: launchScreenSaver,
0x00100000b08: launchSpreadsheet,
0x00100000b09: launchWebBrowser,
0x00100000b0a: launchWebCam,
0x00100000b0b: launchWordProcessor,
0x00100000b0c: launchContacts,
0x00100000b0d: launchPhone,
0x00100000b0e: launchAssistant,
0x00100000b0f: launchControlPanel,
0x00100000c01: browserBack,
0x00100000c02: browserFavorites,
0x00100000c03: browserForward,
0x00100000c04: browserHome,
0x00100000c05: browserRefresh,
0x00100000c06: browserSearch,
0x00100000c07: browserStop,
0x00100000d01: audioBalanceLeft,
0x00100000d02: audioBalanceRight,
0x00100000d03: audioBassBoostDown,
0x00100000d04: audioBassBoostUp,
0x00100000d05: audioFaderFront,
0x00100000d06: audioFaderRear,
0x00100000d07: audioSurroundModeNext,
0x00100000d08: avrInput,
0x00100000d09: avrPower,
0x00100000d0a: channelDown,
0x00100000d0b: channelUp,
0x00100000d0c: colorF0Red,
0x00100000d0d: colorF1Green,
0x00100000d0e: colorF2Yellow,
0x00100000d0f: colorF3Blue,
0x00100000d10: colorF4Grey,
0x00100000d11: colorF5Brown,
0x00100000d12: closedCaptionToggle,
0x00100000d13: dimmer,
0x00100000d14: displaySwap,
0x00100000d15: exit,
0x00100000d16: favoriteClear0,
0x00100000d17: favoriteClear1,
0x00100000d18: favoriteClear2,
0x00100000d19: favoriteClear3,
0x00100000d1a: favoriteRecall0,
0x00100000d1b: favoriteRecall1,
0x00100000d1c: favoriteRecall2,
0x00100000d1d: favoriteRecall3,
0x00100000d1e: favoriteStore0,
0x00100000d1f: favoriteStore1,
0x00100000d20: favoriteStore2,
0x00100000d21: favoriteStore3,
0x00100000d22: guide,
0x00100000d23: guideNextDay,
0x00100000d24: guidePreviousDay,
0x00100000d25: info,
0x00100000d26: instantReplay,
0x00100000d27: link,
0x00100000d28: listProgram,
0x00100000d29: liveContent,
0x00100000d2a: lock,
0x00100000d2b: mediaApps,
0x00100000d2c: mediaFastForward,
0x00100000d2d: mediaLast,
0x00100000d2e: mediaPause,
0x00100000d2f: mediaPlay,
0x00100000d30: mediaRecord,
0x00100000d31: mediaRewind,
0x00100000d32: mediaSkip,
0x00100000d33: nextFavoriteChannel,
0x00100000d34: nextUserProfile,
0x00100000d35: onDemand,
0x00100000d36: pInPDown,
0x00100000d37: pInPMove,
0x00100000d38: pInPToggle,
0x00100000d39: pInPUp,
0x00100000d3a: playSpeedDown,
0x00100000d3b: playSpeedReset,
0x00100000d3c: playSpeedUp,
0x00100000d3d: randomToggle,
0x00100000d3e: rcLowBattery,
0x00100000d3f: recordSpeedNext,
0x00100000d40: rfBypass,
0x00100000d41: scanChannelsToggle,
0x00100000d42: screenModeNext,
0x00100000d43: settings,
0x00100000d44: splitScreenToggle,
0x00100000d45: stbInput,
0x00100000d46: stbPower,
0x00100000d47: subtitle,
0x00100000d48: teletext,
0x00100000d49: tv,
0x00100000d4a: tvInput,
0x00100000d4b: tvPower,
0x00100000d4c: videoModeNext,
0x00100000d4d: wink,
0x00100000d4e: zoomToggle,
0x00100000d4f: dvr,
0x00100000d50: mediaAudioTrack,
0x00100000d51: mediaSkipBackward,
0x00100000d52: mediaSkipForward,
0x00100000d53: mediaStepBackward,
0x00100000d54: mediaStepForward,
0x00100000d55: mediaTopMenu,
0x00100000d56: navigateIn,
0x00100000d57: navigateNext,
0x00100000d58: navigateOut,
0x00100000d59: navigatePrevious,
0x00100000d5a: pairing,
0x00100000d5b: mediaClose,
0x00100000e02: audioBassBoostToggle,
0x00100000e04: audioTrebleDown,
0x00100000e05: audioTrebleUp,
0x00100000e06: microphoneToggle,
0x00100000e07: microphoneVolumeDown,
0x00100000e08: microphoneVolumeUp,
0x00100000e09: microphoneVolumeMute,
0x00100000f01: speechCorrectionList,
0x00100000f02: speechInputToggle,
0x00100001001: appSwitch,
0x00100001002: call,
0x00100001003: cameraFocus,
0x00100001004: endCall,
0x00100001005: goBack,
0x00100001006: goHome,
0x00100001007: headsetHook,
0x00100001008: lastNumberRedial,
0x00100001009: notification,
0x0010000100a: mannerMode,
0x0010000100b: voiceDial,
0x00100001101: tv3DMode,
0x00100001102: tvAntennaCable,
0x00100001103: tvAudioDescription,
0x00100001104: tvAudioDescriptionMixDown,
0x00100001105: tvAudioDescriptionMixUp,
0x00100001106: tvContentsMenu,
0x00100001107: tvDataService,
0x00100001108: tvInputComponent1,
0x00100001109: tvInputComponent2,
0x0010000110a: tvInputComposite1,
0x0010000110b: tvInputComposite2,
0x0010000110c: tvInputHDMI1,
0x0010000110d: tvInputHDMI2,
0x0010000110e: tvInputHDMI3,
0x0010000110f: tvInputHDMI4,
0x00100001110: tvInputVGA1,
0x00100001111: tvMediaContext,
0x00100001112: tvNetwork,
0x00100001113: tvNumberEntry,
0x00100001114: tvRadioService,
0x00100001115: tvSatellite,
0x00100001116: tvSatelliteBS,
0x00100001117: tvSatelliteCS,
0x00100001118: tvSatelliteToggle,
0x00100001119: tvTerrestrialAnalog,
0x0010000111a: tvTerrestrialDigital,
0x0010000111b: tvTimer,
0x00100001201: key11,
0x00100001202: key12,
0x00200000000: suspend,
0x00200000001: resume,
0x00200000002: sleep,
0x00200000003: abort,
0x00200000010: lang1,
0x00200000011: lang2,
0x00200000012: lang3,
0x00200000013: lang4,
0x00200000014: lang5,
0x00200000020: intlBackslash,
0x00200000021: intlRo,
0x00200000022: intlYen,
0x00200000100: controlLeft,
0x00200000101: controlRight,
0x00200000102: shiftLeft,
0x00200000103: shiftRight,
0x00200000104: altLeft,
0x00200000105: altRight,
0x00200000106: metaLeft,
0x00200000107: metaRight,
0x002000001f0: control,
0x002000001f2: shift,
0x002000001f4: alt,
0x002000001f6: meta,
0x0020000020d: numpadEnter,
0x00200000228: numpadParenLeft,
0x00200000229: numpadParenRight,
0x0020000022a: numpadMultiply,
0x0020000022b: numpadAdd,
0x0020000022c: numpadComma,
0x0020000022d: numpadSubtract,
0x0020000022e: numpadDecimal,
0x0020000022f: numpadDivide,
0x00200000230: numpad0,
0x00200000231: numpad1,
0x00200000232: numpad2,
0x00200000233: numpad3,
0x00200000234: numpad4,
0x00200000235: numpad5,
0x00200000236: numpad6,
0x00200000237: numpad7,
0x00200000238: numpad8,
0x00200000239: numpad9,
0x0020000023d: numpadEqual,
0x00200000301: gameButton1,
0x00200000302: gameButton2,
0x00200000303: gameButton3,
0x00200000304: gameButton4,
0x00200000305: gameButton5,
0x00200000306: gameButton6,
0x00200000307: gameButton7,
0x00200000308: gameButton8,
0x00200000309: gameButton9,
0x0020000030a: gameButton10,
0x0020000030b: gameButton11,
0x0020000030c: gameButton12,
0x0020000030d: gameButton13,
0x0020000030e: gameButton14,
0x0020000030f: gameButton15,
0x00200000310: gameButton16,
0x00200000311: gameButtonA,
0x00200000312: gameButtonB,
0x00200000313: gameButtonC,
0x00200000314: gameButtonLeft1,
0x00200000315: gameButtonLeft2,
0x00200000316: gameButtonMode,
0x00200000317: gameButtonRight1,
0x00200000318: gameButtonRight2,
0x00200000319: gameButtonSelect,
0x0020000031a: gameButtonStart,
0x0020000031b: gameButtonThumbLeft,
0x0020000031c: gameButtonThumbRight,
0x0020000031d: gameButtonX,
0x0020000031e: gameButtonY,
0x0020000031f: gameButtonZ,
};
// A map of keys to the pseudo-key synonym for that key. Used by getSynonyms.
static final Map<LogicalKeyboardKey, LogicalKeyboardKey> _synonyms = <LogicalKeyboardKey, LogicalKeyboardKey>{
shiftLeft: shift,
shiftRight: shift,
metaLeft: meta,
metaRight: meta,
altLeft: alt,
altRight: alt,
controlLeft: control,
controlRight: control,
};
static const Map<int, String> _keyLabels = <int, String>{
0x00000000020: 'Space',
0x00000000021: 'Exclamation',
0x00000000022: 'Quote',
0x00000000023: 'Number Sign',
0x00000000024: 'Dollar',
0x00000000025: 'Percent',
0x00000000026: 'Ampersand',
0x00000000027: 'Quote Single',
0x00000000028: 'Parenthesis Left',
0x00000000029: 'Parenthesis Right',
0x0000000002a: 'Asterisk',
0x0000000002b: 'Add',
0x0000000002c: 'Comma',
0x0000000002d: 'Minus',
0x0000000002e: 'Period',
0x0000000002f: 'Slash',
0x00000000030: 'Digit 0',
0x00000000031: 'Digit 1',
0x00000000032: 'Digit 2',
0x00000000033: 'Digit 3',
0x00000000034: 'Digit 4',
0x00000000035: 'Digit 5',
0x00000000036: 'Digit 6',
0x00000000037: 'Digit 7',
0x00000000038: 'Digit 8',
0x00000000039: 'Digit 9',
0x0000000003a: 'Colon',
0x0000000003b: 'Semicolon',
0x0000000003c: 'Less',
0x0000000003d: 'Equal',
0x0000000003e: 'Greater',
0x0000000003f: 'Question',
0x00000000040: 'At',
0x0000000005b: 'Bracket Left',
0x0000000005c: 'Backslash',
0x0000000005d: 'Bracket Right',
0x0000000005e: 'Caret',
0x0000000005f: 'Underscore',
0x00000000060: 'Backquote',
0x00000000061: 'Key A',
0x00000000062: 'Key B',
0x00000000063: 'Key C',
0x00000000064: 'Key D',
0x00000000065: 'Key E',
0x00000000066: 'Key F',
0x00000000067: 'Key G',
0x00000000068: 'Key H',
0x00000000069: 'Key I',
0x0000000006a: 'Key J',
0x0000000006b: 'Key K',
0x0000000006c: 'Key L',
0x0000000006d: 'Key M',
0x0000000006e: 'Key N',
0x0000000006f: 'Key O',
0x00000000070: 'Key P',
0x00000000071: 'Key Q',
0x00000000072: 'Key R',
0x00000000073: 'Key S',
0x00000000074: 'Key T',
0x00000000075: 'Key U',
0x00000000076: 'Key V',
0x00000000077: 'Key W',
0x00000000078: 'Key X',
0x00000000079: 'Key Y',
0x0000000007a: 'Key Z',
0x0000000007b: 'Brace Left',
0x0000000007c: 'Bar',
0x0000000007d: 'Brace Right',
0x0000000007e: 'Tilde',
0x00100000001: 'Unidentified',
0x00100000008: 'Backspace',
0x00100000009: 'Tab',
0x0010000000d: 'Enter',
0x0010000001b: 'Escape',
0x0010000007f: 'Delete',
0x00100000101: 'Accel',
0x00100000103: 'Alt Graph',
0x00100000104: 'Caps Lock',
0x00100000106: 'Fn',
0x00100000107: 'Fn Lock',
0x00100000108: 'Hyper',
0x0010000010a: 'Num Lock',
0x0010000010c: 'Scroll Lock',
0x0010000010e: 'Super',
0x0010000010f: 'Symbol',
0x00100000110: 'Symbol Lock',
0x00100000111: 'Shift Level 5',
0x00100000301: 'Arrow Down',
0x00100000302: 'Arrow Left',
0x00100000303: 'Arrow Right',
0x00100000304: 'Arrow Up',
0x00100000305: 'End',
0x00100000306: 'Home',
0x00100000307: 'Page Down',
0x00100000308: 'Page Up',
0x00100000401: 'Clear',
0x00100000402: 'Copy',
0x00100000403: 'Cr Sel',
0x00100000404: 'Cut',
0x00100000405: 'Erase Eof',
0x00100000406: 'Ex Sel',
0x00100000407: 'Insert',
0x00100000408: 'Paste',
0x00100000409: 'Redo',
0x0010000040a: 'Undo',
0x00100000501: 'Accept',
0x00100000502: 'Again',
0x00100000503: 'Attn',
0x00100000504: 'Cancel',
0x00100000505: 'Context Menu',
0x00100000506: 'Execute',
0x00100000507: 'Find',
0x00100000508: 'Help',
0x00100000509: 'Pause',
0x0010000050a: 'Play',
0x0010000050b: 'Props',
0x0010000050c: 'Select',
0x0010000050d: 'Zoom In',
0x0010000050e: 'Zoom Out',
0x00100000601: 'Brightness Down',
0x00100000602: 'Brightness Up',
0x00100000603: 'Camera',
0x00100000604: 'Eject',
0x00100000605: 'Log Off',
0x00100000606: 'Power',
0x00100000607: 'Power Off',
0x00100000608: 'Print Screen',
0x00100000609: 'Hibernate',
0x0010000060a: 'Standby',
0x0010000060b: 'Wake Up',
0x00100000701: 'All Candidates',
0x00100000702: 'Alphanumeric',
0x00100000703: 'Code Input',
0x00100000704: 'Compose',
0x00100000705: 'Convert',
0x00100000706: 'Final Mode',
0x00100000707: 'Group First',
0x00100000708: 'Group Last',
0x00100000709: 'Group Next',
0x0010000070a: 'Group Previous',
0x0010000070b: 'Mode Change',
0x0010000070c: 'Next Candidate',
0x0010000070d: 'Non Convert',
0x0010000070e: 'Previous Candidate',
0x0010000070f: 'Process',
0x00100000710: 'Single Candidate',
0x00100000711: 'Hangul Mode',
0x00100000712: 'Hanja Mode',
0x00100000713: 'Junja Mode',
0x00100000714: 'Eisu',
0x00100000715: 'Hankaku',
0x00100000716: 'Hiragana',
0x00100000717: 'Hiragana Katakana',
0x00100000718: 'Kana Mode',
0x00100000719: 'Kanji Mode',
0x0010000071a: 'Katakana',
0x0010000071b: 'Romaji',
0x0010000071c: 'Zenkaku',
0x0010000071d: 'Zenkaku Hankaku',
0x00100000801: 'F1',
0x00100000802: 'F2',
0x00100000803: 'F3',
0x00100000804: 'F4',
0x00100000805: 'F5',
0x00100000806: 'F6',
0x00100000807: 'F7',
0x00100000808: 'F8',
0x00100000809: 'F9',
0x0010000080a: 'F10',
0x0010000080b: 'F11',
0x0010000080c: 'F12',
0x0010000080d: 'F13',
0x0010000080e: 'F14',
0x0010000080f: 'F15',
0x00100000810: 'F16',
0x00100000811: 'F17',
0x00100000812: 'F18',
0x00100000813: 'F19',
0x00100000814: 'F20',
0x00100000815: 'F21',
0x00100000816: 'F22',
0x00100000817: 'F23',
0x00100000818: 'F24',
0x00100000901: 'Soft 1',
0x00100000902: 'Soft 2',
0x00100000903: 'Soft 3',
0x00100000904: 'Soft 4',
0x00100000905: 'Soft 5',
0x00100000906: 'Soft 6',
0x00100000907: 'Soft 7',
0x00100000908: 'Soft 8',
0x00100000a01: 'Close',
0x00100000a02: 'Mail Forward',
0x00100000a03: 'Mail Reply',
0x00100000a04: 'Mail Send',
0x00100000a05: 'Media Play Pause',
0x00100000a07: 'Media Stop',
0x00100000a08: 'Media Track Next',
0x00100000a09: 'Media Track Previous',
0x00100000a0a: 'New',
0x00100000a0b: 'Open',
0x00100000a0c: 'Print',
0x00100000a0d: 'Save',
0x00100000a0e: 'Spell Check',
0x00100000a0f: 'Audio Volume Down',
0x00100000a10: 'Audio Volume Up',
0x00100000a11: 'Audio Volume Mute',
0x00100000b01: 'Launch Application 2',
0x00100000b02: 'Launch Calendar',
0x00100000b03: 'Launch Mail',
0x00100000b04: 'Launch Media Player',
0x00100000b05: 'Launch Music Player',
0x00100000b06: 'Launch Application 1',
0x00100000b07: 'Launch Screen Saver',
0x00100000b08: 'Launch Spreadsheet',
0x00100000b09: 'Launch Web Browser',
0x00100000b0a: 'Launch Web Cam',
0x00100000b0b: 'Launch Word Processor',
0x00100000b0c: 'Launch Contacts',
0x00100000b0d: 'Launch Phone',
0x00100000b0e: 'Launch Assistant',
0x00100000b0f: 'Launch Control Panel',
0x00100000c01: 'Browser Back',
0x00100000c02: 'Browser Favorites',
0x00100000c03: 'Browser Forward',
0x00100000c04: 'Browser Home',
0x00100000c05: 'Browser Refresh',
0x00100000c06: 'Browser Search',
0x00100000c07: 'Browser Stop',
0x00100000d01: 'Audio Balance Left',
0x00100000d02: 'Audio Balance Right',
0x00100000d03: 'Audio Bass Boost Down',
0x00100000d04: 'Audio Bass Boost Up',
0x00100000d05: 'Audio Fader Front',
0x00100000d06: 'Audio Fader Rear',
0x00100000d07: 'Audio Surround Mode Next',
0x00100000d08: 'AVR Input',
0x00100000d09: 'AVR Power',
0x00100000d0a: 'Channel Down',
0x00100000d0b: 'Channel Up',
0x00100000d0c: 'Color F0 Red',
0x00100000d0d: 'Color F1 Green',
0x00100000d0e: 'Color F2 Yellow',
0x00100000d0f: 'Color F3 Blue',
0x00100000d10: 'Color F4 Grey',
0x00100000d11: 'Color F5 Brown',
0x00100000d12: 'Closed Caption Toggle',
0x00100000d13: 'Dimmer',
0x00100000d14: 'Display Swap',
0x00100000d15: 'Exit',
0x00100000d16: 'Favorite Clear 0',
0x00100000d17: 'Favorite Clear 1',
0x00100000d18: 'Favorite Clear 2',
0x00100000d19: 'Favorite Clear 3',
0x00100000d1a: 'Favorite Recall 0',
0x00100000d1b: 'Favorite Recall 1',
0x00100000d1c: 'Favorite Recall 2',
0x00100000d1d: 'Favorite Recall 3',
0x00100000d1e: 'Favorite Store 0',
0x00100000d1f: 'Favorite Store 1',
0x00100000d20: 'Favorite Store 2',
0x00100000d21: 'Favorite Store 3',
0x00100000d22: 'Guide',
0x00100000d23: 'Guide Next Day',
0x00100000d24: 'Guide Previous Day',
0x00100000d25: 'Info',
0x00100000d26: 'Instant Replay',
0x00100000d27: 'Link',
0x00100000d28: 'List Program',
0x00100000d29: 'Live Content',
0x00100000d2a: 'Lock',
0x00100000d2b: 'Media Apps',
0x00100000d2c: 'Media Fast Forward',
0x00100000d2d: 'Media Last',
0x00100000d2e: 'Media Pause',
0x00100000d2f: 'Media Play',
0x00100000d30: 'Media Record',
0x00100000d31: 'Media Rewind',
0x00100000d32: 'Media Skip',
0x00100000d33: 'Next Favorite Channel',
0x00100000d34: 'Next User Profile',
0x00100000d35: 'On Demand',
0x00100000d36: 'P In P Down',
0x00100000d37: 'P In P Move',
0x00100000d38: 'P In P Toggle',
0x00100000d39: 'P In P Up',
0x00100000d3a: 'Play Speed Down',
0x00100000d3b: 'Play Speed Reset',
0x00100000d3c: 'Play Speed Up',
0x00100000d3d: 'Random Toggle',
0x00100000d3e: 'Rc Low Battery',
0x00100000d3f: 'Record Speed Next',
0x00100000d40: 'Rf Bypass',
0x00100000d41: 'Scan Channels Toggle',
0x00100000d42: 'Screen Mode Next',
0x00100000d43: 'Settings',
0x00100000d44: 'Split Screen Toggle',
0x00100000d45: 'STB Input',
0x00100000d46: 'STB Power',
0x00100000d47: 'Subtitle',
0x00100000d48: 'Teletext',
0x00100000d49: 'TV',
0x00100000d4a: 'TV Input',
0x00100000d4b: 'TV Power',
0x00100000d4c: 'Video Mode Next',
0x00100000d4d: 'Wink',
0x00100000d4e: 'Zoom Toggle',
0x00100000d4f: 'DVR',
0x00100000d50: 'Media Audio Track',
0x00100000d51: 'Media Skip Backward',
0x00100000d52: 'Media Skip Forward',
0x00100000d53: 'Media Step Backward',
0x00100000d54: 'Media Step Forward',
0x00100000d55: 'Media Top Menu',
0x00100000d56: 'Navigate In',
0x00100000d57: 'Navigate Next',
0x00100000d58: 'Navigate Out',
0x00100000d59: 'Navigate Previous',
0x00100000d5a: 'Pairing',
0x00100000d5b: 'Media Close',
0x00100000e02: 'Audio Bass Boost Toggle',
0x00100000e04: 'Audio Treble Down',
0x00100000e05: 'Audio Treble Up',
0x00100000e06: 'Microphone Toggle',
0x00100000e07: 'Microphone Volume Down',
0x00100000e08: 'Microphone Volume Up',
0x00100000e09: 'Microphone Volume Mute',
0x00100000f01: 'Speech Correction List',
0x00100000f02: 'Speech Input Toggle',
0x00100001001: 'App Switch',
0x00100001002: 'Call',
0x00100001003: 'Camera Focus',
0x00100001004: 'End Call',
0x00100001005: 'Go Back',
0x00100001006: 'Go Home',
0x00100001007: 'Headset Hook',
0x00100001008: 'Last Number Redial',
0x00100001009: 'Notification',
0x0010000100a: 'Manner Mode',
0x0010000100b: 'Voice Dial',
0x00100001101: 'TV 3 D Mode',
0x00100001102: 'TV Antenna Cable',
0x00100001103: 'TV Audio Description',
0x00100001104: 'TV Audio Description Mix Down',
0x00100001105: 'TV Audio Description Mix Up',
0x00100001106: 'TV Contents Menu',
0x00100001107: 'TV Data Service',
0x00100001108: 'TV Input Component 1',
0x00100001109: 'TV Input Component 2',
0x0010000110a: 'TV Input Composite 1',
0x0010000110b: 'TV Input Composite 2',
0x0010000110c: 'TV Input HDMI 1',
0x0010000110d: 'TV Input HDMI 2',
0x0010000110e: 'TV Input HDMI 3',
0x0010000110f: 'TV Input HDMI 4',
0x00100001110: 'TV Input VGA 1',
0x00100001111: 'TV Media Context',
0x00100001112: 'TV Network',
0x00100001113: 'TV Number Entry',
0x00100001114: 'TV Radio Service',
0x00100001115: 'TV Satellite',
0x00100001116: 'TV Satellite BS',
0x00100001117: 'TV Satellite CS',
0x00100001118: 'TV Satellite Toggle',
0x00100001119: 'TV Terrestrial Analog',
0x0010000111a: 'TV Terrestrial Digital',
0x0010000111b: 'TV Timer',
0x00100001201: 'Key 11',
0x00100001202: 'Key 12',
0x00200000000: 'Suspend',
0x00200000001: 'Resume',
0x00200000002: 'Sleep',
0x00200000003: 'Abort',
0x00200000010: 'Lang 1',
0x00200000011: 'Lang 2',
0x00200000012: 'Lang 3',
0x00200000013: 'Lang 4',
0x00200000014: 'Lang 5',
0x00200000020: 'Intl Backslash',
0x00200000021: 'Intl Ro',
0x00200000022: 'Intl Yen',
0x00200000100: 'Control Left',
0x00200000101: 'Control Right',
0x00200000102: 'Shift Left',
0x00200000103: 'Shift Right',
0x00200000104: 'Alt Left',
0x00200000105: 'Alt Right',
0x00200000106: 'Meta Left',
0x00200000107: 'Meta Right',
0x002000001f0: 'Control',
0x002000001f2: 'Shift',
0x002000001f4: 'Alt',
0x002000001f6: 'Meta',
0x0020000020d: 'Numpad Enter',
0x00200000228: 'Numpad Paren Left',
0x00200000229: 'Numpad Paren Right',
0x0020000022a: 'Numpad Multiply',
0x0020000022b: 'Numpad Add',
0x0020000022c: 'Numpad Comma',
0x0020000022d: 'Numpad Subtract',
0x0020000022e: 'Numpad Decimal',
0x0020000022f: 'Numpad Divide',
0x00200000230: 'Numpad 0',
0x00200000231: 'Numpad 1',
0x00200000232: 'Numpad 2',
0x00200000233: 'Numpad 3',
0x00200000234: 'Numpad 4',
0x00200000235: 'Numpad 5',
0x00200000236: 'Numpad 6',
0x00200000237: 'Numpad 7',
0x00200000238: 'Numpad 8',
0x00200000239: 'Numpad 9',
0x0020000023d: 'Numpad Equal',
0x00200000301: 'Game Button 1',
0x00200000302: 'Game Button 2',
0x00200000303: 'Game Button 3',
0x00200000304: 'Game Button 4',
0x00200000305: 'Game Button 5',
0x00200000306: 'Game Button 6',
0x00200000307: 'Game Button 7',
0x00200000308: 'Game Button 8',
0x00200000309: 'Game Button 9',
0x0020000030a: 'Game Button 10',
0x0020000030b: 'Game Button 11',
0x0020000030c: 'Game Button 12',
0x0020000030d: 'Game Button 13',
0x0020000030e: 'Game Button 14',
0x0020000030f: 'Game Button 15',
0x00200000310: 'Game Button 16',
0x00200000311: 'Game Button A',
0x00200000312: 'Game Button B',
0x00200000313: 'Game Button C',
0x00200000314: 'Game Button Left 1',
0x00200000315: 'Game Button Left 2',
0x00200000316: 'Game Button Mode',
0x00200000317: 'Game Button Right 1',
0x00200000318: 'Game Button Right 2',
0x00200000319: 'Game Button Select',
0x0020000031a: 'Game Button Start',
0x0020000031b: 'Game Button Thumb Left',
0x0020000031c: 'Game Button Thumb Right',
0x0020000031d: 'Game Button X',
0x0020000031e: 'Game Button Y',
0x0020000031f: 'Game Button Z',
};
}
/// A class with static values that describe the keys that are returned from
/// [RawKeyEvent.physicalKey].
///
/// These represent *physical* keys, which are keys which represent a particular
/// key location on a QWERTY keyboard. It ignores any modifiers, modes, or
/// keyboard layouts which may be in effect. This is contrast to
/// [LogicalKeyboardKey], which represents a logical key interpreted in the
/// context of modifiers, modes, and/or keyboard layouts.
///
/// As an example, if you wanted a game where the key next to the CAPS LOCK (the
/// "A" key on a QWERTY keyboard) moved the player to the left, you'd want to
/// look at the physical key to make sure that regardless of the character the
/// key produces, you got the key that is in that location on the keyboard.
///
/// Conversely, if you wanted to implement an app where the "Q" key "quit"
/// something, you'd want to look at the logical key to detect this, since you
/// would like to have it match the key with "Q" on it, instead of always
/// looking for "the key next to the TAB key", since on a French keyboard,
/// the key next to the TAB key has an "A" on it.
///
/// {@tool dartpad}
/// This example shows how to detect if the user has selected the physical key
/// to the right of the CAPS LOCK key.
///
/// ** See code in examples/api/lib/services/keyboard_key/physical_keyboard_key.0.dart **
/// {@end-tool}
///
/// See also:
///
/// * [RawKeyEvent], the keyboard event object received by widgets that listen
/// to keyboard events.
/// * [Focus.onKey], the handler on a widget that lets you handle key events.
/// * [RawKeyboardListener], a widget used to listen to keyboard events (but
/// not handle them).
@immutable
class PhysicalKeyboardKey extends KeyboardKey {
/// Creates a new PhysicalKeyboardKey object for a USB HID usage.
const PhysicalKeyboardKey(this.usbHidUsage);
/// The unique USB HID usage ID of this physical key on the keyboard.
///
/// Due to the variations in platform APIs, this may not be the actual HID
/// usage code from the hardware, but a value derived from available
/// information on the platform.
///
/// See <https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf>
/// for the HID usage values and their meanings.
final int usbHidUsage;
/// The debug string to print for this keyboard key, which will be null in
/// release mode.
String? get debugName {
String? result;
assert(() {
result = _debugNames[usbHidUsage] ??
'Key with ID 0x${usbHidUsage.toRadixString(16).padLeft(8, '0')}';
return true;
}());
return result;
}
@override
int get hashCode => usbHidUsage.hashCode;
@override
bool operator ==(Object other) {
if (identical(this, other)) {
return true;
}
if (other.runtimeType != runtimeType) {
return false;
}
return other is PhysicalKeyboardKey
&& other.usbHidUsage == usbHidUsage;
}
/// Finds a known [PhysicalKeyboardKey] that matches the given USB HID usage
/// code.
static PhysicalKeyboardKey? findKeyByCode(int usageCode) => _knownPhysicalKeys[usageCode];
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(StringProperty('usbHidUsage', '0x${usbHidUsage.toRadixString(16).padLeft(8, '0')}'));
properties.add(StringProperty('debugName', debugName, defaultValue: null));
}
// Key constants for all keyboard keys in the USB HID specification at the
// time Flutter was built.
/// Represents the location of the "Hyper" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey hyper = PhysicalKeyboardKey(0x00000010);
/// Represents the location of the "Super Key" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey superKey = PhysicalKeyboardKey(0x00000011);
/// Represents the location of the "Fn" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey fn = PhysicalKeyboardKey(0x00000012);
/// Represents the location of the "Fn Lock" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey fnLock = PhysicalKeyboardKey(0x00000013);
/// Represents the location of the "Suspend" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey suspend = PhysicalKeyboardKey(0x00000014);
/// Represents the location of the "Resume" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey resume = PhysicalKeyboardKey(0x00000015);
/// Represents the location of the "Turbo" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey turbo = PhysicalKeyboardKey(0x00000016);
/// Represents the location of the "Privacy Screen Toggle" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey privacyScreenToggle = PhysicalKeyboardKey(0x00000017);
/// Represents the location of the "Microphone Mute Toggle" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey microphoneMuteToggle = PhysicalKeyboardKey(0x00000018);
/// Represents the location of the "Sleep" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey sleep = PhysicalKeyboardKey(0x00010082);
/// Represents the location of the "Wake Up" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey wakeUp = PhysicalKeyboardKey(0x00010083);
/// Represents the location of the "Display Toggle Int Ext" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey displayToggleIntExt = PhysicalKeyboardKey(0x000100b5);
/// Represents the location of the "Game Button 1" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton1 = PhysicalKeyboardKey(0x0005ff01);
/// Represents the location of the "Game Button 2" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton2 = PhysicalKeyboardKey(0x0005ff02);
/// Represents the location of the "Game Button 3" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton3 = PhysicalKeyboardKey(0x0005ff03);
/// Represents the location of the "Game Button 4" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton4 = PhysicalKeyboardKey(0x0005ff04);
/// Represents the location of the "Game Button 5" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton5 = PhysicalKeyboardKey(0x0005ff05);
/// Represents the location of the "Game Button 6" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton6 = PhysicalKeyboardKey(0x0005ff06);
/// Represents the location of the "Game Button 7" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton7 = PhysicalKeyboardKey(0x0005ff07);
/// Represents the location of the "Game Button 8" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton8 = PhysicalKeyboardKey(0x0005ff08);
/// Represents the location of the "Game Button 9" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton9 = PhysicalKeyboardKey(0x0005ff09);
/// Represents the location of the "Game Button 10" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton10 = PhysicalKeyboardKey(0x0005ff0a);
/// Represents the location of the "Game Button 11" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton11 = PhysicalKeyboardKey(0x0005ff0b);
/// Represents the location of the "Game Button 12" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton12 = PhysicalKeyboardKey(0x0005ff0c);
/// Represents the location of the "Game Button 13" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton13 = PhysicalKeyboardKey(0x0005ff0d);
/// Represents the location of the "Game Button 14" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton14 = PhysicalKeyboardKey(0x0005ff0e);
/// Represents the location of the "Game Button 15" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton15 = PhysicalKeyboardKey(0x0005ff0f);
/// Represents the location of the "Game Button 16" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButton16 = PhysicalKeyboardKey(0x0005ff10);
/// Represents the location of the "Game Button A" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonA = PhysicalKeyboardKey(0x0005ff11);
/// Represents the location of the "Game Button B" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonB = PhysicalKeyboardKey(0x0005ff12);
/// Represents the location of the "Game Button C" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonC = PhysicalKeyboardKey(0x0005ff13);
/// Represents the location of the "Game Button Left 1" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonLeft1 = PhysicalKeyboardKey(0x0005ff14);
/// Represents the location of the "Game Button Left 2" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonLeft2 = PhysicalKeyboardKey(0x0005ff15);
/// Represents the location of the "Game Button Mode" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonMode = PhysicalKeyboardKey(0x0005ff16);
/// Represents the location of the "Game Button Right 1" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonRight1 = PhysicalKeyboardKey(0x0005ff17);
/// Represents the location of the "Game Button Right 2" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonRight2 = PhysicalKeyboardKey(0x0005ff18);
/// Represents the location of the "Game Button Select" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonSelect = PhysicalKeyboardKey(0x0005ff19);
/// Represents the location of the "Game Button Start" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonStart = PhysicalKeyboardKey(0x0005ff1a);
/// Represents the location of the "Game Button Thumb Left" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonThumbLeft = PhysicalKeyboardKey(0x0005ff1b);
/// Represents the location of the "Game Button Thumb Right" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonThumbRight = PhysicalKeyboardKey(0x0005ff1c);
/// Represents the location of the "Game Button X" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonX = PhysicalKeyboardKey(0x0005ff1d);
/// Represents the location of the "Game Button Y" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonY = PhysicalKeyboardKey(0x0005ff1e);
/// Represents the location of the "Game Button Z" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey gameButtonZ = PhysicalKeyboardKey(0x0005ff1f);
/// Represents the location of the "Usb Reserved" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey usbReserved = PhysicalKeyboardKey(0x00070000);
/// Represents the location of the "Usb Error Roll Over" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey usbErrorRollOver = PhysicalKeyboardKey(0x00070001);
/// Represents the location of the "Usb Post Fail" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey usbPostFail = PhysicalKeyboardKey(0x00070002);
/// Represents the location of the "Usb Error Undefined" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey usbErrorUndefined = PhysicalKeyboardKey(0x00070003);
/// Represents the location of the "Key A" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyA = PhysicalKeyboardKey(0x00070004);
/// Represents the location of the "Key B" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyB = PhysicalKeyboardKey(0x00070005);
/// Represents the location of the "Key C" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyC = PhysicalKeyboardKey(0x00070006);
/// Represents the location of the "Key D" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyD = PhysicalKeyboardKey(0x00070007);
/// Represents the location of the "Key E" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyE = PhysicalKeyboardKey(0x00070008);
/// Represents the location of the "Key F" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyF = PhysicalKeyboardKey(0x00070009);
/// Represents the location of the "Key G" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyG = PhysicalKeyboardKey(0x0007000a);
/// Represents the location of the "Key H" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyH = PhysicalKeyboardKey(0x0007000b);
/// Represents the location of the "Key I" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyI = PhysicalKeyboardKey(0x0007000c);
/// Represents the location of the "Key J" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyJ = PhysicalKeyboardKey(0x0007000d);
/// Represents the location of the "Key K" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyK = PhysicalKeyboardKey(0x0007000e);
/// Represents the location of the "Key L" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyL = PhysicalKeyboardKey(0x0007000f);
/// Represents the location of the "Key M" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyM = PhysicalKeyboardKey(0x00070010);
/// Represents the location of the "Key N" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyN = PhysicalKeyboardKey(0x00070011);
/// Represents the location of the "Key O" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyO = PhysicalKeyboardKey(0x00070012);
/// Represents the location of the "Key P" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyP = PhysicalKeyboardKey(0x00070013);
/// Represents the location of the "Key Q" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyQ = PhysicalKeyboardKey(0x00070014);
/// Represents the location of the "Key R" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyR = PhysicalKeyboardKey(0x00070015);
/// Represents the location of the "Key S" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyS = PhysicalKeyboardKey(0x00070016);
/// Represents the location of the "Key T" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyT = PhysicalKeyboardKey(0x00070017);
/// Represents the location of the "Key U" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyU = PhysicalKeyboardKey(0x00070018);
/// Represents the location of the "Key V" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyV = PhysicalKeyboardKey(0x00070019);
/// Represents the location of the "Key W" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyW = PhysicalKeyboardKey(0x0007001a);
/// Represents the location of the "Key X" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyX = PhysicalKeyboardKey(0x0007001b);
/// Represents the location of the "Key Y" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyY = PhysicalKeyboardKey(0x0007001c);
/// Represents the location of the "Key Z" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyZ = PhysicalKeyboardKey(0x0007001d);
/// Represents the location of the "Digit 1" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit1 = PhysicalKeyboardKey(0x0007001e);
/// Represents the location of the "Digit 2" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit2 = PhysicalKeyboardKey(0x0007001f);
/// Represents the location of the "Digit 3" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit3 = PhysicalKeyboardKey(0x00070020);
/// Represents the location of the "Digit 4" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit4 = PhysicalKeyboardKey(0x00070021);
/// Represents the location of the "Digit 5" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit5 = PhysicalKeyboardKey(0x00070022);
/// Represents the location of the "Digit 6" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit6 = PhysicalKeyboardKey(0x00070023);
/// Represents the location of the "Digit 7" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit7 = PhysicalKeyboardKey(0x00070024);
/// Represents the location of the "Digit 8" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit8 = PhysicalKeyboardKey(0x00070025);
/// Represents the location of the "Digit 9" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit9 = PhysicalKeyboardKey(0x00070026);
/// Represents the location of the "Digit 0" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey digit0 = PhysicalKeyboardKey(0x00070027);
/// Represents the location of the "Enter" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey enter = PhysicalKeyboardKey(0x00070028);
/// Represents the location of the "Escape" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey escape = PhysicalKeyboardKey(0x00070029);
/// Represents the location of the "Backspace" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey backspace = PhysicalKeyboardKey(0x0007002a);
/// Represents the location of the "Tab" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey tab = PhysicalKeyboardKey(0x0007002b);
/// Represents the location of the "Space" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey space = PhysicalKeyboardKey(0x0007002c);
/// Represents the location of the "Minus" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey minus = PhysicalKeyboardKey(0x0007002d);
/// Represents the location of the "Equal" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey equal = PhysicalKeyboardKey(0x0007002e);
/// Represents the location of the "Bracket Left" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey bracketLeft = PhysicalKeyboardKey(0x0007002f);
/// Represents the location of the "Bracket Right" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey bracketRight = PhysicalKeyboardKey(0x00070030);
/// Represents the location of the "Backslash" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey backslash = PhysicalKeyboardKey(0x00070031);
/// Represents the location of the "Semicolon" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey semicolon = PhysicalKeyboardKey(0x00070033);
/// Represents the location of the "Quote" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey quote = PhysicalKeyboardKey(0x00070034);
/// Represents the location of the "Backquote" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey backquote = PhysicalKeyboardKey(0x00070035);
/// Represents the location of the "Comma" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey comma = PhysicalKeyboardKey(0x00070036);
/// Represents the location of the "Period" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey period = PhysicalKeyboardKey(0x00070037);
/// Represents the location of the "Slash" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey slash = PhysicalKeyboardKey(0x00070038);
/// Represents the location of the "Caps Lock" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey capsLock = PhysicalKeyboardKey(0x00070039);
/// Represents the location of the "F1" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f1 = PhysicalKeyboardKey(0x0007003a);
/// Represents the location of the "F2" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f2 = PhysicalKeyboardKey(0x0007003b);
/// Represents the location of the "F3" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f3 = PhysicalKeyboardKey(0x0007003c);
/// Represents the location of the "F4" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f4 = PhysicalKeyboardKey(0x0007003d);
/// Represents the location of the "F5" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f5 = PhysicalKeyboardKey(0x0007003e);
/// Represents the location of the "F6" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f6 = PhysicalKeyboardKey(0x0007003f);
/// Represents the location of the "F7" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f7 = PhysicalKeyboardKey(0x00070040);
/// Represents the location of the "F8" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f8 = PhysicalKeyboardKey(0x00070041);
/// Represents the location of the "F9" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f9 = PhysicalKeyboardKey(0x00070042);
/// Represents the location of the "F10" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f10 = PhysicalKeyboardKey(0x00070043);
/// Represents the location of the "F11" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f11 = PhysicalKeyboardKey(0x00070044);
/// Represents the location of the "F12" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f12 = PhysicalKeyboardKey(0x00070045);
/// Represents the location of the "Print Screen" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey printScreen = PhysicalKeyboardKey(0x00070046);
/// Represents the location of the "Scroll Lock" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey scrollLock = PhysicalKeyboardKey(0x00070047);
/// Represents the location of the "Pause" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey pause = PhysicalKeyboardKey(0x00070048);
/// Represents the location of the "Insert" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey insert = PhysicalKeyboardKey(0x00070049);
/// Represents the location of the "Home" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey home = PhysicalKeyboardKey(0x0007004a);
/// Represents the location of the "Page Up" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey pageUp = PhysicalKeyboardKey(0x0007004b);
/// Represents the location of the "Delete" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey delete = PhysicalKeyboardKey(0x0007004c);
/// Represents the location of the "End" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey end = PhysicalKeyboardKey(0x0007004d);
/// Represents the location of the "Page Down" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey pageDown = PhysicalKeyboardKey(0x0007004e);
/// Represents the location of the "Arrow Right" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey arrowRight = PhysicalKeyboardKey(0x0007004f);
/// Represents the location of the "Arrow Left" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey arrowLeft = PhysicalKeyboardKey(0x00070050);
/// Represents the location of the "Arrow Down" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey arrowDown = PhysicalKeyboardKey(0x00070051);
/// Represents the location of the "Arrow Up" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey arrowUp = PhysicalKeyboardKey(0x00070052);
/// Represents the location of the "Num Lock" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numLock = PhysicalKeyboardKey(0x00070053);
/// Represents the location of the "Numpad Divide" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadDivide = PhysicalKeyboardKey(0x00070054);
/// Represents the location of the "Numpad Multiply" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadMultiply = PhysicalKeyboardKey(0x00070055);
/// Represents the location of the "Numpad Subtract" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadSubtract = PhysicalKeyboardKey(0x00070056);
/// Represents the location of the "Numpad Add" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadAdd = PhysicalKeyboardKey(0x00070057);
/// Represents the location of the "Numpad Enter" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadEnter = PhysicalKeyboardKey(0x00070058);
/// Represents the location of the "Numpad 1" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad1 = PhysicalKeyboardKey(0x00070059);
/// Represents the location of the "Numpad 2" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad2 = PhysicalKeyboardKey(0x0007005a);
/// Represents the location of the "Numpad 3" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad3 = PhysicalKeyboardKey(0x0007005b);
/// Represents the location of the "Numpad 4" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad4 = PhysicalKeyboardKey(0x0007005c);
/// Represents the location of the "Numpad 5" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad5 = PhysicalKeyboardKey(0x0007005d);
/// Represents the location of the "Numpad 6" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad6 = PhysicalKeyboardKey(0x0007005e);
/// Represents the location of the "Numpad 7" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad7 = PhysicalKeyboardKey(0x0007005f);
/// Represents the location of the "Numpad 8" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad8 = PhysicalKeyboardKey(0x00070060);
/// Represents the location of the "Numpad 9" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad9 = PhysicalKeyboardKey(0x00070061);
/// Represents the location of the "Numpad 0" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpad0 = PhysicalKeyboardKey(0x00070062);
/// Represents the location of the "Numpad Decimal" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadDecimal = PhysicalKeyboardKey(0x00070063);
/// Represents the location of the "Intl Backslash" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey intlBackslash = PhysicalKeyboardKey(0x00070064);
/// Represents the location of the "Context Menu" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey contextMenu = PhysicalKeyboardKey(0x00070065);
/// Represents the location of the "Power" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey power = PhysicalKeyboardKey(0x00070066);
/// Represents the location of the "Numpad Equal" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadEqual = PhysicalKeyboardKey(0x00070067);
/// Represents the location of the "F13" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f13 = PhysicalKeyboardKey(0x00070068);
/// Represents the location of the "F14" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f14 = PhysicalKeyboardKey(0x00070069);
/// Represents the location of the "F15" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f15 = PhysicalKeyboardKey(0x0007006a);
/// Represents the location of the "F16" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f16 = PhysicalKeyboardKey(0x0007006b);
/// Represents the location of the "F17" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f17 = PhysicalKeyboardKey(0x0007006c);
/// Represents the location of the "F18" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f18 = PhysicalKeyboardKey(0x0007006d);
/// Represents the location of the "F19" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f19 = PhysicalKeyboardKey(0x0007006e);
/// Represents the location of the "F20" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f20 = PhysicalKeyboardKey(0x0007006f);
/// Represents the location of the "F21" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f21 = PhysicalKeyboardKey(0x00070070);
/// Represents the location of the "F22" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f22 = PhysicalKeyboardKey(0x00070071);
/// Represents the location of the "F23" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f23 = PhysicalKeyboardKey(0x00070072);
/// Represents the location of the "F24" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey f24 = PhysicalKeyboardKey(0x00070073);
/// Represents the location of the "Open" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey open = PhysicalKeyboardKey(0x00070074);
/// Represents the location of the "Help" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey help = PhysicalKeyboardKey(0x00070075);
/// Represents the location of the "Select" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey select = PhysicalKeyboardKey(0x00070077);
/// Represents the location of the "Again" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey again = PhysicalKeyboardKey(0x00070079);
/// Represents the location of the "Undo" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey undo = PhysicalKeyboardKey(0x0007007a);
/// Represents the location of the "Cut" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey cut = PhysicalKeyboardKey(0x0007007b);
/// Represents the location of the "Copy" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey copy = PhysicalKeyboardKey(0x0007007c);
/// Represents the location of the "Paste" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey paste = PhysicalKeyboardKey(0x0007007d);
/// Represents the location of the "Find" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey find = PhysicalKeyboardKey(0x0007007e);
/// Represents the location of the "Audio Volume Mute" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey audioVolumeMute = PhysicalKeyboardKey(0x0007007f);
/// Represents the location of the "Audio Volume Up" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey audioVolumeUp = PhysicalKeyboardKey(0x00070080);
/// Represents the location of the "Audio Volume Down" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey audioVolumeDown = PhysicalKeyboardKey(0x00070081);
/// Represents the location of the "Numpad Comma" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadComma = PhysicalKeyboardKey(0x00070085);
/// Represents the location of the "Intl Ro" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey intlRo = PhysicalKeyboardKey(0x00070087);
/// Represents the location of the "Kana Mode" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey kanaMode = PhysicalKeyboardKey(0x00070088);
/// Represents the location of the "Intl Yen" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey intlYen = PhysicalKeyboardKey(0x00070089);
/// Represents the location of the "Convert" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey convert = PhysicalKeyboardKey(0x0007008a);
/// Represents the location of the "Non Convert" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey nonConvert = PhysicalKeyboardKey(0x0007008b);
/// Represents the location of the "Lang 1" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey lang1 = PhysicalKeyboardKey(0x00070090);
/// Represents the location of the "Lang 2" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey lang2 = PhysicalKeyboardKey(0x00070091);
/// Represents the location of the "Lang 3" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey lang3 = PhysicalKeyboardKey(0x00070092);
/// Represents the location of the "Lang 4" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey lang4 = PhysicalKeyboardKey(0x00070093);
/// Represents the location of the "Lang 5" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey lang5 = PhysicalKeyboardKey(0x00070094);
/// Represents the location of the "Abort" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey abort = PhysicalKeyboardKey(0x0007009b);
/// Represents the location of the "Props" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey props = PhysicalKeyboardKey(0x000700a3);
/// Represents the location of the "Numpad Paren Left" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadParenLeft = PhysicalKeyboardKey(0x000700b6);
/// Represents the location of the "Numpad Paren Right" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadParenRight = PhysicalKeyboardKey(0x000700b7);
/// Represents the location of the "Numpad Backspace" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadBackspace = PhysicalKeyboardKey(0x000700bb);
/// Represents the location of the "Numpad Memory Store" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadMemoryStore = PhysicalKeyboardKey(0x000700d0);
/// Represents the location of the "Numpad Memory Recall" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadMemoryRecall = PhysicalKeyboardKey(0x000700d1);
/// Represents the location of the "Numpad Memory Clear" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadMemoryClear = PhysicalKeyboardKey(0x000700d2);
/// Represents the location of the "Numpad Memory Add" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadMemoryAdd = PhysicalKeyboardKey(0x000700d3);
/// Represents the location of the "Numpad Memory Subtract" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadMemorySubtract = PhysicalKeyboardKey(0x000700d4);
/// Represents the location of the "Numpad Sign Change" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadSignChange = PhysicalKeyboardKey(0x000700d7);
/// Represents the location of the "Numpad Clear" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadClear = PhysicalKeyboardKey(0x000700d8);
/// Represents the location of the "Numpad Clear Entry" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey numpadClearEntry = PhysicalKeyboardKey(0x000700d9);
/// Represents the location of the "Control Left" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey controlLeft = PhysicalKeyboardKey(0x000700e0);
/// Represents the location of the "Shift Left" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey shiftLeft = PhysicalKeyboardKey(0x000700e1);
/// Represents the location of the "Alt Left" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey altLeft = PhysicalKeyboardKey(0x000700e2);
/// Represents the location of the "Meta Left" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey metaLeft = PhysicalKeyboardKey(0x000700e3);
/// Represents the location of the "Control Right" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey controlRight = PhysicalKeyboardKey(0x000700e4);
/// Represents the location of the "Shift Right" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey shiftRight = PhysicalKeyboardKey(0x000700e5);
/// Represents the location of the "Alt Right" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey altRight = PhysicalKeyboardKey(0x000700e6);
/// Represents the location of the "Meta Right" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey metaRight = PhysicalKeyboardKey(0x000700e7);
/// Represents the location of the "Info" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey info = PhysicalKeyboardKey(0x000c0060);
/// Represents the location of the "Closed Caption Toggle" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey closedCaptionToggle = PhysicalKeyboardKey(0x000c0061);
/// Represents the location of the "Brightness Up" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey brightnessUp = PhysicalKeyboardKey(0x000c006f);
/// Represents the location of the "Brightness Down" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey brightnessDown = PhysicalKeyboardKey(0x000c0070);
/// Represents the location of the "Brightness Toggle" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey brightnessToggle = PhysicalKeyboardKey(0x000c0072);
/// Represents the location of the "Brightness Minimum" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey brightnessMinimum = PhysicalKeyboardKey(0x000c0073);
/// Represents the location of the "Brightness Maximum" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey brightnessMaximum = PhysicalKeyboardKey(0x000c0074);
/// Represents the location of the "Brightness Auto" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey brightnessAuto = PhysicalKeyboardKey(0x000c0075);
/// Represents the location of the "Kbd Illum Up" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey kbdIllumUp = PhysicalKeyboardKey(0x000c0079);
/// Represents the location of the "Kbd Illum Down" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey kbdIllumDown = PhysicalKeyboardKey(0x000c007a);
/// Represents the location of the "Media Last" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaLast = PhysicalKeyboardKey(0x000c0083);
/// Represents the location of the "Launch Phone" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchPhone = PhysicalKeyboardKey(0x000c008c);
/// Represents the location of the "Program Guide" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey programGuide = PhysicalKeyboardKey(0x000c008d);
/// Represents the location of the "Exit" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey exit = PhysicalKeyboardKey(0x000c0094);
/// Represents the location of the "Channel Up" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey channelUp = PhysicalKeyboardKey(0x000c009c);
/// Represents the location of the "Channel Down" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey channelDown = PhysicalKeyboardKey(0x000c009d);
/// Represents the location of the "Media Play" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaPlay = PhysicalKeyboardKey(0x000c00b0);
/// Represents the location of the "Media Pause" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaPause = PhysicalKeyboardKey(0x000c00b1);
/// Represents the location of the "Media Record" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaRecord = PhysicalKeyboardKey(0x000c00b2);
/// Represents the location of the "Media Fast Forward" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaFastForward = PhysicalKeyboardKey(0x000c00b3);
/// Represents the location of the "Media Rewind" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaRewind = PhysicalKeyboardKey(0x000c00b4);
/// Represents the location of the "Media Track Next" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaTrackNext = PhysicalKeyboardKey(0x000c00b5);
/// Represents the location of the "Media Track Previous" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaTrackPrevious = PhysicalKeyboardKey(0x000c00b6);
/// Represents the location of the "Media Stop" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaStop = PhysicalKeyboardKey(0x000c00b7);
/// Represents the location of the "Eject" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey eject = PhysicalKeyboardKey(0x000c00b8);
/// Represents the location of the "Media Play Pause" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaPlayPause = PhysicalKeyboardKey(0x000c00cd);
/// Represents the location of the "Speech Input Toggle" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey speechInputToggle = PhysicalKeyboardKey(0x000c00cf);
/// Represents the location of the "Bass Boost" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey bassBoost = PhysicalKeyboardKey(0x000c00e5);
/// Represents the location of the "Media Select" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaSelect = PhysicalKeyboardKey(0x000c0183);
/// Represents the location of the "Launch Word Processor" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchWordProcessor = PhysicalKeyboardKey(0x000c0184);
/// Represents the location of the "Launch Spreadsheet" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchSpreadsheet = PhysicalKeyboardKey(0x000c0186);
/// Represents the location of the "Launch Mail" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchMail = PhysicalKeyboardKey(0x000c018a);
/// Represents the location of the "Launch Contacts" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchContacts = PhysicalKeyboardKey(0x000c018d);
/// Represents the location of the "Launch Calendar" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchCalendar = PhysicalKeyboardKey(0x000c018e);
/// Represents the location of the "Launch App2" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchApp2 = PhysicalKeyboardKey(0x000c0192);
/// Represents the location of the "Launch App1" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchApp1 = PhysicalKeyboardKey(0x000c0194);
/// Represents the location of the "Launch Internet Browser" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchInternetBrowser = PhysicalKeyboardKey(0x000c0196);
/// Represents the location of the "Log Off" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey logOff = PhysicalKeyboardKey(0x000c019c);
/// Represents the location of the "Lock Screen" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey lockScreen = PhysicalKeyboardKey(0x000c019e);
/// Represents the location of the "Launch Control Panel" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchControlPanel = PhysicalKeyboardKey(0x000c019f);
/// Represents the location of the "Select Task" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey selectTask = PhysicalKeyboardKey(0x000c01a2);
/// Represents the location of the "Launch Documents" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchDocuments = PhysicalKeyboardKey(0x000c01a7);
/// Represents the location of the "Spell Check" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey spellCheck = PhysicalKeyboardKey(0x000c01ab);
/// Represents the location of the "Launch Keyboard Layout" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchKeyboardLayout = PhysicalKeyboardKey(0x000c01ae);
/// Represents the location of the "Launch Screen Saver" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchScreenSaver = PhysicalKeyboardKey(0x000c01b1);
/// Represents the location of the "Launch Audio Browser" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchAudioBrowser = PhysicalKeyboardKey(0x000c01b7);
/// Represents the location of the "Launch Assistant" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey launchAssistant = PhysicalKeyboardKey(0x000c01cb);
/// Represents the location of the "New Key" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey newKey = PhysicalKeyboardKey(0x000c0201);
/// Represents the location of the "Close" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey close = PhysicalKeyboardKey(0x000c0203);
/// Represents the location of the "Save" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey save = PhysicalKeyboardKey(0x000c0207);
/// Represents the location of the "Print" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey print = PhysicalKeyboardKey(0x000c0208);
/// Represents the location of the "Browser Search" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserSearch = PhysicalKeyboardKey(0x000c0221);
/// Represents the location of the "Browser Home" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserHome = PhysicalKeyboardKey(0x000c0223);
/// Represents the location of the "Browser Back" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserBack = PhysicalKeyboardKey(0x000c0224);
/// Represents the location of the "Browser Forward" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserForward = PhysicalKeyboardKey(0x000c0225);
/// Represents the location of the "Browser Stop" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserStop = PhysicalKeyboardKey(0x000c0226);
/// Represents the location of the "Browser Refresh" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserRefresh = PhysicalKeyboardKey(0x000c0227);
/// Represents the location of the "Browser Favorites" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey browserFavorites = PhysicalKeyboardKey(0x000c022a);
/// Represents the location of the "Zoom In" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey zoomIn = PhysicalKeyboardKey(0x000c022d);
/// Represents the location of the "Zoom Out" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey zoomOut = PhysicalKeyboardKey(0x000c022e);
/// Represents the location of the "Zoom Toggle" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey zoomToggle = PhysicalKeyboardKey(0x000c0232);
/// Represents the location of the "Redo" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey redo = PhysicalKeyboardKey(0x000c0279);
/// Represents the location of the "Mail Reply" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mailReply = PhysicalKeyboardKey(0x000c0289);
/// Represents the location of the "Mail Forward" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mailForward = PhysicalKeyboardKey(0x000c028b);
/// Represents the location of the "Mail Send" key on a generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mailSend = PhysicalKeyboardKey(0x000c028c);
/// Represents the location of the "Keyboard Layout Select" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey keyboardLayoutSelect = PhysicalKeyboardKey(0x000c029d);
/// Represents the location of the "Show All Windows" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey showAllWindows = PhysicalKeyboardKey(0x000c029f);
/// A list of all predefined constant [PhysicalKeyboardKey]s.
static Iterable<PhysicalKeyboardKey> get knownPhysicalKeys => _knownPhysicalKeys.values;
// A list of all the predefined constant PhysicalKeyboardKeys so that they
// can be searched.
static const Map<int, PhysicalKeyboardKey> _knownPhysicalKeys = <int, PhysicalKeyboardKey>{
0x00000010: hyper,
0x00000011: superKey,
0x00000012: fn,
0x00000013: fnLock,
0x00000014: suspend,
0x00000015: resume,
0x00000016: turbo,
0x00000017: privacyScreenToggle,
0x00000018: microphoneMuteToggle,
0x00010082: sleep,
0x00010083: wakeUp,
0x000100b5: displayToggleIntExt,
0x0005ff01: gameButton1,
0x0005ff02: gameButton2,
0x0005ff03: gameButton3,
0x0005ff04: gameButton4,
0x0005ff05: gameButton5,
0x0005ff06: gameButton6,
0x0005ff07: gameButton7,
0x0005ff08: gameButton8,
0x0005ff09: gameButton9,
0x0005ff0a: gameButton10,
0x0005ff0b: gameButton11,
0x0005ff0c: gameButton12,
0x0005ff0d: gameButton13,
0x0005ff0e: gameButton14,
0x0005ff0f: gameButton15,
0x0005ff10: gameButton16,
0x0005ff11: gameButtonA,
0x0005ff12: gameButtonB,
0x0005ff13: gameButtonC,
0x0005ff14: gameButtonLeft1,
0x0005ff15: gameButtonLeft2,
0x0005ff16: gameButtonMode,
0x0005ff17: gameButtonRight1,
0x0005ff18: gameButtonRight2,
0x0005ff19: gameButtonSelect,
0x0005ff1a: gameButtonStart,
0x0005ff1b: gameButtonThumbLeft,
0x0005ff1c: gameButtonThumbRight,
0x0005ff1d: gameButtonX,
0x0005ff1e: gameButtonY,
0x0005ff1f: gameButtonZ,
0x00070000: usbReserved,
0x00070001: usbErrorRollOver,
0x00070002: usbPostFail,
0x00070003: usbErrorUndefined,
0x00070004: keyA,
0x00070005: keyB,
0x00070006: keyC,
0x00070007: keyD,
0x00070008: keyE,
0x00070009: keyF,
0x0007000a: keyG,
0x0007000b: keyH,
0x0007000c: keyI,
0x0007000d: keyJ,
0x0007000e: keyK,
0x0007000f: keyL,
0x00070010: keyM,
0x00070011: keyN,
0x00070012: keyO,
0x00070013: keyP,
0x00070014: keyQ,
0x00070015: keyR,
0x00070016: keyS,
0x00070017: keyT,
0x00070018: keyU,
0x00070019: keyV,
0x0007001a: keyW,
0x0007001b: keyX,
0x0007001c: keyY,
0x0007001d: keyZ,
0x0007001e: digit1,
0x0007001f: digit2,
0x00070020: digit3,
0x00070021: digit4,
0x00070022: digit5,
0x00070023: digit6,
0x00070024: digit7,
0x00070025: digit8,
0x00070026: digit9,
0x00070027: digit0,
0x00070028: enter,
0x00070029: escape,
0x0007002a: backspace,
0x0007002b: tab,
0x0007002c: space,
0x0007002d: minus,
0x0007002e: equal,
0x0007002f: bracketLeft,
0x00070030: bracketRight,
0x00070031: backslash,
0x00070033: semicolon,
0x00070034: quote,
0x00070035: backquote,
0x00070036: comma,
0x00070037: period,
0x00070038: slash,
0x00070039: capsLock,
0x0007003a: f1,
0x0007003b: f2,
0x0007003c: f3,
0x0007003d: f4,
0x0007003e: f5,
0x0007003f: f6,
0x00070040: f7,
0x00070041: f8,
0x00070042: f9,
0x00070043: f10,
0x00070044: f11,
0x00070045: f12,
0x00070046: printScreen,
0x00070047: scrollLock,
0x00070048: pause,
0x00070049: insert,
0x0007004a: home,
0x0007004b: pageUp,
0x0007004c: delete,
0x0007004d: end,
0x0007004e: pageDown,
0x0007004f: arrowRight,
0x00070050: arrowLeft,
0x00070051: arrowDown,
0x00070052: arrowUp,
0x00070053: numLock,
0x00070054: numpadDivide,
0x00070055: numpadMultiply,
0x00070056: numpadSubtract,
0x00070057: numpadAdd,
0x00070058: numpadEnter,
0x00070059: numpad1,
0x0007005a: numpad2,
0x0007005b: numpad3,
0x0007005c: numpad4,
0x0007005d: numpad5,
0x0007005e: numpad6,
0x0007005f: numpad7,
0x00070060: numpad8,
0x00070061: numpad9,
0x00070062: numpad0,
0x00070063: numpadDecimal,
0x00070064: intlBackslash,
0x00070065: contextMenu,
0x00070066: power,
0x00070067: numpadEqual,
0x00070068: f13,
0x00070069: f14,
0x0007006a: f15,
0x0007006b: f16,
0x0007006c: f17,
0x0007006d: f18,
0x0007006e: f19,
0x0007006f: f20,
0x00070070: f21,
0x00070071: f22,
0x00070072: f23,
0x00070073: f24,
0x00070074: open,
0x00070075: help,
0x00070077: select,
0x00070079: again,
0x0007007a: undo,
0x0007007b: cut,
0x0007007c: copy,
0x0007007d: paste,
0x0007007e: find,
0x0007007f: audioVolumeMute,
0x00070080: audioVolumeUp,
0x00070081: audioVolumeDown,
0x00070085: numpadComma,
0x00070087: intlRo,
0x00070088: kanaMode,
0x00070089: intlYen,
0x0007008a: convert,
0x0007008b: nonConvert,
0x00070090: lang1,
0x00070091: lang2,
0x00070092: lang3,
0x00070093: lang4,
0x00070094: lang5,
0x0007009b: abort,
0x000700a3: props,
0x000700b6: numpadParenLeft,
0x000700b7: numpadParenRight,
0x000700bb: numpadBackspace,
0x000700d0: numpadMemoryStore,
0x000700d1: numpadMemoryRecall,
0x000700d2: numpadMemoryClear,
0x000700d3: numpadMemoryAdd,
0x000700d4: numpadMemorySubtract,
0x000700d7: numpadSignChange,
0x000700d8: numpadClear,
0x000700d9: numpadClearEntry,
0x000700e0: controlLeft,
0x000700e1: shiftLeft,
0x000700e2: altLeft,
0x000700e3: metaLeft,
0x000700e4: controlRight,
0x000700e5: shiftRight,
0x000700e6: altRight,
0x000700e7: metaRight,
0x000c0060: info,
0x000c0061: closedCaptionToggle,
0x000c006f: brightnessUp,
0x000c0070: brightnessDown,
0x000c0072: brightnessToggle,
0x000c0073: brightnessMinimum,
0x000c0074: brightnessMaximum,
0x000c0075: brightnessAuto,
0x000c0079: kbdIllumUp,
0x000c007a: kbdIllumDown,
0x000c0083: mediaLast,
0x000c008c: launchPhone,
0x000c008d: programGuide,
0x000c0094: exit,
0x000c009c: channelUp,
0x000c009d: channelDown,
0x000c00b0: mediaPlay,
0x000c00b1: mediaPause,
0x000c00b2: mediaRecord,
0x000c00b3: mediaFastForward,
0x000c00b4: mediaRewind,
0x000c00b5: mediaTrackNext,
0x000c00b6: mediaTrackPrevious,
0x000c00b7: mediaStop,
0x000c00b8: eject,
0x000c00cd: mediaPlayPause,
0x000c00cf: speechInputToggle,
0x000c00e5: bassBoost,
0x000c0183: mediaSelect,
0x000c0184: launchWordProcessor,
0x000c0186: launchSpreadsheet,
0x000c018a: launchMail,
0x000c018d: launchContacts,
0x000c018e: launchCalendar,
0x000c0192: launchApp2,
0x000c0194: launchApp1,
0x000c0196: launchInternetBrowser,
0x000c019c: logOff,
0x000c019e: lockScreen,
0x000c019f: launchControlPanel,
0x000c01a2: selectTask,
0x000c01a7: launchDocuments,
0x000c01ab: spellCheck,
0x000c01ae: launchKeyboardLayout,
0x000c01b1: launchScreenSaver,
0x000c01b7: launchAudioBrowser,
0x000c01cb: launchAssistant,
0x000c0201: newKey,
0x000c0203: close,
0x000c0207: save,
0x000c0208: print,
0x000c0221: browserSearch,
0x000c0223: browserHome,
0x000c0224: browserBack,
0x000c0225: browserForward,
0x000c0226: browserStop,
0x000c0227: browserRefresh,
0x000c022a: browserFavorites,
0x000c022d: zoomIn,
0x000c022e: zoomOut,
0x000c0232: zoomToggle,
0x000c0279: redo,
0x000c0289: mailReply,
0x000c028b: mailForward,
0x000c028c: mailSend,
0x000c029d: keyboardLayoutSelect,
0x000c029f: showAllWindows,
};
static const Map<int, String> _debugNames = kReleaseMode ?
<int, String>{} :
<int, String>{
0x00000010: 'Hyper',
0x00000011: 'Super Key',
0x00000012: 'Fn',
0x00000013: 'Fn Lock',
0x00000014: 'Suspend',
0x00000015: 'Resume',
0x00000016: 'Turbo',
0x00000017: 'Privacy Screen Toggle',
0x00000018: 'Microphone Mute Toggle',
0x00010082: 'Sleep',
0x00010083: 'Wake Up',
0x000100b5: 'Display Toggle Int Ext',
0x0005ff01: 'Game Button 1',
0x0005ff02: 'Game Button 2',
0x0005ff03: 'Game Button 3',
0x0005ff04: 'Game Button 4',
0x0005ff05: 'Game Button 5',
0x0005ff06: 'Game Button 6',
0x0005ff07: 'Game Button 7',
0x0005ff08: 'Game Button 8',
0x0005ff09: 'Game Button 9',
0x0005ff0a: 'Game Button 10',
0x0005ff0b: 'Game Button 11',
0x0005ff0c: 'Game Button 12',
0x0005ff0d: 'Game Button 13',
0x0005ff0e: 'Game Button 14',
0x0005ff0f: 'Game Button 15',
0x0005ff10: 'Game Button 16',
0x0005ff11: 'Game Button A',
0x0005ff12: 'Game Button B',
0x0005ff13: 'Game Button C',
0x0005ff14: 'Game Button Left 1',
0x0005ff15: 'Game Button Left 2',
0x0005ff16: 'Game Button Mode',
0x0005ff17: 'Game Button Right 1',
0x0005ff18: 'Game Button Right 2',
0x0005ff19: 'Game Button Select',
0x0005ff1a: 'Game Button Start',
0x0005ff1b: 'Game Button Thumb Left',
0x0005ff1c: 'Game Button Thumb Right',
0x0005ff1d: 'Game Button X',
0x0005ff1e: 'Game Button Y',
0x0005ff1f: 'Game Button Z',
0x00070000: 'Usb Reserved',
0x00070001: 'Usb Error Roll Over',
0x00070002: 'Usb Post Fail',
0x00070003: 'Usb Error Undefined',
0x00070004: 'Key A',
0x00070005: 'Key B',
0x00070006: 'Key C',
0x00070007: 'Key D',
0x00070008: 'Key E',
0x00070009: 'Key F',
0x0007000a: 'Key G',
0x0007000b: 'Key H',
0x0007000c: 'Key I',
0x0007000d: 'Key J',
0x0007000e: 'Key K',
0x0007000f: 'Key L',
0x00070010: 'Key M',
0x00070011: 'Key N',
0x00070012: 'Key O',
0x00070013: 'Key P',
0x00070014: 'Key Q',
0x00070015: 'Key R',
0x00070016: 'Key S',
0x00070017: 'Key T',
0x00070018: 'Key U',
0x00070019: 'Key V',
0x0007001a: 'Key W',
0x0007001b: 'Key X',
0x0007001c: 'Key Y',
0x0007001d: 'Key Z',
0x0007001e: 'Digit 1',
0x0007001f: 'Digit 2',
0x00070020: 'Digit 3',
0x00070021: 'Digit 4',
0x00070022: 'Digit 5',
0x00070023: 'Digit 6',
0x00070024: 'Digit 7',
0x00070025: 'Digit 8',
0x00070026: 'Digit 9',
0x00070027: 'Digit 0',
0x00070028: 'Enter',
0x00070029: 'Escape',
0x0007002a: 'Backspace',
0x0007002b: 'Tab',
0x0007002c: 'Space',
0x0007002d: 'Minus',
0x0007002e: 'Equal',
0x0007002f: 'Bracket Left',
0x00070030: 'Bracket Right',
0x00070031: 'Backslash',
0x00070033: 'Semicolon',
0x00070034: 'Quote',
0x00070035: 'Backquote',
0x00070036: 'Comma',
0x00070037: 'Period',
0x00070038: 'Slash',
0x00070039: 'Caps Lock',
0x0007003a: 'F1',
0x0007003b: 'F2',
0x0007003c: 'F3',
0x0007003d: 'F4',
0x0007003e: 'F5',
0x0007003f: 'F6',
0x00070040: 'F7',
0x00070041: 'F8',
0x00070042: 'F9',
0x00070043: 'F10',
0x00070044: 'F11',
0x00070045: 'F12',
0x00070046: 'Print Screen',
0x00070047: 'Scroll Lock',
0x00070048: 'Pause',
0x00070049: 'Insert',
0x0007004a: 'Home',
0x0007004b: 'Page Up',
0x0007004c: 'Delete',
0x0007004d: 'End',
0x0007004e: 'Page Down',
0x0007004f: 'Arrow Right',
0x00070050: 'Arrow Left',
0x00070051: 'Arrow Down',
0x00070052: 'Arrow Up',
0x00070053: 'Num Lock',
0x00070054: 'Numpad Divide',
0x00070055: 'Numpad Multiply',
0x00070056: 'Numpad Subtract',
0x00070057: 'Numpad Add',
0x00070058: 'Numpad Enter',
0x00070059: 'Numpad 1',
0x0007005a: 'Numpad 2',
0x0007005b: 'Numpad 3',
0x0007005c: 'Numpad 4',
0x0007005d: 'Numpad 5',
0x0007005e: 'Numpad 6',
0x0007005f: 'Numpad 7',
0x00070060: 'Numpad 8',
0x00070061: 'Numpad 9',
0x00070062: 'Numpad 0',
0x00070063: 'Numpad Decimal',
0x00070064: 'Intl Backslash',
0x00070065: 'Context Menu',
0x00070066: 'Power',
0x00070067: 'Numpad Equal',
0x00070068: 'F13',
0x00070069: 'F14',
0x0007006a: 'F15',
0x0007006b: 'F16',
0x0007006c: 'F17',
0x0007006d: 'F18',
0x0007006e: 'F19',
0x0007006f: 'F20',
0x00070070: 'F21',
0x00070071: 'F22',
0x00070072: 'F23',
0x00070073: 'F24',
0x00070074: 'Open',
0x00070075: 'Help',
0x00070077: 'Select',
0x00070079: 'Again',
0x0007007a: 'Undo',
0x0007007b: 'Cut',
0x0007007c: 'Copy',
0x0007007d: 'Paste',
0x0007007e: 'Find',
0x0007007f: 'Audio Volume Mute',
0x00070080: 'Audio Volume Up',
0x00070081: 'Audio Volume Down',
0x00070085: 'Numpad Comma',
0x00070087: 'Intl Ro',
0x00070088: 'Kana Mode',
0x00070089: 'Intl Yen',
0x0007008a: 'Convert',
0x0007008b: 'Non Convert',
0x00070090: 'Lang 1',
0x00070091: 'Lang 2',
0x00070092: 'Lang 3',
0x00070093: 'Lang 4',
0x00070094: 'Lang 5',
0x0007009b: 'Abort',
0x000700a3: 'Props',
0x000700b6: 'Numpad Paren Left',
0x000700b7: 'Numpad Paren Right',
0x000700bb: 'Numpad Backspace',
0x000700d0: 'Numpad Memory Store',
0x000700d1: 'Numpad Memory Recall',
0x000700d2: 'Numpad Memory Clear',
0x000700d3: 'Numpad Memory Add',
0x000700d4: 'Numpad Memory Subtract',
0x000700d7: 'Numpad Sign Change',
0x000700d8: 'Numpad Clear',
0x000700d9: 'Numpad Clear Entry',
0x000700e0: 'Control Left',
0x000700e1: 'Shift Left',
0x000700e2: 'Alt Left',
0x000700e3: 'Meta Left',
0x000700e4: 'Control Right',
0x000700e5: 'Shift Right',
0x000700e6: 'Alt Right',
0x000700e7: 'Meta Right',
0x000c0060: 'Info',
0x000c0061: 'Closed Caption Toggle',
0x000c006f: 'Brightness Up',
0x000c0070: 'Brightness Down',
0x000c0072: 'Brightness Toggle',
0x000c0073: 'Brightness Minimum',
0x000c0074: 'Brightness Maximum',
0x000c0075: 'Brightness Auto',
0x000c0079: 'Kbd Illum Up',
0x000c007a: 'Kbd Illum Down',
0x000c0083: 'Media Last',
0x000c008c: 'Launch Phone',
0x000c008d: 'Program Guide',
0x000c0094: 'Exit',
0x000c009c: 'Channel Up',
0x000c009d: 'Channel Down',
0x000c00b0: 'Media Play',
0x000c00b1: 'Media Pause',
0x000c00b2: 'Media Record',
0x000c00b3: 'Media Fast Forward',
0x000c00b4: 'Media Rewind',
0x000c00b5: 'Media Track Next',
0x000c00b6: 'Media Track Previous',
0x000c00b7: 'Media Stop',
0x000c00b8: 'Eject',
0x000c00cd: 'Media Play Pause',
0x000c00cf: 'Speech Input Toggle',
0x000c00e5: 'Bass Boost',
0x000c0183: 'Media Select',
0x000c0184: 'Launch Word Processor',
0x000c0186: 'Launch Spreadsheet',
0x000c018a: 'Launch Mail',
0x000c018d: 'Launch Contacts',
0x000c018e: 'Launch Calendar',
0x000c0192: 'Launch App2',
0x000c0194: 'Launch App1',
0x000c0196: 'Launch Internet Browser',
0x000c019c: 'Log Off',
0x000c019e: 'Lock Screen',
0x000c019f: 'Launch Control Panel',
0x000c01a2: 'Select Task',
0x000c01a7: 'Launch Documents',
0x000c01ab: 'Spell Check',
0x000c01ae: 'Launch Keyboard Layout',
0x000c01b1: 'Launch Screen Saver',
0x000c01b7: 'Launch Audio Browser',
0x000c01cb: 'Launch Assistant',
0x000c0201: 'New Key',
0x000c0203: 'Close',
0x000c0207: 'Save',
0x000c0208: 'Print',
0x000c0221: 'Browser Search',
0x000c0223: 'Browser Home',
0x000c0224: 'Browser Back',
0x000c0225: 'Browser Forward',
0x000c0226: 'Browser Stop',
0x000c0227: 'Browser Refresh',
0x000c022a: 'Browser Favorites',
0x000c022d: 'Zoom In',
0x000c022e: 'Zoom Out',
0x000c0232: 'Zoom Toggle',
0x000c0279: 'Redo',
0x000c0289: 'Mail Reply',
0x000c028b: 'Mail Forward',
0x000c028c: 'Mail Send',
0x000c029d: 'Keyboard Layout Select',
0x000c029f: 'Show All Windows',
};
}