Actualización: he cambiado esto a la comunidad de la wiki
Parece que Android va a apoyar Host USB en el kernel. Android 3.1 ya tiene esto, creo que Android 2.4 tendrá de nuevo portado, y seguramente Android 4. Por lo tanto, si usted tiene un micro que puede emular a un USB dispositivo esclavo, usted debe ser capaz de comunicarse con Android de una manera bastante simple y barato como el tiempo que su dispositivo Android es un hardware capaz de Host USB. La mayoría de los dispositivos más antiguos (por ejemplo, Droid, Droid Inc) son hardware capaz, y los nuevos dispositivos debe ser.
No sé exactamente qué esclavo USB son dispositivos de fácil interactuar con los de Android (he aquí una lista de los actuales tipos de dispositivo), pero sin duda el teclado (es decir, HID) es fácil de tratar.
Edit: La de Android USB host Api se basa en la idea de tener en el modo de usuario el código contenido dentro de las aplicaciones de raw transferencias USB para periféricos. Así que en lugar de el "controlador del núcleo" del modelo, esto es la "aplicación comprende periférica detalles de" un conceptualmente muy similar a los programas de escritorio que uso libusb o similar para hablar con un periférico. Las excepciones serían HID dispositivos tales como teclados y ratones que Android se habla a sí mismo y se utiliza en la espera de la moda para proporcionar la entrada al sistema en general. También vale la pena señalar que (con la excepción de un par de dispositivos donde el vendedor ha hecho de otra manera) de almacenamiento masivo USB no está implementado el sistema, de modo que una aplicación que se quiere utilizar un dispositivo de este tipo tiene que implementar sistema de archivos de código y el protocolo de almacenamiento masivo USB, contra el raw android USB Api.
Hay un AVR biblioteca que proporciona una pila USB: http://fourwalledcubicle.com/LUFA.php. Con esto, usted debería ser capaz de hacer el teclado u otro dispositivo de emulación de un puerto USB habilitado AVR. Incluyendo esto en tu genérico AVR firmware construir no es demasiado difícil. Como Mihailo señala en los comentarios, asegúrese de que utiliza un oscilador de frecuencia compatible con USB (8 o 16 MHz). No estoy seguro de si es posible conseguir este trabajo en el estándar de hardware de Arduino.
Parece que la manera más fácil de acercarse a este puede ser el nuevo Arduino Leonardo de la junta: http://arduino.cc/blog/2011/09/17/arduino-launches-new-products-in-maker-faire/
Estoy seguro que más barato/más simple más pequeños/Leonardo clones va a salir pronto, o rollo de su propio!