(I am referring to this PDF.)Please understand that "Native Mode" is useless without programming an interface to it. Native Mode is like an API - it's for programming dedicated interfaces for the PadKontrol. It doesn't magically "fix" any of the complaints about the PadKontrol. You need to create software (in Max/MSP for example) to take advantage of Native Mode.
USING PADKONTROL NATIVE MODE
Wha? When you put your PadKontrol into Native Mode, you get full control over every button and light. Not just some of the buttons - literally every button and LED on the top side of the machine. Every one of these buttons sends a message when you push it and when you release it. The "downside" here is that it's not sending NOTE or CC messages anymore - it's all System Exclusive messages (SysEX) - so while you have "full control" over them, they generally don't do a damn thing on their own as far as controlling something like Reason or Live.
Every knob/button/pad/touchpad sends out an id plus:
- The large knob sends an increment/decrement message.
The two smaller knobs send out 0 thru 127.
The drum pads send velocity, and a seperate "on" and "off" message.
The touchpad sends 0 thru 127 for each axis.
The remaining buttons send out a seperate "on" and "off" message.
Every light can be controlled on the system - right down to the individual lights making up the 7-segment LEDs. The lights can have 4 states - On, Off, Blink and "One Shot". "One Shot" means the light is turned on for a predetermined number of milliseconds, and then it automatically turns itself off. The range of milliseconds is 9ms to 279ms in 9ms increments - from the briefest flash to about a quarter of a second. (The blink setting is not adjustable, but you could use the "one shot" mode and programming on the client side to do adjustable blinks.)
There's also comands to print numbers and letters to the 3 character 7-Segment LED display using ASCII. It allows from hex 20 to hex 7F - but experimentation will show that 7-Segment LEDs aren't the best thing to display a "W" for example. (Think "boobless" on an old calculator. ) Works awesome for numbers.
Native Mode requires you to send 3 commands to the PadKontrol before it will do any Native Mode tricks:
- Native KORG mode In - see PDF 3-1(15)
Native KORG mode Packet Communication 1 - see PDF 3-1(17) + Table 3
Native KORG mode Packet Communication 2 - see PDF 3-1(19) + Table 4
I used "MIDI-OX" to experiment initially. Under Actions - Send - Sysex File… (Just cancel the file dialog to send data from the scratch pad. Hightlight the bits you want to send, right-click on it and choose "send" to transmit it. Input from PadKontrol Port A - Output to Padkontrol CTRL)
Commands transmitted start with "f0 42 40 6e 08" and end with "f7". This is hexadecimal and it's not case sensitive. (If you're using Max/MSP, you can use decimal - but if you're following along, you need to write hex as 0xf0 0x42 0x40 etc. in Max/MSP)
f0 42 40 6e 08 00 00 01 F7 :: Enter Native Mode. PDF section 2-2(16)
f0 42 40 6e 08 3f 0a 01 7f 7f 7f 7f 7f 03 38 38 38 F7 :: Lights! W00t! PDF section 2-2(19) + Table 4
f0 42 40 6e 08 3f 2a 00 00 05 05 05 7f 7e 7f 7f 03 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 f7 :: Setup the controls to actually send data. PDF section 2-2(17) + Table 3
All controls now send SysEx. All the lights should be turned on - or close to it.
f0 42 40 6e 08 22 04 01 50 57 4e f7 :: Print "PWN" to the 3 character LED display. The bold bit is the ASCII for P, W and N. PDF section 3-2(3)
f0 42 40 6e 08 01 00 63 f7 :: Set the first pad light to blink. The bold is the light number - numbering starts at zero. The red part tells the light what to do. 00=Off, 20=On, 63=Blink, 5F=Longest OneShot, 41=Shortest OneShot. PDF section 3-2(1)
In a lot of the cases, creating the right SysEx messages means taking a 7bit binary map and converting it into hexadecimal. It only confuses things because they put notations like "B0"; in the PDF - but they mean "binary place 0"; and not B0 in hexadecimal. The PDF was written with a programmer in mind, to be sure.
For example:
f0 42 40 6e 08 3f 0a 01 7f 7f 7f 7f 7f 03 38 38 38 F7 (The "Initialize the lights" message)
The series of 7f's are binary maps of 7 lights each. 1111111 in binary = 127 in decimal = 7F in hexadecimal. In this case it means "all 7 lights are on" - I was setting every light "on" in the example command I provided. 1010101 (55 in hex) would mean "turn on lights 1,3,5 and 7 in the 7 light set. 0000000 = 0 decimal = 00 hex - all lights would be off in that 7 light set. (And so on…) See Table 3 in the PDF.
After the sequence of five 7F's, the 03 has to do with the "decimal points" in the 3-character display. Couldn't get that to work as predicted. YMMV.
The 38 38 38 sequence is simply the number eight in ASCII, represented as hex three times. That prints "888"; to the display. asciitable.com can be of some help there. You may have to reverse the order of the letters to make it read correctly on the display.
Processing SysEx
As far as processing the raw sysex data from the controls in Max/MSP, my "winning" functions have been a chain that's basically a "sysexin" to a "zl group 9"; to a "match" to a "unpack". That gives me access to the values - and then I do some math and the values that wind up feeding a "sxformat to a midiout" to do visual feedback and a "noteout" to make a sound.
sysexin = from PadKontrol Port A
noteout = anything that makes a sound.

midiout = PadKontrol CTRL
Understanding the PDF…
When they say "(NOTE 4)" they mean "See Table 4 at the end of the document."
When you see "0nnn nnnn (nn)" - you need to create a Hex byte from a binary pattern. In this case (and usually, in general) a 7bit pattern.
In the Tables, B7..B0 means binary digits converted to hex for that section.
What Else?
There's a ton of SysEx functions in the PDF, but most of them just enable the library software that's included with the PadKontrol - things like uploading and downloading the scenes, changing paramaters, etc. Not all that useful for Native Mode.
I hope this helps someone!
- Fat Elvis