Native Instruments Traktor Kontrol S2 MK3

i started mapping the Traktor Kontrol S2 MK3 controller to Mixxx. By now most functions are implemented, except for some limitations and open questions listed below. I would be glad for some people testing the mapping and giving feedback. You can download the XML and JavasSript-file from my Github repository and put them the into the controller folder:

I created a page in the Wiki with some technical details around the USB HID specification, in case somebody want to have a look. I will add some more documentation there soon. There are some limitations and open questions so far:

  • Secondary shift-function for the play, cue and sync button is not implemented yet (DONE)
  • Distinguish between long and short sync button press with timer (DONE)
  • Make it possible to jump out of the loop with corresponding knob (DONE)
  • REV / FLX button not implemented yet (DONE)
  • What to do with the GRID buttons? I have no idea what Mixxx function makes sense here … (DONE)
  • Also i have no idea how to map the small “add to preperation list” buttons close to the browse-knob? (DONE)

Hi Michael!

I tried to use Traktor Kontrol S2 MK3 with Mixxx 2.0.0 on a Linux Mint 18.1
Therefore I copied your files to the controller folder as you described.
When starting Mixxx there is an error
“There was a problem parsing the XML file /home/sven/.mixxx/controllers/Traktor Kontrol S2 MK3.hid.xml.
unexpected character at line 45, column 94”

What went wrong?


this is a strange error, since the file Traktor Kontrol S2 MK3.hid.xml has less than 45 lines. Can you double check if you copied the files correctly and compare it against the file in the repository?


I suggest to backup your ~/.mixxx/controllers directory, delete all files and copy only the new configuration in there.
Then start MIXXX and select the controller configuration within the settings.
There shall be no interference with old configs anymore.

I tried both ideas…
unfortunately it didn’t help
Bildschirmfoto vom 2019-12-26 21-26-50.jpg

Please note that the mapping has been created for Mixxx 2.2. You are referring to use version 2.0 which is no longer supported.

Now I updated Mixxx to version 2.2.3 but that didn’t help either
Bildschirmfoto vom 2019-12-27 01-37-50.jpg

Please attach the corresponding XML file that the error message refers to. The original file contains only 19 lines: … K3.hid.xml

this is the file I find in my folder
Traktor Kontrol S2 MK3.hid.xml (72.7 KB)

You have saved the contents of the HTML page from GitHub as your XML mapping file instead of the raw contents.

I tried to use this .xml file; no error message now but the controller still can’t be found. Do I need a corresponding .js file?

Both files are required.

will I also need a “common-hid-packet-parser.js” ?

Common files reside in the installation resources folder of Mixxx. Only controller-specific files are copied into the personal settings folder to allow local modifications.

As a consequence the same controller will appear twice in the selection, indistinguishable. To fix this confusing behavior is another open task.

Sorry for all this confusion Sven. I updated the links in the first post now, so they point to the raw files on Github. Both files must be copied to the User Controller Mapping Folder as described here. Nevertheless this mapping will be included in the upcoming 2.2.4 release of Mixxx, so copying the raw files will not be necessary in the future.

Thanks a lot for having the links updated. Downloading and starting Mixxx works properly now.
Unfortunately the controller is still not recognized. I’m looking forward to version 2.2.4

Hello, i think we can make it work. Can you please specify at which point the controller setup is failing, when following the manual?

I hope we can do so.

I can use Mixxx with the controller as external soundcard, so hardware is working.
But there is no controller to be selected.

Thanks a lot for your help so far - I’ll be on holidays for a few days so I’m gonna try again when i’m back.

Sven … _gnu_linux

Some weeks ago I used Mixxx with a Zomo MC-1000, this had worked without any trouble .