whatisgithub

What is joystick-canvas?

imanfahrel/joystick-canvas — explained in plain English

Analysis updated 2026-05-18

185Audience · generalComplexity · 3/5Setup · moderate

In one sentence

A joystick and HID controller mapping tool that generates visual diagrams and keybindings for flight sims like DCS World and Star Citizen.

Mindmap

mindmap
  root((repo))
    What it does
      Maps joystick input
      Generates diagrams
      Coordinates multiple devices
    Tech stack
      Python
      YAML profiles
      hidapi
    Use cases
      DCS World keybindings
      Star Citizen mapping
      Shareable SVG layouts
    Audience
      Sim pilots
      Gamers
      General

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate a diagram of your joystick's button and axis layout for DCS World.

USE CASE 2

Coordinate input from multiple HID devices without axis conflicts.

USE CASE 3

Export a shareable SVG keybinding layout for other players in your squadron.

USE CASE 4

Ask the AI module to suggest a macro sequence for a specific playstyle.

What is it built with?

PythonYAMLhidapinumpy

How does it compare?

imanfahrel/joystick-canvas23k65a1408/create-aeronautics-skywards8015238355/mm2-analytics-dashboard-2026
Stars185185185
Setup difficultymoderatemoderatemoderate
Complexity3/53/52/5
Audiencegeneralgeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Python 3.12+ with hidapi and numpy, plus at least one HID-compatible joystick.

No license information is stated in the README.

So what is it?

Peripheral Mapper Studio, also called joystick-canvas, is a mapping and diagram tool for joystick, throttle, and other HID flight sim controllers, aimed at games like DCS World and Star Citizen. It generates visual diagrams of your button and axis layout, exporting them as PNG images, SVG schematics compatible with DCS World kneeboard formats, or JSON metadata that can be cross referenced with Star Citizen keybinding files. The tool can track how you actually use your controls over time and adjust dead zones and remap accidental button presses based on that usage pattern. It can coordinate input from multiple HID devices at once, resolving conflicts when two devices try to control the same axis, and generates a 3D interactive diagram of your current setup as an HTML file, or converts a raw HID data dump into a shareable SVG layout. Configuration is handled through a YAML profile file where you define each device, its axes with sensitivity and dead zone settings, and button mappings, plus separate mapping sections for DCS World and Star Citizen key combinations. There is also a command line tool for calibration, generating diagrams, importing HID dumps, and running continuous background monitoring that switches profiles automatically based on which game window is active. It includes an optional AI assisted module that connects to the OpenAI and Claude APIs to suggest macro sequences based on your play style and generate documentation for your keybindings. The interface and documentation are offered in 12 languages including English, Chinese, Japanese, German, French, Spanish, Korean, Russian, Italian, Portuguese, Arabic, and Hindi. To run it you need Python 3.12 or newer with the hidapi and numpy libraries, at least 512 MB of RAM, and one or more HID compatible joysticks. Windows 10 and 11 are fully supported, Linux is supported in beta and needs udev rules configured, and macOS support is limited to USB pass-through only.

Copy-paste prompts

Prompt 1
Help me write a profile.yaml for joystick-canvas with a Virpil joystick and Thrustmaster throttle for Star Citizen.
Prompt 2
Walk me through installing joystick-canvas and running the initial calibration step.
Prompt 3
Show me a pmstudio.py command from joystick-canvas that generates a 3D interactive diagram as HTML.
Prompt 4
Explain how joystick-canvas resolves axis conflicts when two HID devices are active at once.

Frequently asked questions

What is joystick-canvas?

A joystick and HID controller mapping tool that generates visual diagrams and keybindings for flight sims like DCS World and Star Citizen.

What license does joystick-canvas use?

No license information is stated in the README.

How hard is joystick-canvas to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is joystick-canvas for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.