Hello,
in the latest weeks I've been writing a filter/mapper for Novation Launch Control XL. It allows you to create custom configurations assigned to its templates, select which midi device send any controller to, and even filter/modify the incoming MIDI event using mididings units.
It's still a work in progress (so, bugs!), but it should be stable enough for now.

The program is called NoLaE and requires python 2.7, PyQt4 and mididings.
The project page is here: https://github.com/MaurizioB/nolae

If you own a Launch Control XL and would like to test it, I'd be happy to have some feedback.

Thank you!

MaurizioB