main() {
	set PORT and DDR bits appropriately
	detect and initialize keyboard/mouse

	while (1) {
		service_mouse();
		service_keyboard();
	}
}

service_mouse() {
	
}

int8_t read_a() {
	disinhibit communication
	for (uint8_t i = 0; i < )
}

int8_t write_a() {
	resuqest to send
	disinhibit communication
}

inline void service_fast_cmd() {
	switch (cmd) {

	}
}

void service_slow_cmd() {
	switch (cmd) {

	}
}