123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #pragma once
- #include <stdint.h>
- #include <stdbool.h>
- #if !(defined(ADB_PORT) && defined(ADB_PIN) && defined(ADB_DDR) && defined(ADB_DATA_BIT))
- # error "ADB port setting is required in config.h"
- #endif
- #define ADB_POWER 0x7F
- #define ADB_CAPS 0x39
- #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
- #define ADB_ADDR_TMP 15
- #define ADB_ADDR_MOUSE_POLL 10
- #define ADB_CMD_RESET 0
- #define ADB_CMD_FLUSH 1
- #define ADB_CMD_LISTEN 8
- #define ADB_CMD_TALK 12
- #define ADB_REG_0 0
- #define ADB_REG_1 1
- #define ADB_REG_2 2
- #define ADB_REG_3 3
- #define ADB_HANDLER_STD 0x01
- #define ADB_HANDLER_AEK 0x02
- #define ADB_HANDLER_AEK_RMOD 0x03
- #define ADB_HANDLER_STD_ISO 0x04
- #define ADB_HANDLER_AEK_ISO 0x05
- #define ADB_HANDLER_M1242_ANSI 0x10
- #define ADB_HANDLER_CLASSIC1_MOUSE 0x01
- #define ADB_HANDLER_CLASSIC2_MOUSE 0x02
- #define ADB_HANDLER_EXTENDED_MOUSE 0x04
- #define ADB_HANDLER_TURBO_MOUSE 0x32
- void adb_host_init(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_mouse_recv(void);
- void adb_mouse_task(void);
- void adb_mouse_init(void);
|