When extension is plugged in the MotionPlus port it interleaves the data coming from the extension with data from MotionPlus. This can be distinguished by looking at 2nd byte in 5th byte.
This packet must then be changed to be seen as coming from Nun-chuck/Classic controller. I have done the first part in my forked repo, I have not yet found a way how to simply know what is plugged in.
Please have a look at http://github.com/robots/cwiid
When extension is plugged in the MotionPlus port it interleaves the data coming from the extension with data from MotionPlus. This can be distinguished by looking at 2nd byte in 5th byte. This packet must then be changed to be seen as coming from Nun-chuck/Classic controller. I have done the first part in my forked repo, I have not yet found a way how to simply know what is plugged in. Please have a look at http://github.com/robots/cwiid