JoyStick + Buttons + Haptic Feedback Plugin - RPG Maker MZ
A downloadable plugin
JoyStick2Key Auto-Integration connects a USB joystick, arcade stick, or fight stick straight into RPG Maker MZ’s own input system — no external Joy2Key utility required. Your controller drives the standard game actions, players can remap everything in-game, and it all matches your project’s default window style.
Why it’s different
Arcade sticks and DIY encoders (Zero Delay, Brook, and friends) report their buttons with wildly different indices, so a fixed layout never works for everyone. This plugin uses a press-to-bind flow instead: the player picks an action, then presses the button or pushes the stick they want. That’s what makes it truly plug-and-play on any controller.
Features
- Direct integration with MZ’s input — Confirm, Cancel, Dash, Menu, Page Up/Down, and the four directions.
- Press-to-bind remapping in-game, with automatic swap when an input is already in use (nothing gets silently lost).
- Developer defaults + player overrides, saved to the game’s config file so they persist between sessions.
- Native button-prompt chips drawn with your own windowskin colors, plus an optional prompt bar in menus.
- Rumble via the Gamepad Haptics API, with a graceful no-op fallback on controllers without motors.
- Fully translatable — every label and action name is a parameter.
- Keyboard input keeps working right alongside the controller.
How players configure controls
- Open the config from the Options menu (“Controller Config”), a plugin command, or a script call.
- Select an action.
- Press a button or push the stick.
- Done — it saves instantly. “Reset to Defaults” restores the developer setup anytime.
Installation
- Drop Joy2Key_AutoIntegration.js into your project’s js/plugins/ folder.
- Enable it in the Plugin Manager (keep the filename exactly as-is).
- Tweak parameters if you like — the defaults work out of the box.
For developers
Show the current binding for any action as a native chip inside your own windows:
Joy2Key.drawButtonGlyph(this, "ok", x, y);
Plus plugin commands and script calls for opening the config, triggering rumble, and resetting bindings.
Requirements
RPG Maker MZ, and a controller recognized by the OS. Works in the desktop (NW.js) build and modern browsers via the Gamepad API.
FAQ
Do I still need the external Joy2Key program? No. This runs inside your game and speaks to MZ’s input system directly, so there’s nothing for players to install or configure outside the game.
My arcade stick’s buttons are in a weird order — will it still work? Yes. Because binding is press-to-bind, it doesn’t matter how your encoder numbers its buttons. Players press the button they want and it’s captured as-is.
What if two actions end up on the same button? Binding a new input that’s already in use automatically swaps the two actions, so you never lose a control by accident.
Are the player’s bindings saved? Yes — they’re stored in the game’s config file and persist between play sessions, per player.
My stick has no rumble motor. Is that a problem? Not at all. Rumble uses feature detection and simply does nothing when no motor is present. It’s safe to leave enabled.
Does the stick’s direction come from the analog axis or a d-pad/hat? Directions default to the main stick axes. If your stick reports directions as buttons or a hat instead, the player can just rebind each direction with press-to-bind.
Can players still use the keyboard? Yes. Keyboard input is untouched and works at the same time as the controller.
Does it work with the mobile / web deployment? It uses the standard Gamepad API, so it works wherever the browser exposes a connected controller. Support and rumble depend on the device and browser.
Can I change the wording / translate it? Every on-screen label and action name is a plugin parameter, so you can rename or translate all of it without touching code.
Will it conflict with other input plugins? It replaces MZ’s gamepad reader with a binding-aware version. If you use another plugin that also modifies gamepad input, place this one below it and test the combination.
License
Free for commercial and non-commercial RPG Maker MZ projects. Credit appreciated but not required. Please don’t resell the plugin itself as an asset.
| Published | 18 hours ago |
| Status | Released |
| Category | Tool |
| Author | RPG_Maker_Plugins |
| Tags | accessibility, Arcade, Controller, gamepad, input, joystick, rmmz, RPG Maker |
| AI Disclosure | AI Assisted, Code |
Download
Click download now to get access to the following files:

Leave a comment
Log in with itch.io to leave a comment.