Yeah, I've been thinking about asking olePigeon about a 3D case, since it seems like he has access to a printer.
The two major downsides to the USB at the moment are: 1) no hubs, so two adapters are necessary, 2) fallout from #1 is many (most?) keyboards are really hubs that have the keyboard hanging off of the internal hub. So for keyboards, you need to get a keyboard without any extra USB ports on it.
Hub support would be nice, but there's a lot I need to learn to understand if it's even possible on the discovery board's hardware. Plus, the existing ST sample code is not at all structured for multiple devices. Internally it assumes there is "a", singular, device in all its datastructures. So, basically all the USB code would need to be rewritten. There's several (RT)OS' out there that support the chip, so maybe at some point it might be interesting to try getting one of those running.
Current status on the USB: I'm having some difficulty getting reliable device enumeration. It'll see a device attached, and then fail to retrieve the descriptors. It seems to be timing dependent, since I can tweak the timing and get 100% reliable enumeration of my mouse, and then the keyboard will only successfully enumerate about 1/5th of the time. I'm still poking at it though.
I rearranged some of the pins, since I was using some of the pins that are also used for the discovery board's LEDs, and I actually wanted to use some of the LEDs to indicate status. I'm now using an LED to indicate successful device enumeration, so you can see the status there without needing a serial connection, or if your device doesn't have any way of indicating it's working.
I ordered the PCBs yesterday, but within a couple hours I realized I left the RJ11 wired for straight through instead of telephone cables. Sigh.