X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=tmk_core%2Fprotocol%2Fadb.h;h=5e155cbc41538545f8fb3245ff0b1f763e2af9a2;hb=12e5a3a13eb86852ad58c131e28ba29c5f09bb2d;hp=a8b97ea57d122e815b7e94b5dabb7a02cccdf09a;hpb=230ed4bdef855202a4c340fe645f05e2ca124521;p=max%2Ftmk_keyboard.git diff --git a/tmk_core/protocol/adb.h b/tmk_core/protocol/adb.h index a8b97ea5..5e155cbc 100644 --- a/tmk_core/protocol/adb.h +++ b/tmk_core/protocol/adb.h @@ -1,5 +1,5 @@ /* -Copyright 2011 Jun WAKO +Copyright 2011-19 Jun WAKO This software is licensed with a Modified BSD License. All of this is supposed to be Free Software, Open Source, DFSG-free, @@ -54,16 +54,28 @@ POSSIBILITY OF SUCH DAMAGE. /* 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 2 -#define ADB_CMD_TALK 3 +#define ADB_CMD_LISTEN 8 +#define ADB_CMD_TALK 12 // Register #define ADB_REG_0 0 #define ADB_REG_1 1 @@ -76,16 +88,22 @@ POSSIBILITY OF SUCH DAMAGE. #define ADB_HANDLER_M0115 0x02 #define ADB_HANDLER_M3501 0x02 #define ADB_HANDLER_M1242_ANSI 0x10 -#define ADB_HANDLER_EXTENDED_PROTOCOL 0x03 +#define ADB_HANDLER_EXTENDED_KEYBOARD 0x03 +#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 void adb_host_init(void); bool adb_host_psw(void); uint16_t adb_host_kbd_recv(uint8_t addr); -uint16_t adb_host_mouse_recv(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 addr, uint8_t led); void adb_mouse_task(void); void adb_mouse_init(void);