feat(lib/flash): 添加C++支持,定义了FLASH设备表格式

 feat(lib/font): 增加中文字体数据结构,扩展字形数组大小
 chore(.gitignore): 添加构建目录到忽略列表
 chore(CMakeLists): 优化CMake配置,修复库链接顺序
 feat(sim/key): 实现模拟按键功能,包括上下左右及确认、设置、重置键
 fix(main): 移除未使用的SDL实例,调整任务和OLED测试的执行顺序
This commit is contained in:
JiXieShi
2024-12-14 23:33:32 +08:00
parent d93df1d303
commit 7dd4268210
6 changed files with 181 additions and 63 deletions

View File

@@ -108,4 +108,117 @@ uint8_t SIM_Key_Scan() {
return key;
}
uint8_t SIM_Key_UP(uint8_t) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_UP || event.key.key == SDLK_W)key = 1;
break;
default:
break;
}
return key;
}
uint8_t SIM_Key_DOWN(uint8_t l) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_DOWN || event.key.key == SDLK_S)key = 1;
break;
default:
break;
}
return key;
}
uint8_t SIM_Key_LEFT(uint8_t) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_LEFT || event.key.key == SDLK_A)key = 1;
break;
default:
break;
}
return key;
}
uint8_t SIM_Key_RIGHT(uint8_t) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_RIGHT || event.key.key == SDLK_D)key = 1;
break;
default:
break;
}
return key;
}
uint8_t SIM_Key_ENABLE(uint8_t) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_KP_ENTER || event.key.key == SDLK_E)key = 1;
break;
default:
break;
}
return key;
}
uint8_t SIM_Key_SET(uint8_t) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_Q)key = 1;
break;
default:
break;
}
return key;
}
uint8_t SIM_Key_RESET(uint8_t) {
SDL_Event event;
uint8_t key = 0;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_EVENT_QUIT:
return 0;
case SDL_EVENT_KEY_DOWN:
if (event.key.key == SDLK_R)key = 1;
break;
default:
break;
}
return key;
}
#endif