/*
* Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
*/
import { KeyEnum } from './KeyEnum';
import { HashMap } from '@kit.ArkTS';
import { KeyCode } from '@kit.InputKit';
import { KeyModel } from '../../model/KeyModel';
import { FIXED_KEY_MODELS } from '../../model/FixedKeyFactory';
import { FLOATING_CHARACTER_KEY_MODELS, FLOATING_SYMBOL_KEY_MODELS } from '../../model/FloatingKeyFactory';
// 按键基本信息
export interface KeyInfo {
key: KeyEnum;
keyId: string;
keyCode: number;
combineShift?: boolean;
}
// @formatter:off
const KEY_INFOS: KeyInfo[] = [
{ key: KeyEnum.ESC, keyId: 'Btn_ESCAPE', keyCode: KeyCode.KEYCODE_ESCAPE },
{ key: KeyEnum.F1, keyId: 'Btn_F1', keyCode: KeyCode.KEYCODE_F1 },
{ key: KeyEnum.F2, keyId: 'Btn_F2', keyCode: KeyCode.KEYCODE_F2 },
{ key: KeyEnum.F3, keyId: 'Btn_F3', keyCode: KeyCode.KEYCODE_F3 },
{ key: KeyEnum.F4, keyId: 'Btn_F4', keyCode: KeyCode.KEYCODE_F4 },
{ key: KeyEnum.F5, keyId: 'Btn_F5', keyCode: KeyCode.KEYCODE_F5 },
{ key: KeyEnum.F6, keyId: 'Btn_F6', keyCode: KeyCode.KEYCODE_F6 },
{ key: KeyEnum.F7, keyId: 'Btn_F7', keyCode: KeyCode.KEYCODE_F7 },
{ key: KeyEnum.F8, keyId: 'Btn_F8', keyCode: KeyCode.KEYCODE_F8 },
{ key: KeyEnum.F9, keyId: 'Btn_F9', keyCode: KeyCode.KEYCODE_F9 },
{ key: KeyEnum.F10, keyId: 'Btn_F10', keyCode: KeyCode.KEYCODE_F10 },
{ key: KeyEnum.F11, keyId: 'Btn_F11', keyCode: KeyCode.KEYCODE_F11 },
{ key: KeyEnum.F12, keyId: 'Btn_F12', keyCode: KeyCode.KEYCODE_F12 },
{ key: KeyEnum.FORWARD_DEL, keyId: 'Btn_DELETE', keyCode: KeyCode.KEYCODE_FORWARD_DEL },
{ key: KeyEnum.GRAVE, keyId: 'Btn_OEM_3', keyCode: KeyCode.KEYCODE_GRAVE },
{ key: KeyEnum.NUM1, keyId: 'Btn_1', keyCode: KeyCode.KEYCODE_1 },
{ key: KeyEnum.NUM2, keyId: 'Btn_2', keyCode: KeyCode.KEYCODE_2 },
{ key: KeyEnum.NUM3, keyId: 'Btn_3', keyCode: KeyCode.KEYCODE_3 },
{ key: KeyEnum.NUM4, keyId: 'Btn_4', keyCode: KeyCode.KEYCODE_4 },
{ key: KeyEnum.NUM5, keyId: 'Btn_5', keyCode: KeyCode.KEYCODE_5 },
{ key: KeyEnum.NUM6, keyId: 'Btn_6', keyCode: KeyCode.KEYCODE_6 },
{ key: KeyEnum.NUM7, keyId: 'Btn_7', keyCode: KeyCode.KEYCODE_7 },
{ key: KeyEnum.NUM8, keyId: 'Btn_8', keyCode: KeyCode.KEYCODE_8 },
{ key: KeyEnum.NUM9, keyId: 'Btn_9', keyCode: KeyCode.KEYCODE_9 },
{ key: KeyEnum.NUM0, keyId: 'Btn_0', keyCode: KeyCode.KEYCODE_0 },
{ key: KeyEnum.MINUS, keyId: 'Btn_SS', keyCode: KeyCode.KEYCODE_MINUS },
{ key: KeyEnum.EQUALS, keyId: 'Btn_INVERTED_COMMA', keyCode: KeyCode.KEYCODE_EQUALS },
{ key: KeyEnum.BACKSPACE, keyId: 'Btn_BACK', keyCode: KeyCode.KEYCODE_DEL },
{ key: KeyEnum.TAB, keyId: 'Btn_TAB', keyCode: KeyCode.KEYCODE_TAB },
{ key: KeyEnum.BRACKET_LEFT, keyId: 'Btn_UE', keyCode: KeyCode.KEYCODE_LEFT_BRACKET },
{ key: KeyEnum.BRACKET_RIGHT, keyId: 'Btn_PLUS', keyCode: KeyCode.KEYCODE_RIGHT_BRACKET },
{ key: KeyEnum.BACKSLASH, keyId: 'Btn_HASHTAG', keyCode: KeyCode.KEYCODE_BACKSLASH },
{ key: KeyEnum.CAPS_LOCK, keyId: 'Btn_CAPS', keyCode: KeyCode.KEYCODE_CAPS_LOCK },
{ key: KeyEnum.ENTER, keyId: 'Btn_ENTER', keyCode: KeyCode.KEYCODE_ENTER },
{ key: KeyEnum.SHIFT_LEFT, keyId: 'Btn_LSHIFT', keyCode: KeyCode.KEYCODE_SHIFT_LEFT },
{ key: KeyEnum.SHIFT_RIGHT, keyId: 'Btn_RSHIFT', keyCode: KeyCode.KEYCODE_SHIFT_RIGHT },
{ key: KeyEnum.CTRL, keyId: 'Btn_LCTRL', keyCode: KeyCode.KEYCODE_CTRL_LEFT },
{ key: KeyEnum.FN, keyId: 'Btn_FNCT', keyCode: KeyCode.KEYCODE_FN },
{ key: KeyEnum.LOGO, keyId: 'Btn_WINDOWS', keyCode: KeyCode.KEYCODE_META_LEFT },
{ key: KeyEnum.ALT_LEFT, keyId: 'Btn_ALT', keyCode: KeyCode.KEYCODE_ALT_LEFT },
{ key: KeyEnum.SPACE, keyId: 'Btn_SPACE', keyCode: KeyCode.KEYCODE_SPACE },
{ key: KeyEnum.SEMICOLON, keyId: 'Btn_OE', keyCode: KeyCode.KEYCODE_SEMICOLON },
{ key: KeyEnum.APOSTROPHE, keyId: 'Btn_AE', keyCode: KeyCode.KEYCODE_APOSTROPHE },
{ key: KeyEnum.COMMA, keyId: 'Btn_COMMA', keyCode: KeyCode.KEYCODE_COMMA },
{ key: KeyEnum.PERIOD, keyId: 'Btn_DOT', keyCode: KeyCode.KEYCODE_PERIOD },
{ key: KeyEnum.SLASH, keyId: 'Btn_MINUS', keyCode: KeyCode.KEYCODE_SLASH },
{ key: KeyEnum.ALT_RIGHT, keyId: 'Btn_ALTGR', keyCode: KeyCode.KEYCODE_ALT_RIGHT },
{ key: KeyEnum.ASSISTANT, keyId: 'Btn_ASSISTANT', keyCode: KeyCode.KEYCODE_ASSISTANT },
{ key: KeyEnum.DPAD_LEFT, keyId: 'Btn_LEFT', keyCode: KeyCode.KEYCODE_DPAD_LEFT },
{ key: KeyEnum.DPAD_RIGHT, keyId: 'Btn_RIGHT', keyCode: KeyCode.KEYCODE_DPAD_RIGHT },
{ key: KeyEnum.DPAD_UP, keyId: 'Btn_UP', keyCode: KeyCode.KEYCODE_DPAD_UP },
{ key: KeyEnum.DPAD_DOWN, keyId: 'Btn_DOWN', keyCode: KeyCode.KEYCODE_DPAD_DOWN },
{ key: KeyEnum.Q, keyId: 'Btn_Q', keyCode: KeyCode.KEYCODE_Q },
{ key: KeyEnum.W, keyId: 'Btn_W', keyCode: KeyCode.KEYCODE_W },
{ key: KeyEnum.E, keyId: 'Btn_E', keyCode: KeyCode.KEYCODE_E },
{ key: KeyEnum.R, keyId: 'Btn_R', keyCode: KeyCode.KEYCODE_R },
{ key: KeyEnum.T, keyId: 'Btn_T', keyCode: KeyCode.KEYCODE_T },
{ key: KeyEnum.Y, keyId: 'Btn_Y', keyCode: KeyCode.KEYCODE_Y },
{ key: KeyEnum.U, keyId: 'Btn_U', keyCode: KeyCode.KEYCODE_U },
{ key: KeyEnum.I, keyId: 'Btn_I', keyCode: KeyCode.KEYCODE_I },
{ key: KeyEnum.O, keyId: 'Btn_O', keyCode: KeyCode.KEYCODE_O },
{ key: KeyEnum.P, keyId: 'Btn_P', keyCode: KeyCode.KEYCODE_P },
{ key: KeyEnum.A, keyId: 'Btn_A', keyCode: KeyCode.KEYCODE_A },
{ key: KeyEnum.S, keyId: 'Btn_S', keyCode: KeyCode.KEYCODE_S },
{ key: KeyEnum.D, keyId: 'Btn_D', keyCode: KeyCode.KEYCODE_D },
{ key: KeyEnum.F, keyId: 'Btn_F', keyCode: KeyCode.KEYCODE_F },
{ key: KeyEnum.G, keyId: 'Btn_G', keyCode: KeyCode.KEYCODE_G },
{ key: KeyEnum.H, keyId: 'Btn_H', keyCode: KeyCode.KEYCODE_H },
{ key: KeyEnum.J, keyId: 'Btn_J', keyCode: KeyCode.KEYCODE_J },
{ key: KeyEnum.K, keyId: 'Btn_K', keyCode: KeyCode.KEYCODE_K },
{ key: KeyEnum.L, keyId: 'Btn_L', keyCode: KeyCode.KEYCODE_L },
{ key: KeyEnum.Z, keyId: 'Btn_Z', keyCode: KeyCode.KEYCODE_Z },
{ key: KeyEnum.X, keyId: 'Btn_X', keyCode: KeyCode.KEYCODE_X },
{ key: KeyEnum.C, keyId: 'Btn_C', keyCode: KeyCode.KEYCODE_C },
{ key: KeyEnum.V, keyId: 'Btn_V', keyCode: KeyCode.KEYCODE_V },
{ key: KeyEnum.B, keyId: 'Btn_B', keyCode: KeyCode.KEYCODE_B },
{ key: KeyEnum.N, keyId: 'Btn_N', keyCode: KeyCode.KEYCODE_N },
{ key: KeyEnum.M, keyId: 'Btn_M', keyCode: KeyCode.KEYCODE_M },
// 悬浮键盘
{ key: KeyEnum.FT_NUM_1, keyId: 'Btn_1_FP', keyCode: KeyCode.KEYCODE_1 },
{ key: KeyEnum.FT_NUM_2, keyId: 'Btn_2_FP', keyCode: KeyCode.KEYCODE_2 },
{ key: KeyEnum.FT_NUM_3, keyId: 'Btn_3_FP', keyCode: KeyCode.KEYCODE_3 },
{ key: KeyEnum.FT_NUM_4, keyId: 'Btn_4_FP', keyCode: KeyCode.KEYCODE_4 },
{ key: KeyEnum.FT_NUM_5, keyId: 'Btn_5_FP', keyCode: KeyCode.KEYCODE_5 },
{ key: KeyEnum.FT_NUM_6, keyId: 'Btn_6_FP', keyCode: KeyCode.KEYCODE_6 },
{ key: KeyEnum.FT_NUM_7, keyId: 'Btn_7_FP', keyCode: KeyCode.KEYCODE_7 },
{ key: KeyEnum.FT_NUM_8, keyId: 'Btn_8_FP', keyCode: KeyCode.KEYCODE_8 },
{ key: KeyEnum.FT_NUM_9, keyId: 'Btn_9_FP', keyCode: KeyCode.KEYCODE_9 },
{ key: KeyEnum.FT_NUM_0, keyId: 'Btn_0_FP', keyCode: KeyCode.KEYCODE_0 },
{ key: KeyEnum.FT_Q, keyId: 'Btn_Q_FP', keyCode: KeyCode.KEYCODE_Q },
{ key: KeyEnum.FT_W, keyId: 'Btn_W_FP', keyCode: KeyCode.KEYCODE_W },
{ key: KeyEnum.FT_E, keyId: 'Btn_E_FP', keyCode: KeyCode.KEYCODE_E },
{ key: KeyEnum.FT_R, keyId: 'Btn_R_FP', keyCode: KeyCode.KEYCODE_R },
{ key: KeyEnum.FT_T, keyId: 'Btn_T_FP', keyCode: KeyCode.KEYCODE_T },
{ key: KeyEnum.FT_Y, keyId: 'Btn_Y_FP', keyCode: KeyCode.KEYCODE_Y },
{ key: KeyEnum.FT_U, keyId: 'Btn_U_FP', keyCode: KeyCode.KEYCODE_U },
{ key: KeyEnum.FT_I, keyId: 'Btn_I_FP', keyCode: KeyCode.KEYCODE_I },
{ key: KeyEnum.FT_O, keyId: 'Btn_O_FP', keyCode: KeyCode.KEYCODE_O },
{ key: KeyEnum.FT_P, keyId: 'Btn_P_FP', keyCode: KeyCode.KEYCODE_P },
{ key: KeyEnum.FT_A, keyId: 'Btn_A_FP', keyCode: KeyCode.KEYCODE_A },
{ key: KeyEnum.FT_S, keyId: 'Btn_S_FP', keyCode: KeyCode.KEYCODE_S },
{ key: KeyEnum.FT_D, keyId: 'Btn_D_FP', keyCode: KeyCode.KEYCODE_D },
{ key: KeyEnum.FT_F, keyId: 'Btn_F_FP', keyCode: KeyCode.KEYCODE_F },
{ key: KeyEnum.FT_G, keyId: 'Btn_G_FP', keyCode: KeyCode.KEYCODE_G },
{ key: KeyEnum.FT_H, keyId: 'Btn_H_FP', keyCode: KeyCode.KEYCODE_H },
{ key: KeyEnum.FT_J, keyId: 'Btn_J_FP', keyCode: KeyCode.KEYCODE_J },
{ key: KeyEnum.FT_K, keyId: 'Btn_K_FP', keyCode: KeyCode.KEYCODE_K },
{ key: KeyEnum.FT_L, keyId: 'Btn_L_FP', keyCode: KeyCode.KEYCODE_L },
{ key: KeyEnum.FT_Z, keyId: 'Btn_Z_FP', keyCode: KeyCode.KEYCODE_Z },
{ key: KeyEnum.FT_X, keyId: 'Btn_X_FP', keyCode: KeyCode.KEYCODE_X },
{ key: KeyEnum.FT_C, keyId: 'Btn_C_FP', keyCode: KeyCode.KEYCODE_C },
{ key: KeyEnum.FT_V, keyId: 'Btn_V_FP', keyCode: KeyCode.KEYCODE_V },
{ key: KeyEnum.FT_B, keyId: 'Btn_B_FP', keyCode: KeyCode.KEYCODE_B },
{ key: KeyEnum.FT_N, keyId: 'Btn_N_FP', keyCode: KeyCode.KEYCODE_N },
{ key: KeyEnum.FT_M, keyId: 'Btn_M_FP', keyCode: KeyCode.KEYCODE_M },
{ key: KeyEnum.FT_CAPS, keyId: 'Btn_CAPS_FP', keyCode: KeyCode.KEYCODE_CAPS_LOCK },
{ key: KeyEnum.FT_DEL, keyId: 'Btn_BACK_FP', keyCode: KeyCode.KEYCODE_DEL },
{ key: KeyEnum.FT_SYMBOL, keyId: 'Btn_NP_FP', keyCode: KeyCode.KEYCODE_SYM },
{ key: KeyEnum.FT_LANGUAGE, keyId: 'Btn_LSHIFT_FP', keyCode: KeyCode.KEYCODE_SHIFT_LEFT },
{ key: KeyEnum.FT_COMMA, keyId: 'Btn_COMMA_FP', keyCode: KeyCode.KEYCODE_COMMA },
{ key: KeyEnum.FT_SPACE, keyId: 'Btn_SPACE_FP', keyCode: KeyCode.KEYCODE_SPACE },
{ key: KeyEnum.FT_PERIOD, keyId: 'Btn_DOT_FP', keyCode: KeyCode.KEYCODE_PERIOD },
{ key: KeyEnum.FT_QUESTION, keyId: 'Btn_QM_FP', keyCode: KeyCode.KEYCODE_SLASH, combineShift: true },
{ key: KeyEnum.FT_ENTER, keyId: 'Btn_ENTER_FP', keyCode: KeyCode.KEYCODE_ENTER },
{ key: KeyEnum.FT_UP, keyId: 'Btn_UP_FP', keyCode: KeyCode.KEYCODE_DPAD_UP },
{ key: KeyEnum.FT_DOWN, keyId: 'Btn_DOWN_FP', keyCode: KeyCode.KEYCODE_DPAD_DOWN },
{ key: KeyEnum.FT_LEFT, keyId: 'Btn_LEFT_FP', keyCode: KeyCode.KEYCODE_DPAD_LEFT },
{ key: KeyEnum.FT_RIGHT, keyId: 'Btn_RIGHT_FP', keyCode: KeyCode.KEYCODE_DPAD_RIGHT },
// 英文符号键盘
{ key: KeyEnum.FT_GRAVE, keyId: 'Btn_MIDDOT_SP_EN', keyCode: KeyCode.KEYCODE_GRAVE },
{ key: KeyEnum.FT_DOLLAR, keyId: 'Btn_DOLLAR_SP_EN', keyCode: KeyCode.KEYCODE_4, combineShift: true },
{ key: KeyEnum.FT_PERCENT, keyId: 'Btn_PERCENT_SP_EN', keyCode: KeyCode.KEYCODE_5, combineShift: true },
{ key: KeyEnum.FT_CARET, keyId: 'Btn_CARET_SP_EN', keyCode: KeyCode.KEYCODE_6, combineShift: true },
{ key: KeyEnum.FT_ASTERISK, keyId: 'Btn_AST_SP_EN', keyCode: KeyCode.KEYCODE_8, combineShift: true },
{ key: KeyEnum.FT_HYPHEN, keyId: 'Btn_MINUS_SP_EN', keyCode: KeyCode.KEYCODE_MINUS },
{ key: KeyEnum.FT_PLUS, keyId: 'Btn_PLUS_SP_EN', keyCode: KeyCode.KEYCODE_EQUALS, combineShift: true },
{ key: KeyEnum.FT_EQUALS, keyId: 'Btn_EQUAL_SP_EN', keyCode: KeyCode.KEYCODE_EQUALS },
{ key: KeyEnum.FT_UNDERSCORE, keyId: 'Btn_UNSC_SP_EN', keyCode: KeyCode.KEYCODE_MINUS, combineShift: true },
{ key: KeyEnum.FT_VERTICAL_BAR, keyId: 'Btn_VB_SP_EN', keyCode: KeyCode.KEYCODE_BACKSLASH, combineShift: true },
{ key: KeyEnum.FT_HASH, keyId: 'Btn_HASHTAG_SP_EN', keyCode: KeyCode.KEYCODE_3, combineShift: true },
{ key: KeyEnum.FT_TILDE, keyId: 'Btn_TILDE_SP_EN', keyCode: KeyCode.KEYCODE_GRAVE, combineShift: true },
{ key: KeyEnum.FT_AT, keyId: 'Btn_AT_SP_EN', keyCode: KeyCode.KEYCODE_2, combineShift: true },
{ key: KeyEnum.FT_CURLY_BRACKET_LEFT, keyId: 'Btn_FCBK_SP_EN', keyCode: KeyCode.KEYCODE_LEFT_BRACKET, combineShift: true },
{ key: KeyEnum.FT_CURLY_BRACKET_RIGHT, keyId: 'Btn_BCBK_SP_EN', keyCode: KeyCode.KEYCODE_RIGHT_BRACKET, combineShift: true },
{ key: KeyEnum.FT_SQUARE_BRACKET_LEFT, keyId: 'Btn_FSBK_SP_EN', keyCode: KeyCode.KEYCODE_LEFT_BRACKET},
{ key: KeyEnum.FT_SQUARE_BRACKET_RIGHT, keyId: 'Btn_BSBK_SP_EN', keyCode: KeyCode.KEYCODE_RIGHT_BRACKET},
{ key: KeyEnum.FT_ANGLE_BRACKET_LEFT, keyId: 'Btn_FABK_SP_EN', keyCode: KeyCode.KEYCODE_COMMA, combineShift: true },
{ key: KeyEnum.FT_ANGLE_BRACKET_RIGHT, keyId: 'Btn_BABK_SP_EN', keyCode: KeyCode.KEYCODE_PERIOD, combineShift: true },
{ key: KeyEnum.FT_AMPERSAND, keyId: 'Btn_AND_SP_EN', keyCode: KeyCode.KEYCODE_7, combineShift: true },
{ key: KeyEnum.FT_ROUND_BRACKET_LEFT, keyId: 'Btn_FBK_SP_EN', keyCode: KeyCode.KEYCODE_9, combineShift: true },
{ key: KeyEnum.FT_ROUND_BRACKET_RIGHT, keyId: 'Btn_BBK_SP_EN', keyCode: KeyCode.KEYCODE_0, combineShift: true },
{ key: KeyEnum.FT_BACK_SLASH, keyId: 'Btn_BSLASH_SP_EN', keyCode: KeyCode.KEYCODE_BACKSLASH },
{ key: KeyEnum.FT_SLASH, keyId: 'Btn_SLASH_SP_EN', keyCode: KeyCode.KEYCODE_SLASH },
{ key: KeyEnum.FT_SINGLE_QUOTE, keyId: 'Btn_SQM_SP_EN', keyCode: KeyCode.KEYCODE_APOSTROPHE },
{ key: KeyEnum.FT_DOUBLE_QUOTE, keyId: 'Btn_DQM_SP_EN', keyCode: KeyCode.KEYCODE_APOSTROPHE, combineShift: true },
{ key: KeyEnum.FT_SEMICOLON, keyId: 'Btn_SEMICOLON_SP_EN', keyCode: KeyCode.KEYCODE_SEMICOLON },
{ key: KeyEnum.FT_COLON, keyId: 'Btn_COLON_SP_EN', keyCode: KeyCode.KEYCODE_SEMICOLON, combineShift: true },
{ key: KeyEnum.FT_EN_QUESTION, keyId: 'Btn_QM_SP_EN', keyCode: KeyCode.KEYCODE_SLASH, combineShift: true },
{ key: KeyEnum.FT_EXCLAMATION, keyId: 'Btn_EXCL_SP_EN', keyCode: KeyCode.KEYCODE_1, combineShift: true },
{ key: KeyEnum.FT_SYMBOL_PAGE_COMMA, keyId: 'Btn_COMMA_SP_EN', keyCode: KeyCode.KEYCODE_COMMA },
{ key: KeyEnum.FT_SYMBOL_PAGE_PERIOD, keyId: 'Btn_PERIOD_SP_EN', keyCode: KeyCode.KEYCODE_PERIOD },
{ key: KeyEnum.FT_SYMBOL_PAGE_DEL, keyId: 'Btn_BACK_SP_EN', keyCode: KeyCode.KEYCODE_DEL },
{ key: KeyEnum.FT_SYMBOL_PAGE_DEL_ZH, keyId: 'Btn_BACK_SP_EN', keyCode: KeyCode.KEYCODE_DEL },
{ key: KeyEnum.FT_SYMBOL_PAGE_DEL_EN, keyId: 'Btn_BACK_SP_EN', keyCode: KeyCode.KEYCODE_DEL },
{ key: KeyEnum.FT_SYMBOL_PAGE_SPACE, keyId: 'Btn_SPACE_SP_EN', keyCode: KeyCode.KEYCODE_SPACE },
{ key: KeyEnum.FT_SYMBOL_PAGE_ENTER, keyId: 'Btn_ENTER_SP_EN', keyCode: KeyCode.KEYCODE_ENTER },
{ key: KeyEnum.FT_CHARACTER, keyId: 'Btn_RETURN_SP_EN', keyCode: KeyCode.KEYCODE_KBD_LAYOUT_NEXT },
// 中文符号键盘
{ key: KeyEnum.FT_ZH_GRAVE, keyId: 'Btn_MIDDOT_SP_CN', keyCode: KeyCode.KEYCODE_GRAVE },
{ key: KeyEnum.FT_ZH_DOLLAR, keyId: 'Btn_DOLLAR_SP_CN', keyCode: KeyCode.KEYCODE_4, combineShift: true },
{ key: KeyEnum.FT_ZH_CARET, keyId: 'Btn_CARET_SP_CN', keyCode: KeyCode.KEYCODE_6, combineShift: true },
{ key: KeyEnum.FT_ZH_UNDERSCORE, keyId: 'Btn_UNSC_SP_CN', keyCode: KeyCode.KEYCODE_MINUS, combineShift: true },
{ key: KeyEnum.FT_ZH_SQUARE_BRACKET_LEFT, keyId: 'Btn_FSBK_SP_CN', keyCode: KeyCode.KEYCODE_LEFT_BRACKET},
{ key: KeyEnum.FT_ZH_SQUARE_BRACKET_RIGHT, keyId: 'Btn_BSBK_SP_CN', keyCode: KeyCode.KEYCODE_RIGHT_BRACKET},
{ key: KeyEnum.FT_ZH_ANGLE_BRACKET_LEFT, keyId: 'Btn_FABK_SP_CN', keyCode: KeyCode.KEYCODE_COMMA, combineShift: true },
{ key: KeyEnum.FT_ZH_ANGLE_BRACKET_RIGHT, keyId: 'Btn_BABK_SP_CN', keyCode: KeyCode.KEYCODE_PERIOD, combineShift: true },
{ key: KeyEnum.FT_ZH_ROUND_BRACKET_LEFT, keyId: 'Btn_FBK_SP_CN', keyCode: KeyCode.KEYCODE_9, combineShift: true },
{ key: KeyEnum.FT_ZH_ROUND_BRACKET_RIGHT, keyId: 'Btn_BBK_SP_CN', keyCode: KeyCode.KEYCODE_0, combineShift: true },
{ key: KeyEnum.FT_ZH_SINGLE_QUOTE, keyId: 'Btn_SQM_SP_CN', keyCode: KeyCode.KEYCODE_APOSTROPHE },
{ key: KeyEnum.FT_ZH_DOUBLE_QUOTE, keyId: 'Btn_DQM_SP_CN', keyCode: KeyCode.KEYCODE_APOSTROPHE, combineShift: true },
{ key: KeyEnum.FT_ZH_BACK_SLASH, keyId: 'Btn_BSLASH_SP_CN', keyCode: KeyCode.KEYCODE_BACKSLASH },
{ key: KeyEnum.FT_ZH_SEMICOLON, keyId: 'Btn_SEMICOLON_SP_CN', keyCode: KeyCode.KEYCODE_SEMICOLON },
{ key: KeyEnum.FT_ZH_COLON, keyId: 'Btn_COLON_SP_CN', keyCode: KeyCode.KEYCODE_SEMICOLON, combineShift: true },
{ key: KeyEnum.FT_ZH_QUESTION, keyId: 'Btn_QM_SP_CN', keyCode: KeyCode.KEYCODE_SLASH, combineShift: true },
{ key: KeyEnum.FT_ZH_EXCLAMATION, keyId: 'Btn_EXCL_SP_CN', keyCode: KeyCode.KEYCODE_1, combineShift: true },
{ key: KeyEnum.FT_ZH_SYMBOL_PAGE_COMMA, keyId: 'Btn_COMMA_SP_EN', keyCode: KeyCode.KEYCODE_COMMA },
{ key: KeyEnum.FT_ZH_SYMBOL_PAGE_PERIOD, keyId: 'Btn_PERIOD_SP_EN', keyCode: KeyCode.KEYCODE_PERIOD },
{ key: KeyEnum.TP_CENTER, keyId: 'TP_CENTER', keyCode: KeyCode.KEYCODE_BTN_0 },
{ key: KeyEnum.TP_LEFT, keyId: 'TP_LEFT', keyCode: KeyCode.KEYCODE_BTN_1 },
{ key: KeyEnum.TP_RIGHT, keyId: 'TP_RIGHT', keyCode: KeyCode.KEYCODE_BTN_2 },
{ key: KeyEnum.SETTING, keyId: 'Btn_SETTING', keyCode: -1},
{ key: KeyEnum.HIDE, keyId: 'Btn_HIDE', keyCode: -1},
]
// @formatter:on
export const KEY_INFO_MAPPINGS: HashMap<KeyEnum, KeyInfo> = new HashMap();
KEY_INFOS.forEach((value: KeyInfo) => {
KEY_INFO_MAPPINGS.set(value.key, value);
})
export const KEY_MODEL_MAPPINGS: HashMap<KeyEnum, KeyModel> = new HashMap();
[...FIXED_KEY_MODELS, ...FLOATING_CHARACTER_KEY_MODELS, ...FLOATING_SYMBOL_KEY_MODELS].forEach((value: KeyModel) => {
KEY_MODEL_MAPPINGS.set(value.keyEnum, value);
});
这个是keymapping.ets源码
最新发布