I have an application where it would be useful to provide some external data to a program via the USB mouse or keyboard.
The Teensy USB Development Board would be ideal, since it's small and has direct USB support. Unfortunately, it would require a USB drive, and I would prefer a direct plug-in, like a thumb drive.
Given that the Teensy has the USB support built in, how difficult would it be to modify the board so that there's an edge card connection (terminology?) such that the unit can be directly attached to a computer's USB port?
Can standard layout tools and board fab services make such a board? Are there any routing specs available that can be dropped in to an existing board design?
Alternatively, are there any existing designs that might already include the USB edge connection?
There are indeed AVR boards with integrated USB edge connectors, e.g. the DigiSpark:
Would the DigiSpark suit your purpose? That would depend, the microcontroller in it is the ATtiny85, would that be sufficient for you? The project description mentions a possible use as "fool your friends by programming it to be a USB keyboard and turn their caps lock on and off randomly".
Modifying a layout to incorporate the edge connector would not be difficult for someone with basic proficiency in whichever layout tool the original design is available in. However, the Teensy is not open source hardware, the layout is not published nor licensed for modification.
Consider instead the modification of an alternative like the Arduino Nano: Around the same size as the Teensy++, open source hardware (so layout files are available), and with USB support:
Then there is the FemtoDuino: Even smaller than the DigiSpark, this is the smallest full-fledged Arduino Uno clone that I know of (
20.7×15.2 mm), (
.81″ x .6″). It does not have an USB connector in the layout, but adding one is not too daunting a task - seeing how it is done on the DigiSpark will provide a head-start.
Answers to your specific questions: