key

本文介绍了STM32中按键扫描的实现方法,包括GPIO配置、初始化过程及按键检测逻辑。通过具体的C语言代码示例,展示了如何设置GPIO口为输入模式,并实现按键按下与释放的检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "key.h"
#include "delay.h"


void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOE,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2 | GPIO_Pin_3| GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;//普通输入模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOE,&GPIO_InitStructure);


GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_DOWN; //初始化为下拉 低电平
GPIO_Init(GPIOA,&GPIO_InitStructure);

}




//mode :0 不支持连续按,1 支持
//
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;
if(mode)key_up=1;
if(key_up &&(KEY0==0 || KEY1==0 || KEY2==0 ||WK_UP ==1))
{
delay_ms(10);
key_up=0;
if(KEY0==0)return 1;
else if (KEY1==0)return 2;
else if (KEY2==0)return 3;
else if (WK_UP==1)return 4;
}else if (KEY0==1 && KEY1==1 &&  KEY2==1 && WK_UP ==0)key_up=1;
return 0; //无按键按下
}


/*
第一次mode为0进入 key_up=1,如果有一个按键被按下进入if{},此时key_up=0并返回key值
可以返回到主函数,当按键弹开时key_up才会为1才能进入下一次的if{}所以mode 0不支持连续扫.






*/

/* * 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源码
最新发布
07-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值