3#ifndef _EMAKEFUN_MATRIX_KEY_BOARD_H_
4#define _EMAKEFUN_MATRIX_KEY_BOARD_H_
351 explicit MatrixKeyboard(TwoWire& wire,
const uint8_t i2c_address);
429 bool Idle(
const Key key)
const;
465 TwoWire& wire_ = Wire;
MatrixKeyboard是用于矩阵键盘模块的驱动类。
char GetCurrentPressedKey() const
获取当前按下的按键。
@ kI2cReceivedNackOnTransmitOfAddress
在I2C发送地址时收到NACK。
@ kI2cReceivedNackOnTransmitOfData
在I2C发送数据时收到NACK。
@ kI2cDataTooLongToFitInTransmitBuffer
I2C数据太长,无法装入传输缓冲区。
bool Idle(const Key key) const
查询按键是否空闲。
static constexpr uint8_t kDefaultI2cAddress
默认I2C地址。
MatrixKeyboard(TwoWire &wire, const uint8_t i2c_address)
构造函数
bool Pressing(const Key key) const
查询按键是否被按住。
bool Pressed(const Key key) const
查询按键是否被按下。
ErrorCode Initialize()
初始化。
@ kKeyStateReleased
按键被弹起。
@ kKeyStatePressing
按键被按住。
KeyState GetKeyState(const Key key) const
查询按键状态。
bool Released(const Key key) const
查询按键是否被释放。
void Tick()
扫描按键,在函数loop中调用,每次循环先调用该函数再查询按键状态。