mirror of
https://github.com/qmk/qmk_firmware
synced 2025-01-03 13:40:36 +00:00
Update ADB impelemtation in TMK Core (#11168)
* Update ADB impelmentation in tmk_core to recent version. Pcked from tmk_keyboard repository revision: 48d696443857512d45f9a7329e0dd0a76345860f * Restore convenient ADB functions used in QMK port. * Do cformat.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright 2011 Jun WAKO <wakojun@gmail.com>
|
Copyright 2011-19 Jun WAKO <wakojun@gmail.com>
|
||||||
|
|
||||||
This software is licensed with a Modified BSD License.
|
This software is licensed with a Modified BSD License.
|
||||||
All of this is supposed to be Free Software, Open Source, DFSG-free,
|
All of this is supposed to be Free Software, Open Source, DFSG-free,
|
||||||
@ -47,12 +47,60 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#define ADB_POWER 0x7F
|
#define ADB_POWER 0x7F
|
||||||
#define ADB_CAPS 0x39
|
#define ADB_CAPS 0x39
|
||||||
|
|
||||||
|
/* ADB commands */
|
||||||
|
// Default Address
|
||||||
|
#define ADB_ADDR_0 0
|
||||||
|
#define ADB_ADDR_DONGLE 1
|
||||||
|
#define ADB_ADDR_KEYBOARD 2
|
||||||
|
#define ADB_ADDR_MOUSE 3
|
||||||
|
#define ADB_ADDR_TABLET 4
|
||||||
|
#define ADB_ADDR_APPLIANCE 7
|
||||||
|
#define ADB_ADDR_8 8
|
||||||
|
#define ADB_ADDR_9 9
|
||||||
|
#define ADB_ADDR_10 10
|
||||||
|
#define ADB_ADDR_11 11
|
||||||
|
#define ADB_ADDR_12 12
|
||||||
|
#define ADB_ADDR_13 13
|
||||||
|
#define ADB_ADDR_14 14
|
||||||
|
#define ADB_ADDR_15 15
|
||||||
|
// for temporary purpose, do not use for polling
|
||||||
|
#define ADB_ADDR_TMP 15
|
||||||
|
#define ADB_ADDR_MOUSE_POLL 10
|
||||||
|
// Command Type
|
||||||
|
#define ADB_CMD_RESET 0
|
||||||
|
#define ADB_CMD_FLUSH 1
|
||||||
|
#define ADB_CMD_LISTEN 8
|
||||||
|
#define ADB_CMD_TALK 12
|
||||||
|
// Register
|
||||||
|
#define ADB_REG_0 0
|
||||||
|
#define ADB_REG_1 1
|
||||||
|
#define ADB_REG_2 2
|
||||||
|
#define ADB_REG_3 3
|
||||||
|
|
||||||
|
/* ADB keyboard handler id */
|
||||||
|
#define ADB_HANDLER_STD 0x01 /* IIGS, M0116 */
|
||||||
|
#define ADB_HANDLER_AEK 0x02 /* M0115, M3501 */
|
||||||
|
#define ADB_HANDLER_AEK_RMOD 0x03 /* M0115, M3501, alternate mode enableing right modifiers */
|
||||||
|
#define ADB_HANDLER_STD_ISO 0x04 /* M0118, ISO swapping keys */
|
||||||
|
#define ADB_HANDLER_AEK_ISO 0x05 /* M0115, M3501, ISO swapping keys */
|
||||||
|
#define ADB_HANDLER_M1242_ANSI 0x10 /* Adjustable keyboard */
|
||||||
|
#define ADB_HANDLER_CLASSIC1_MOUSE 0x01
|
||||||
|
#define ADB_HANDLER_CLASSIC2_MOUSE 0x02
|
||||||
|
#define ADB_HANDLER_EXTENDED_MOUSE 0x04
|
||||||
|
#define ADB_HANDLER_TURBO_MOUSE 0x32
|
||||||
|
|
||||||
// ADB host
|
// ADB host
|
||||||
void adb_host_init(void);
|
void adb_host_init(void);
|
||||||
bool adb_host_psw(void);
|
bool adb_host_psw(void);
|
||||||
|
uint16_t adb_host_talk(uint8_t addr, uint8_t reg);
|
||||||
|
uint8_t adb_host_talk_buf(uint8_t addr, uint8_t reg, uint8_t *buf, uint8_t len);
|
||||||
|
void adb_host_listen(uint8_t addr, uint8_t reg, uint8_t data_h, uint8_t data_l);
|
||||||
|
void adb_host_listen_buf(uint8_t addr, uint8_t reg, uint8_t *buf, uint8_t len);
|
||||||
|
void adb_host_flush(uint8_t addr);
|
||||||
|
void adb_host_kbd_led(uint8_t led);
|
||||||
uint16_t adb_host_kbd_recv(void);
|
uint16_t adb_host_kbd_recv(void);
|
||||||
uint16_t adb_host_mouse_recv(void);
|
uint16_t adb_host_mouse_recv(void);
|
||||||
void adb_host_listen(uint8_t cmd, uint8_t data_h, uint8_t data_l);
|
|
||||||
void adb_host_kbd_led(uint8_t led);
|
// ADB Mouse
|
||||||
void adb_mouse_task(void);
|
void adb_mouse_task(void);
|
||||||
void adb_mouse_init(void);
|
void adb_mouse_init(void);
|
||||||
|
Reference in New Issue
Block a user