Skip to content

Instantly share code, notes, and snippets.

@kana
Last active April 9, 2026 05:47
Show Gist options
  • Select an option

  • Save kana/7fc0fa90b240d886260bdfe52695a4aa to your computer and use it in GitHub Desktop.

Select an option

Save kana/7fc0fa90b240d886260bdfe52695a4aa to your computer and use it in GitHub Desktop.
Bat to the Heavens — Custom controller layouts for a beatmania IIDX controller

Button notation

┌──────────────────────────────────────────────────────────────────┐
│        ________________          ┌────┐  ┌────┐  ┌────┐  ┌────┐  │
│       /                \         │ E1 │  │ E2 │  │ E3 │  │ E4 │  │
│      /                  \        └────┘  └────┘  └────┘  └────┘  │
│     /                    \                                       │
│    /                      \          ┌────┐  ┌────┐  ┌────┐      │
│   |   ╭───>        <───╮   |         │    │  │    │  │    │      │
│   |   │                │   |         │ B2 │  │ B4 │  │ B6 │      │
│   |   │                │   |         │    │  │    │  │    │      │
│   |                        |         └────┘  └────┘  └────┘      │
│   |   CW             CCW   |     ┌────┐  ┌────┐  ┌────┐  ┌────┐  │
│    \                      /      │    │  │    │  │    │  │    │  │
│     \                    /       │ B1 │  │ B3 │  │ B5 │  │ B7 │  │
│      \                  /        │    │  │    │  │    │  │    │  │
│       \________________/         └────┘  └────┘  └────┘  └────┘  │
└──────────────────────────────────────────────────────────────────┘
  • CW means turning the turntable clockwise.
  • CCW means turning the turntable counterclockwise.
  • B1 to B7 and E1 to E4 are standard buttons.

Controller layout (main)

┌──────────────────────────────────────────────────────────────────┐
│        ________________          ┌────┐  ┌────┐  ┌────┐  ┌────┐  │
│       /                \         │Start  │Z key  │Share  │Home│  │
│      /                  \        └────┘  └────┘  └────┘  └────┘  │
│     /                    \                                       │
│    /                      \          ┌────┐  ┌────┐  ┌────┐      │
│   |   ╭───>        <───╮   |         │    │  │    │  │    │      │
│   |   │                │   |         │ LB │  │ RB │  │DPad│      │
│   |   │                │   |         │    │  │    │  │ Up │      │
│   |                        |         └────┘  └────┘  └────┘      │
│   |   DPad          DPad   |     ┌────┐  ┌────┐  ┌────┐  ┌────┐  │
│    \  Left          Right /      │    │  │    │  │    │  │    │  │
│     \                    /       │ A  │  │ Y  │  │ LT │  │ RT │  │
│      \                  /        │    │  │    │  │    │  │    │  │
│       \________________/         └────┘  └────┘  └────┘  └────┘  │
└──────────────────────────────────────────────────────────────────┘
Button Mapped result
B1 A
B2 LB
B3 Y
B4 RB
B5 LT
B6 DPad Up
B7 RT
E1 Start
E2 Z key
E3 Share
E4 Home
CW DPad Left
CCW DPad Right
  • B1 (= A) performs a downward swing or cancel, depending on the context.
  • B4 is mapped to RB rather than B to ensure it only performs a rightward swing.
  • E2 (= Z key) serves as the interact button, since there is no B button equivalent in this layout.

Controller layout (while holding E1)

┌──────────────────────────────────────────────────────────────────┐
│        ________________          ┌────┐  ┌────┐  ┌────┐  ┌────┐  │
│       /                \         │####│  │    │  │    │  │    │  │
│      /                  \        └────┘  └────┘  └────┘  └────┘  │
│     /                    \                                       │
│    /                      \          ┌────┐  ┌────┐  ┌────┐      │
│   |   ╭───>        <───╮   |         │    │  │    │  │    │      │
│   |   │                │   |         │DPad│  │    │  │    │      │
│   |   │                │   |         │ Up │  │    │  │    │      │
│   |                        |         └────┘  └────┘  └────┘      │
│   |  DPad            DPad  |     ┌────┐  ┌────┐  ┌────┐  ┌────┐  │
│    \ Down             Up  /      │    │  │    │  │    │  │    │  │
│     \                    /       │DPad│  │    │  │    │  │    │  │
│      \                  /        │Down│  │    │  │    │  │    │  │
│       \________________/         └────┘  └────┘  └────┘  └────┘  │
└──────────────────────────────────────────────────────────────────┘
Button Mapped result
B1 DPad Down
B2 DPad Up
CW DPad Down
CCW DPad Up
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment