Yo he probado 4 teclados y han ido todos perfectos :)
Lo del ratón creo que el diseño va muy desviado, tengo que mirarme la documentación bien del ps2, esta tarde te cuento si puedo probar algo vale? el tema es que el ratón tiene más miga, hay que seguir una secuencia determinada e incluso por lo que he podido ver dejar unos tiempos de espera clavados entre resetes (imagínate, hace sun reset y hay que esperar exactamente 100us antes de lanar otro comando).
si no se hace esa secuencia exacta el ratón está en modo "disabled" y no emite nada. Está claro que está el tema que comenta Fernando que he hecho búsquedas y preguntado a las ias y efectivaente no todos los dispositivos son compatibles, peeero a mi me da que casi todos son compatibles ,es sólo intuición y es más que la secuencia debe ser compleja o qpequeños detalles como los pullups del teclado es lo que marean al personal. Déjame darle una vuelta, igual es en vano pero algo aprenderé por el camino.
Por otro lado tu idea de simplificar el ratón usb, me he despertado pensando que aunque suena loco igual funciona XD. Es decir el protocolo usb es muy complejo si se quiere soportar el protocolo, peeero igual si sabes que lo que vas ac onectar es un teclado o un ratón, tal cual y obvias en sí el protocolo y vas a recibir y enviar cosas a piñón, igual se simplifica muchísimo tipo lo que me has pasado.
Ahí hay cosas que me suscitan interrogantes porque lo veo demasiado demasiado simplificado pero, vete a saber, igual si obviamos todas las generalidades del usb se queda en una gilipollez, lo vamos aprobar.
Déjame que hoy por la mañana lo tengo complicado pero esta tarde reviso ambas cosas y te cuento.
Las inout de verilog sin el módulo de juan que es adhoc para las ice40 son una maravilla. En cuanto veas como van te va a flipar, olvídate de meter. y sacar por pines de entrada/salidas, simplemente tienes que marcar la casilla de inout en el pin y luego en verilog pones algo tan sencillo como assign ps2_clk = ps2_clk_oe ? 1'b0 : 1'bz;
el bz es el modo tristate en el cable y entonces puedes leerlo, ya está sin más jaleos.
Luego lo reviso todo y te digo.
Un feurte abrazo!!