更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_magickey.h 文件参考

浏览源代码.

结构体

struct  MagicKeyOp
 

函数

INT32 CheckMagicKey (CHAR key, UINT16 consoleId)
 检查魔法键 更多...
 

函数说明

◆ CheckMagicKey()

INT32 CheckMagicKey ( CHAR  key,
UINT16  consoleId 
)

检查魔法键

在文件 los_magickey.c122 行定义.

123{
124#ifdef LOSCFG_ENABLE_MAGICKEY //魔法键开关
125 INT32 i;
126 STATIC UINT32 magicKeySwitch = 0;
127
128 if (key == 0x03) { /* ctrl + c */
129 KillPgrp(consoleId);
130 return 0;
131 } else if (key == 0x12) { /* ctrl + r */
132 // 在连接UART或者USB转虚拟串口的情况下,输入“ctrl + r” 键,打开魔法键检测功能,输出 “Magic key on”;再输入一次后,
133 // 则关闭魔法键检测功能,输出“Magic key off”。
134 magicKeySwitch = ~magicKeySwitch;
135 if (magicKeySwitch != 0) {
136 PrintExcInfo("Magic key on\n");
137 } else {
138 PrintExcInfo("Magic key off\n");
139 }
140 return 1;
141 }
142 if (magicKeySwitch != 0) {//打开情况下,输出魔法键各回调函数
143 for (i = 0; i < MAGIC_KEY_NUM; i++) {
144 if (g_magicOpTable[i] != NULL && key == g_magicOpTable[i]->magicKey) {
145 (g_magicOpTable[i])->opHandler();//执行回调函数 OsMagicHelp ,OsMagicTaskShow ==
146 return 1;
147 }
148 }
149 }
150#endif
151 return 0;
152}
VOID KillPgrp(UINT16 consoleId)
杀死进程组
Definition: console.c:442
STATIC MagicKeyOp * g_magicOpTable[MAGIC_KEY_NUM]
Definition: los_magickey.c:82
VOID PrintExcInfo(const CHAR *fmt,...)
打印异常信息
Definition: los_printf.c:263
signed int INT32
Definition: los_typedef.h:60
unsigned int UINT32
Definition: los_typedef.h:57
函数调用图: