# key_board **Repository Path**: lize/key_board ## Basic Information - **Project Name**: key_board - **Description**: 用于单片机中的小巧多功能按键支持。 - **Primary Language**: C - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 109 - **Created**: 2021-02-02 - **Last Updated**: 2021-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # key_board #### 介绍 用于单片机中的小巧多功能按键支持,软件采用了分层的思想,并且做到了与平台无关,用户只需要提供按键的基本信息和读写io电平的函数即可,非常方便移植,同时支持多个矩阵键盘及多个单io控制键盘,目前已实现按下触发、弹起触发、长按自动触发、长按弹起触发、多击触发、连续触发等功能,并且能够随意组合(支持状态的同一时间轴和非同一时间轴),后续还会添加更多的功能。 #### 使用说明 1. 根据自己的需求进行一些参数的配置与调整,其中要特别注意'KEY_BOARD_SCAN_TIME'参数的设置,一定要与实际的按键扫描时间一致。 2. 提供按键的描述及读写io的函数。 3. 将键盘注册到系统。 4. 周期性的调用'key_check'函数。 5. 具体的操作参考提供的stm32例程。 #### 后续功能 1. 添加一些参数的配置接口(比如可以不使用默认的各种超时时间配置)。 #### 更新日志 1. 2021-01-15 解决了长按、多击等功能检测需要多一轮扫描的BUG。 2. 2021-01-18 增加统计当前按下键的计数接口,一般用于在某些情况需要检测一定超时时间无按键按下就执行特定操作的需求。 3. 2021-01-30 增加任意组合状态的检测,增加新的检测示例程序,将配置项移到单独的配置头文件,优化部分代码细节。 4. 2021-02-01 修改编码格式为utf-8(之前是GB2312)。 #### 已支持的键盘 1. 矩阵键盘 ![矩阵键盘](./矩阵键盘.jpeg) 2. 单io按键 ![单io按键](./单io按键.jpeg)