Hercules DJControl Inpulse 300

Here is the mapping file for the Hercules DJControl Inpulse 300 for the latest version of Mixxx (2.20):


More details on the official Wiki page (https://www.mixxx.org/wiki/doku.php/hercules_djcontrol_inpulse_300), but here is the basic configuration:

Controls not included in this mapping

  • Master knob (Hardware control)
  • Headphone knob (Hardware control)
  • Master buttons (Hardware control)
  • Beatmatch guide (Hardware control)
  • PADS: Slicer/Slicer Loop
  • PADS: Toneplay
  • PADS: FX

NOTE: When in FX mode, each pad will send multiple and different Note and CC messages. As these could not all be used properly with Mixxx current effect framework still in development, the pads have not been assigned in this mapping.


Sync = Sync lock
SHIFT + SYNC = Sync master.

Cue = Cue point
SHIFT + CUE = Return to beginning of loaded song.

Play = Play/Pause
SHIFT + Play = Cue Stutter.

Vinyl = Scratch On/Off (Default: ON)

Q = Keylock(Default: ON)

Beat Align LED = Track end warning (Make sure [u]Beatmatch Guide[/u] is [u]On[/u] for this to work)

Loop In = Beatloop 4 beats
SHIFT + Loop In = Loop Halve.
Loop Out = Beatloop Off
SHIFT + Loop Out = Loop Double


Encoder = Move up/down list
Encoder button = Switch focus between List and file view
SHIFT + Encoder button = Maximize/Minimize broser view
Assistant = AutoDJ On/Off

FX :

FX On = FX 3 On/off
SHIFT + FX On = FX 3 Select (next effect)

PADS - Hot Cue:

Set and trigger Hot Cue 1-4
SHIFT + Pad = Delete Hot Cue 1-4.

PADS - Roll:

Pad 1-4 = Beatloop 1 / 2 / 4 / 8 beats

PADS - Sample:

Trigger Sampler 1-4 (Deck A)
Trigger Sampler 5-8 (Deck B)

PADS - Beatjump:

Pad 1-2: Beatjump Backward/Forward 1 beat
Pad 3-4: Beatjump Backward/Forward 2 beat
Pad 5-6: Beatjump Backward/Forward 4 beat
Pad 7-8: Beatjump Backward/Forward 8 beat

Other controls as labeled.
Hercules-DJControl-Inpulse-300.script.js (6.8 KB)
Hercules_DJControl_Inpulse_300.midi.xml (66.9 KB)

I tried Installing this Mapping by copying it to the Presets Folder for Mixxx but my Controler still does not respond … am i missing a step ?

So I take it that your are using the latest version of Mixxx (v2.2.1) , and that you’ve followed these instructions to load and enable the preset ?

mixxx.org/manual/latest/en/chap … ontrollers

New version of the mapping, which has been submitted on Github for inclusion in Mixxx.

Changes since original release:

Changes to v1.2

  • Code cleanup.

Changes to v1.1

  • Fix seek-to-start and cue-master behavior.
  • Tweak scratch, seek, and bend behavior.
  • Controller knob/slider values are queried on startup, so MIXXX is synced.
  • Fixed vinyl button behavior the first time it’s pressed.

Hercules_DJControl_Inpulse_300.midi.xml (65.6 KB)
Hercules-DJControl-Inpulse-300-script.js (9.19 KB)

As mentionned previously, the Inpulse 300 mapping is now included with the latest v2.2.4.

The wiki page will be updated soon with all the latest information.

A PR with an updated mapping has been submitted, scheduled for inclusion in 2.3.x:

Code (XML-only): Improve Hercules inpulse 300 mappings by michalvankodev · Pull Request #4246 · mixxxdj/mixxx · GitHub
Manual: Improve documentation on Hercules Inpulse 300 controller by michalvankodev · Pull Request #425 · mixxxdj/manual

Everyone who owns this controller: Please test and comment!

Pretty busy these days, But I’ll try to give it a go soon.