This is a userspace driver for Linux that translates the proprietary USB protocol into standard MIDI.
Just make it:
make build
sudo make install
To use the F1 without rebooting, you need to reload systemd and udev rules:
sudo systemctl daemon-reload
sudo udevadm control --reload-rules
Now plug in (or replug) your F1 and have fun!
Plug in your F1 and udev+systemd will start the daemon. Now you can use it as an input device or use ALSA or Jack to route the midi signal. For Bitwig, you can use the ALSA Virtual MIDI Script.
Some clarifications.
No, this work is not related to Native Instruments or any other music company.
It works really well using this userspace solution, so why should I start hacking the kernel? This would also imply difficult debugging and (if I make a mistake) security problems.
I am sure you are not able to press the buttons that fast and precisely ;)
Not yet. I have a working Python prototype which is able to control all the fancy lights on the device. But the MIDI mapping needs to be done as well as a proper threading model to avoid interference between input and output channel.
No, but if you provide me a complete list of the mapping, I will change the code to match it.
Currently not. This would require some modification and testing. So if you send a pull request or another F1 unit to me, I will fix that.