Yet Another Keyboard Emulator

This article features small utility used to emulate keyboard input during application testing. It's based on software USB implementation for AVR microcontrollers.

Brief description

This is not actually a brand new project but slightly modified HIDKeys. There is only one "Start" button and DIP switches to select typing speed. YAKE uses a AVRUSBBoot bootloader for loading new firmware. The core of the project is Software USB implementation by ObDev.

Both versions (USB and PS/2) are using the AVRLIB library. You need to have it installed before compiling!

USB version has been tested on Mega8@12MHz, PS/2 version on Mega8@12Mhz nad Mega8@16Mhz. I've made some other experiments, Mega8@1Mhz seems not to be working, neither did Mega32@anything. I've no time to do extensive tests. If you need any other combination, it's your fight :-)

There is also a PS2 firmware available, check Download section.

The project has been developed for application testing purposes in Adastra Corporation.

Installation

  • ensure you haveAVRLIB installed and configured
  • download the project package and unpack it
  • go to bootloader/bootloader-src and make
  • program bootloader and set fuses
  • test bootloader (hold the button, plug-in, both LEDs should be on)
  • if on Windows, specify the driver for new device (located in bootloader/driver-win directory)
  • build the loader from bootloader/loader-src or use the windows binary from bootloader/loader-win
  • go to firmware directory
  • if you need, specify new key sequence in main.c file
  • build the firmware
  • load it with the loader: loader main.hex
  • reboot by unplugging and plugging.
  • Open some editor and push the start button, some characters should appear.
  • Done

Usage

Plug the device into the USB port. Some machines do not recognize the device when plugged-in directly - use USB hub in this case. Select required reply speed on top (closer to start button) DIP switch (the bottom one is intended for future use), press start button amd enjoy the auto-typing... :-)

Image gallery

Schematic Board Render Real
Schematic PCB board Eagle3D rendering Picture of the real hardware
AttachmentSize
yake.zip607.22 KB
yake-ps2.zip14.96 KB