Well, I haven't tested it on the real hardware, but I believe that the hda-jack-retask program (or parts of it) could be used as a backend. That is a somewhat crude solution as PulseAudio will be restarted during jack retasking (and thus all applications using the audio system will have to be restarted, unless they autoconnect).
If we want something more elegant, we could write a kernel patch to set the jack to different functions given an alsa mixer control. I don't think that would be too difficult, but for 12.04, time is about to run out for kernel patches.
Regardless of strategy, we're going to need a custom GUI for it to be user friendly enough. Designing that GUI and making it show up when you plug it in (or whatever) might be the biggest work item.
Well, I haven't tested it on the real hardware, but I believe that the hda-jack-retask program (or parts of it) could be used as a backend. That is a somewhat crude solution as PulseAudio will be restarted during jack retasking (and thus all applications using the audio system will have to be restarted, unless they autoconnect).
If we want something more elegant, we could write a kernel patch to set the jack to different functions given an alsa mixer control. I don't think that would be too difficult, but for 12.04, time is about to run out for kernel patches.
Regardless of strategy, we're going to need a custom GUI for it to be user friendly enough. Designing that GUI and making it show up when you plug it in (or whatever) might be the biggest work item.