POUNDING
Documentation

Interface Overview

This guide explains each element of the Gamepad MIDI interface in detail.

Main Window Layout

The Gamepad MIDI window is divided into three main sections:

┌─────────────────────────────────────────────────────────────┐
│ [Update Notification] (if available)                       │
├─────────────────────────────────────────────────────────────┤
│ [ Player 1 ][ Player 2 ]                              [ + ] │
├─────────────────────────────────────────────────────────────┤
│ Controller: [Steam Deck ▼]   MIDI Output: [Gamepad MIDI ▼]  │
├──────────────────────────────┬──────────────────────────────┤
│                              │                              │
│                              │   Mapping Editor Panel       │
│   Gamepad Visualization      │   (Tabs and Controls)        │
│                              │                              │
│                              │                              │
├──────────────────────────────┴──────────────────────────────┤
│ [Pounding Systems Logo]                                     │
└─────────────────────────────────────────────────────────────┘

Top Section

Update Notification Banner

When a new version is available:

  • A notification banner appears at the top of the window
  • Shows the new version number and a brief description
  • "Download Update" button opens your browser to download
  • "Dismiss" button closes the notification
  • The notification can be permanently dismissed

Player Tabs

A row of tabs, one per player, with a + button at the right.

  • Click a tab to switch to that player. Everything below the tabs — the controller picker, MIDI output, visualisation and mapping editor — retargets to it.
  • + adds a player, up to four.
  • Each tab except Player 1 has a small × to remove that player.

With a single player the row shows just Player 1, and can be ignored entirely. See Multiple Players for the full picture.

Controller Selector

Directly below the player tabs, on the left.

Lists every connected controller plus None, and assigns one to the player currently shown. A controller already claimed by another player is greyed out and labelled with that player's name.

If your system reports more controllers than you physically have — which some hardware does — this is where you choose the one that actually responds.

MIDI Device Selector

Sits to the right of the controller selector, on the same row:

Dropdown Menu:

  • Lists all available MIDI output devices
  • "Gamepad MIDI" - The virtual MIDI device (when available)
  • Hardware devices - Any connected MIDI hardware
  • "No device" option - Disables MIDI output

Selection:

  • Click to open the dropdown
  • Select a device to begin sending MIDI
  • The selection is remembered between sessions

Status Indicators:

  • Selected device name is displayed
  • Device changes take effect immediately

Left Panel: Gamepad Visualization

The left side of the window shows a real-time visual representation of your gamepad state.

Analog Sticks

Visual Representation:

  • Circular areas showing stick position
  • Crosshair indicates current position
  • Center position when not touched

Left Stick:

  • Shows X and Y axis position
  • Moves in real-time as you move the stick
  • Click indicator when pressed (L3)

Right Stick:

  • Shows X and Y axis position
  • Independent from left stick
  • Click indicator when pressed (R3)

Triggers

L2 / R2 (Left/Right Triggers):

  • Vertical bars showing analog trigger position
  • Fill from bottom to top as you press
  • Full height = fully pressed
  • Empty = released

Shoulder Buttons

L1 / R1 (Left/Right Shoulders):

  • Button indicators above triggers
  • Highlight when pressed
  • Digital on/off state

Face Buttons

A, B, X, Y Buttons:

  • Diamond layout (Xbox style) or other layouts depending on controller
  • Highlight when pressed
  • Digital on/off state
  • Color-coded for easy identification

D-Pad

Directional Pad:

  • Four-way directional indicator
  • Up, Down, Left, Right
  • Each direction highlights independently when pressed
  • Can press multiple directions simultaneously (e.g., Up+Right)

Touchpad (if supported)

Visual Area:

  • Rectangle representing the touchpad surface
  • Shows up to 2 finger positions
  • Finger positions shown as circles
  • Position updates in real-time

Touchpad Button:

  • Indicator shows when touchpad is pressed
  • Separate from touch/swipe detection

Motion Sensors (if supported)

Gyroscope:

  • Shows rotation on X and Y axes
  • Visual indicator shows current orientation
  • Enable/disable in the System tab

Accelerometer:

  • Shows acceleration on X and Y axes
  • Visual indicator shows current movement
  • Enable/disable in the System tab

Control Highlighting

When you interact with any control:

  • The control highlights in the visualization
  • The corresponding control in the mapping editor also highlights
  • This helps you identify which control you're touching
  • Useful when creating or testing mappings

Right Panel: Mapping Editor

The right side contains the mapping configuration interface.

Menu Bar

Located at the top of the mapping editor:

Presets Menu:

  • Click to open preset management options
  • Create, load, save, rename, delete, import, and export presets
  • Shows list of available presets
  • Current preset name is displayed in the menu

