Skip to content
This repository has been archived by the owner on Mar 22, 2022. It is now read-only.

Gamepad that emulates keyboard - schematics and LUFA-based software

Notifications You must be signed in to change notification settings

kamil-sita/atmega32u4-gamepad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

About project

This repository contains hardware, software and programmable file for my gamepad project based on atmega32u-4.

The gamepad simulates behaviour of a HID keyboard. Joystick always simulates being WASD keys, with pulsating frequency somewhat proportional to the joystick's tilt. Basic keys simulation can work in 4 working modes:

  • mode 0 - JIKL keys
  • mode 1 - arrow keys
  • mode 2 - Q, E, Left Shift, Left CTRL
  • mode 3 - C, G, V, space

You can switch between modes by pressing HWB button. You can reset gamepad by pressing reset button. When holding both of them, the device will enter programmable mode.

If the device is programmed correctly, it will start blinking once resetted/provided with power and after blinking it will register itself as HID keyboard.

Configuration

Most of the changes are in Keyboard.c . It should be pretty easy to modify which key strokes are send to the device. You can also modify Descriptors.c to change ManufacturerString and ProductString.

Device programming

I recommend using dfu-programmer, but FLIP probably also can be used.

Licence

LUFA (1), (2) is under MIT License.

Software for the gamepad is heavily based on LUFA library, and most of the changes are contained inside Keyboard.c and Descriptors.c . All of my contributions (changes to the library + hardware) are also under MIT License.

About

Gamepad that emulates keyboard - schematics and LUFA-based software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published