Git Product home page Git Product logo

keyboard-joystick's Introduction

Joystick keyboard

A 3D-printed DIY joystick keyboard for gaming, FOSS alternative to GMk

Build

You can find reference build photos in images/wiring

Hardware requirements

  • Arduino Pro Micro

  • PS2 Joystick module

- MX compatible switch

- 6x6x**Y**mm button (I used a 6x6x5mm)

- Used for resetting the board and making the flash process easier - Female jumper wires, or regular wire

Other parts

  • 3 x M3 screws for the lid
  • 2 x M2 screws? (something to attach the joystick module to the holes)
  • Pro micro compatible USB cable for flashing and connecting

3D printed parts

All stls parts can be found in the STL directory

Customization

To customize the parts (e.g: change the lid), you can found the STEP file used in this directory.

Pinout

According to this Pro micro diagram: I used the following pinout:

const uint8_t Pin_Joystick_X = A0;         // Turn left/right
const uint8_t Pin_Joystick_Y = A1;         // Turn up/down
const uint8_t Pin_Button_Switch = 8;       // Button of the MX Switch
const uint8_t Pin_Button_Joystick = 9;     // Button of the joystick

This can be wired as you like, but there are two factors to consider:

  1. You must wire the joystick X and Y axes to Analog entries on the board (Green entries that start with A)
  2. The 6x6xY button is hardwired to GND and RST, to allow easier flashing on the board from the outside

Software

Requirements

Installation

To install the custom firmware, you have:

  • Open the arduino file, in the IDE.

  • Install the keyboard.h library from the Library Manager: library

  • Install the Pro micro board drivers

  • Make sure to select the board and processor: select

  • Upload the script via the IDE. While the upload is running, make sure to press the Reset button installed in the pinout.

Customization

The defaults buttons used in the joystick keyboard are:

const char up_key    = 'k';
const char left_key  = 'h';
const char down_key  = 'j';
const char right_key = 'l';

const char joysick_key = 'o';
const char switch_key = 177; //ESC key

You can customize them as you like, but you have to reflash the board after changes.

keyboard-joystick's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.