Always on Top Checkbox:

  • Toggle to keep Gamepad MIDI above all other windows
  • Useful when working with a DAW in the background
  • Persists between sessions

Tab Navigation

Vertical tabs on the left side organize controls into logical groups:

Control Tabs:

  1. Left Stick - Left analog stick X, Y, and L3 button
  2. Right Stick - Right analog stick X, Y, and R3 button
  3. L Shoulder - Left trigger (L2) and shoulder button (L1)
  4. R Shoulder - Right trigger (R2) and shoulder button (R1)
  5. D-Pad - Directional pad: Up, Down, Left, Right
  6. Face Buttons - A, B, X, Y buttons
  7. Touchpad - Touchpad X, Y, pressure, and button
  8. Gyroscope - Motion sensor X and Y axes
  9. Accelerometer - Acceleration sensor X and Y axes
  10. System - Global smoothing settings

Tab Interaction:

  • Click a tab to view its controls
  • Active tab is highlighted
  • Content area updates to show the selected tab's controls

Control Items

Within each tab, you'll see a list of available controls.

Control Item Display:

┌──────────────────────────────────────────┐
│ Control Name          Current Value: 64  │
│ [+ Add Mapping]                          │
│                                          │
│ Mappings:                                │
│ • CC 1 (Ch 1): Modulation  [Edit] [Del] │
│ • CC 7 (Ch 1): Volume      [Edit] [Del] │
└──────────────────────────────────────────┘

Elements:

  • Control Name - The name of the gamepad control
  • Current Value - Real-time value display
  • Add Mapping Button - Create a new MIDI mapping
  • Mapping List - Shows all mappings for this control
  • Edit Button - Modify an existing mapping
  • Delete Button - Remove a mapping

Control Highlighting:

  • When you activate a control on your gamepad, it highlights
  • Both the visualization and the mapping list highlight
  • Helps identify which control you're using

Smoothing Settings (System Tab)

The System tab contains global settings:

Individual Control Smoothing:

  • Left Stick Smoothing slider
  • Right Stick Smoothing slider
  • Left Trigger Smoothing slider
  • Right Trigger Smoothing slider
  • Touchpad Smoothing slider
  • Gyroscope Smoothing slider
  • Accelerometer Smoothing slider

Touchpad Settings:

  • "Return to Zero" checkbox - Makes touchpad values return to center when not touched

See Smoothing Settings for detailed information.

Bottom Section

Logo and About

Pounding Systems Logo:

  • Click the logo to open the About window
  • Shows version information
  • License status and management
  • Link to website

About Window Contents:

  • Application version
  • Copyright information
  • License status (trial, licensed, or unlicensed)
  • "Manage License" button (if licensing is enabled)
  • Website link

Window Behavior

Resizing

  • The window can be resized (within limits)
  • Gamepad visualization scales proportionally
  • Mapping editor remains a fixed width
  • Layout adjusts to maintain usability

Closing

When you close the window:

  • All mappings are automatically saved
  • Current MIDI device selection is saved
  • Window position and size are remembered
  • If you have unsaved preset changes, you'll be prompted

Always on Top

When enabled:

  • The window stays above all other applications
  • Useful for making adjustments while your DAW is visible
  • Persists between sessions
  • Toggle on/off via the checkbox in the mapping editor

Keyboard Shortcuts

Currently, Gamepad MIDI uses mouse-based interaction. Common actions:

  • Click tabs - Switch between control groups
  • Click buttons - Add, edit, or delete mappings
  • Click dropdown - Select MIDI device
  • Click logo - Open About window
  • Click checkbox - Toggle Always on Top

Visual Feedback

Activity Indicators

When MIDI is sent:

  • Control values update in real-time
  • Mapping items briefly highlight when MIDI is transmitted
  • Gamepad visualization updates continuously

When controls are activated:

  • Visual elements highlight immediately
  • Corresponding mapping editor items highlight
  • Value displays update

Status Messages

The application may display status messages for:

  • Gamepad connection/disconnection
  • MIDI device changes
  • Preset loading/saving
  • Update availability

Accessibility

Visual Design

  • High contrast interface elements
  • Clear button labels
  • Real-time value displays
  • Color-coded controls (where applicable)

Interaction

  • Large click targets for buttons
  • Clear hover states
  • Immediate visual feedback
  • Consistent layout across tabs

Tips for Effective Use

  1. Use Always on Top: Keep Gamepad MIDI visible while working in your DAW
  2. Watch Highlighting: Visual feedback helps confirm your mappings work
  3. Organize with Tabs: Related controls are grouped logically
  4. Monitor Values: Real-time value displays help with troubleshooting
  5. Check the Visualization: Ensure your gamepad is responding correctly

Next Steps