123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- #ifndef __KEY_H
- #define __KEY_H
- #include "interface.h"
- #define KEY_COUNT 10
- #define KEY_DOWN_K1 KEY_1_DOWN
- #define KEY_UP_K1 KEY_1_UP
- #define KEY_LONG_K1 KEY_1_LONG
- #define KEY_DOWN_K2 KEY_2_DOWN
- #define KEY_UP_K2 KEY_2_UP
- #define KEY_LONG_K2 KEY_2_LONG
- #define KEY_DOWN_K3 KEY_3_DOWN
- #define KEY_UP_K3 KEY_3_UP
- #define KEY_LONG_K3 KEY_3_LONG
- #define JOY_DOWN_U KEY_4_DOWN
- #define JOY_UP_U KEY_4_UP
- #define JOY_LONG_U KEY_4_LONG
- #define JOY_DOWN_D KEY_5_DOWN
- #define JOY_UP_D KEY_5_UP
- #define JOY_LONG_D KEY_5_LONG
- #define JOY_DOWN_L KEY_6_DOWN
- #define JOY_UP_L KEY_6_UP
- #define JOY_LONG_L KEY_6_LONG
- #define JOY_DOWN_R KEY_7_DOWN
- #define JOY_UP_R KEY_7_UP
- #define JOY_LONG_R KEY_7_LONG
- #define JOY_DOWN_OK KEY_8_DOWN
- #define JOY_UP_OK KEY_8_UP
- #define JOY_LONG_OK KEY_8_LONG
- #define SYS_DOWN_K1K2 KEY_9_DOWN
- #define SYS_UP_K1K2 KEY_9_UP
- #define SYS_LONG_K1K2 KEY_9_LONG
- #define SYS_DOWN_K2K3 KEY_10_DOWN
- #define SYS_UP_K2K3 KEY_10_UP
- #define SYS_LONG_K2K3 KEY_10_LONG
- typedef enum
- {
- KID_K1 = 0,
- KID_K2,
- KID_K3,
- KID_JOY_U,
- KID_JOY_D,
- KID_JOY_L,
- KID_JOY_R,
- KID_JOY_OK
- } KEY_ID_E;
- #define KEY_FILTER_TIME 5
- #define KEY_LONG_TIME 100
- typedef struct
- {
-
- uint8_t (*IsKeyDownFunc)(void);
- uint8_t Count;
- uint16_t LongCount;
- uint16_t LongTime;
- uint8_t State;
- uint8_t RepeatSpeed;
- uint8_t RepeatCount;
- } KEY_T;
- typedef enum
- {
- KEY_NONE = 0,
- KEY_1_DOWN,
- KEY_1_UP,
- KEY_1_LONG,
- KEY_2_DOWN,
- KEY_2_UP,
- KEY_2_LONG,
- KEY_3_DOWN,
- KEY_3_UP,
- KEY_3_LONG,
- KEY_4_DOWN,
- KEY_4_UP,
- KEY_4_LONG,
- KEY_5_DOWN,
- KEY_5_UP,
- KEY_5_LONG,
- KEY_6_DOWN,
- KEY_6_UP,
- KEY_6_LONG,
- KEY_7_DOWN,
- KEY_7_UP,
- KEY_7_LONG,
- KEY_8_DOWN,
- KEY_8_UP,
- KEY_8_LONG,
-
- KEY_9_DOWN,
- KEY_9_UP,
- KEY_9_LONG,
- KEY_10_DOWN,
- KEY_10_UP,
- KEY_10_LONG,
- } KEY_ENUM;
- #define KEY_FIFO_SIZE 10
- typedef struct
- {
- uint8_t Buf[KEY_FIFO_SIZE];
- uint8_t Read;
- uint8_t Write;
- uint8_t Read2;
- } KEY_FIFO_T;
- void key_init(void);
- void key_scan(void);
- void key_put(uint8_t _KeyCode);
- uint8_t key_get(void);
- uint8_t key_get_fifo(void);
- uint8_t key_state(KEY_ID_E _ucKeyID);
- void key_set(uint8_t _ucKeyID, uint16_t _LongTime, uint8_t _RepeatSpeed);
- void key_clear_fifo(void);
- void key_task(void);
- #endif
|