/* usbkvm_fw.h Author: tobychui */ #ifndef _usbkvm_ #define _usbkvm_ /* Hardware Configurations */ #define LED_RW_SIG 16 #define USB_SW_SEL 32 /* Operation Types */ #define OPR_TYPE_RESERVED 0x00 // Reserved #define OPR_TYPE_KEYBOARD_WRITE 0x01 // Keyboard-related operation #define OPR_TYPE_MOUSE_WRITE 0x02 // Mouse-related operation #define OPR_TYPE_SWITCH_WRITE 0x03 // Switch/button operation #define OPR_TYPE_LED_WRITE 0x04 // LED control operation #define OPR_TYPE_RESET_INSTR_COUNT 0xFE // Reset instruction counter #define OPR_TYPE_DATA_RESET 0xFF //Reset opr data queue, if state of device is unknown, clear before use /* Operation Sub-types */ #define SUBTYPE_RESERVED 0x00 /* Keyboard Subtypes */ #define SUBTYPE_KEYBOARD_ASCII_WRITE 0x01 // Write ASCII characters (32-127) #define SUBTYPE_KEYBOARD_ASCII_PRESS 0x02 // Press a key (ASCII 32-127) #define SUBTYPE_KEYBOARD_ASCII_RELEASE 0x03 // Release a key (ASCII 32-127) #define SUBTYPE_KEYBOARD_MODIFIER_SET 0x04 // Modifier key write (bit flags) #define SUBTYPE_KEYBOARD_MODIFIER_CLEAR 0x05 // Modifier key press (bit flags) #define SUBTYPE_KEYBOARD_FUNCTKEY_WRITE 0x06 //Function key write #define SUBTYPE_KEYBOARD_OTHERKEY_PRESS 0x07 //Other keys press #define SUBTYPE_KEYBOARD_OTHERKEY_RELEASE 0x08 //Other keys release #define SUBTYPE_KEYBOARD_SPECIAL_CTRLALTDEL 0xFD //Ctrl + Alt + Del #define SUBTYPE_KEYBOARD_SPECIAL_RESET 0xFE //Reset all keypress state #define SUBTYPE_KEYBOARD_SPECIAL_RESERVED 0xFF //Reserved /* Response Codes */ #define resp_ok 0x00 #define resp_unknown_opr 0x01 #define resp_invalid_opr_type 0x02 #define resp_invalid_key_value 0x03 #define resp_not_implemented 0x04 #define resp_start_of_debug_msg 0xE0 #define resp_end_of_debug_msg 0xE1 #define resp_start_of_err_msg 0xEE #define resp_end_of_err_msg 0xEF #endif