package io.flutter.embedding.android; // Copyright 2013 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. // DO NOT EDIT -- DO NOT EDIT -- DO NOT EDIT // This file is generated by flutter/flutter@dev/tools/gen_keycodes/bin/gen_keycodes.dart and // should not be edited directly. // // Edit the template dev/tools/gen_keycodes/data/android_keyboard_map_java.tmpl instead. // See dev/tools/gen_keycodes/README.md for more information. import android.view.KeyEvent; import java.util.HashMap; /** Static information used by {@link KeyEmbedderResponder}. */ public class KeyboardMap { /** A physicalKey-logicalKey pair used to define mappings. */ public static class KeyPair { public KeyPair(long physicalKey, long logicalKey) { this.physicalKey = physicalKey; this.logicalKey = logicalKey; } public long physicalKey; public long logicalKey; } /** * An immutable configuration item that defines how to synchronize pressing modifiers (such as * Shift or Ctrl), so that the {@link KeyEmbedderResponder} must synthesize events until the * combined pressing state of {@link keys} matches the true meta state masked by {@link mask}. */ public static class PressingGoal { public PressingGoal(int mask, KeyPair[] keys) { this.mask = mask; this.keys = keys; } public final int mask; public final KeyPair[] keys; } /** * A configuration item that defines how to synchronize toggling modifiers (such as CapsLock), so * that the {@link KeyEmbedderResponder} must synthesize events until the enabling state of the * key matches the true meta state masked by {@link #mask}. * * <p>The objects of this class are mutable. The {@link #enabled} field will be used to store the * current enabling state. */ public static class TogglingGoal { public TogglingGoal(int mask, long physicalKey, long logicalKey) { this.mask = mask; this.physicalKey = physicalKey; this.logicalKey = logicalKey; } public final int mask; public final long physicalKey; public final long logicalKey; /** * Used by {@link KeyEmbedderResponder} to store the current enabling state of this modifier. * * <p>Initialized as false. */ public boolean enabled = false; } /** Maps from Android scan codes {@link KeyEvent#getScanCode()} to Flutter physical keys. */ public static final HashMap<Long, Long> scanCodeToPhysical = new HashMap<Long, Long>() { private static final long serialVersionUID = 1L; { @@@ANDROID_SCAN_CODE_MAP@@@ } }; /** Maps from Android key codes {@link KeyEvent#getKeyCode()} to Flutter logical keys. */ public static final HashMap<Long, Long> keyCodeToLogical = new HashMap<Long, Long>() { private static final long serialVersionUID = 1L; { @@@ANDROID_KEY_CODE_MAP@@@ } }; public static final PressingGoal[] pressingGoals = new PressingGoal[] { @@@PRESSING_GOALS@@@ }; /** * A list of toggling modifiers that must be synchronized on each key event. * * <p>The list is not a static variable but constructed by a function, because {@link * TogglingGoal} is mutable. */ public static TogglingGoal[] getTogglingGoals() { return new TogglingGoal[] { @@@TOGGLING_GOALS@@@ }; } @@@MASK_CONSTANTS@@@ }