So I started looking around for a better way to control my homebrew crossfire "infotainment" system and came across this BMW IDrive controller that is used in the later model BMWs. I picked one up off eBay and lucky enough, it fits perfectly into the center console area where the mirror control goes with little room to spare. I was able to laser cut a hole into the console and install the iDrive controller. The connections are fairly simple and I am currently programming them into my setup. It takes just 4 wires (12V, Ground, Can H, Can L) and runs at 500KBPS. The controller has the standard media buttons shown in the picture, a scroll encoder wheel around the trim of the circle (something I plan to use for volume and radio station tuning) and a mouse like trackpad (kind of like a laptop) on the top where the buttons are. You can also push the scroll wheel in all four directions to activate directional arrows.
I plan to have this work with my center screen and gauge cluster as well as make a button combination for my train horn and another button combination to enable it to adjust the mirrors just as the original switch in that location did. Its always a good feeling when you can find a random part that can easily integrate into the car. I'm super excited for when I finish

Ill be sure to post a video
I also got tired of the original cup holder so I made a block off plate I am going to install and put some resin on so it is one smooth piece. This way when I redo the vinyl wrap, you wont be able to tell it was there.
You can see the section I laser cut out in this picture and the original switch for size comparison
A rough install to check for fitment