qKontrol - an open source tool to make the Komplete Kontrol MK2 working on Linux

Discussion in 'KOMPLETE KONTROL SERIES' started by GoaSkin, Aug 11, 2018.

  1. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    Hello,


    after examining the USB data that the Komplete Kontrol software sends to the MK2 keyboard, I decided to code a program to edit the MIDI mappings under Linux because Native Instruments theirselves do not offer such a tool and things like changing MIDI channels or splitting the keyboard into different mappings is not possible with the buttons on it.

    After 5 hours of development, a first version offered the possibility yet to define up to 16 key zones and to set the key colors and the MIDI channels for them. After a few more hours, a second version (the attached one) also offers the possibility to modify the CCs sent by all the knobs and buttons. And at least, it also supports something that the original Komplete Kontrol software doesn't support: Changing the background lightning colors of each button in the button row.

    The UI is very rudimentary and incredible yet and implausible settings are not prevented.
    After unpacking the attached ZIP file, you get the source code as well as a binary file that should run under Ubuntu 18.04 64-bit. You must run the program as root yet because normal users don't have access to the "/dev/hidraw"-devices or (alternatively) to create an UDEV rule. Look at this post if you want to know how this UDEV thing works: https://unix.stackexchange.com/questions/85379/dev-hidraw-read-permissions
    Screenshot_20180916_020402.png Screenshot_20180916_020428.png


    The goal is to support everything you may configure with the Komplete Kontrol software when you click the MIDI button.

    download the latest version here!
     

    Attached Files:

    Last edited: Dec 18, 2018
    • Like Like x 6
  2. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    Lots of changes applied:

    - the selected CCs for all knobs and buttons are illustrated on the screens
    - note spinboxes in the keymap editor show the note names now (like C0, C#0 etc.)
    - the "wheels and touchstrip" editor supports now the full configuration of all three controls which can be configured to send MIDI parameters, pitch or to be disabled
    - the wheels and touchstrip editor is redesigned now using toolbars and span sliders
     
    Last edited: Sep 15, 2018
    • Like Like x 1
  3. JesterMgee

    JesterMgee NI Product Owner

    Messages:
    1,620
    Interesting, not sure if the other 2 Linux users will see this tho.
     
    • Like Like x 1
    • Dislike Dislike x 1
    • Funny Funny x 1
  4. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    Next update:

    - GUI has been partially improved
    - more usable default settings
    - much faster image transfer to the two displays
    - current knob values are continously displayed if any other application meanwhile receives MIDI

    qkontrol.jpg
     
    Last edited: Sep 17, 2018
    • Like Like x 3
  5. SSquared

    SSquared NI Product Owner

    Messages:
    50
    This looks fantastic. I can't believe you figured out how to change button colors. I don't currently run Linux or I'd check this out. I do use the MIDI mode on the KKMK2, though.
     
  6. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    I found out this more or less by accident. The HID command that transmit the MIDI control mappings for all the knobs and buttons contains eight additional bytes - normally 8 times 0x1F. Knowing that 1F is the value for white in other cases, I got the suspicion that these bytes are for light colors too.
     
  7. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    Just a few GUI improvements:

    - control names are beeing displayed
    - text alignment
    - information about the wheels and the touch strip

    IMG_20180917_010253.jpg

    Dependencies: libqt4-gui libqt4-test libhidapi-libusb0 libusb-1.0

    Some widgets of libqxt are used. Install libqxt-dev if you want to edit the .ui file in the QT designer!
     
    • Like Like x 1
  8. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    The knobs can be configured now to send program changes instead of MIDI CCs and also be turned off.
     
    Last edited: Dec 18, 2018
  9. AudioDog11

    AudioDog11 New Member

    Messages:
    23
  10. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    Pedal settings are currently beeing integrated but this is a lot of work because the pedal settings are very complex and there is a lot to be tested.
     
  11. Uwe303

    Uwe303 NI Product Owner

    Messages:
    4,073
    Wow good work - respect
     
  12. Simchris

    Simchris NI Product Owner

    Messages:
    515
    Hashtag whoa!
     
  13. HammyHavoc

    HammyHavoc NI Product Owner

    Messages:
    665
    Doing what NI won't but should!
     
  14. GoaSkin

    GoaSkin NI Product Owner

    Messages:
    91
    Expression pedal and foot switch configuration has been implemented successfully. Look at the first post in this thread to download the latest version!

    pedals.png
     
    Last edited: Dec 18, 2018
    • Like Like x 1
  15. trusampler

    trusampler NI Product Owner

    Messages:
    1,732
    This is awesome! Great work, pretty sad that within a few hours, a guy from the internet can update the Keyboard and add options for a better workflow, while we the regular majority must wait on the politics of NI. :) Thanks NI
     
    • Like Like x 1