Didn’t take as long as I thought as the FMC unit is now up and running.
I’m using an OpenCockpits USBKeys Cards and a custom PCB I made for my FMC. To bridge OpenCockpits SIOC to the PMDG 737, I’m using the OCP4NGX software. This software is primarily used for OpenCockpits Plug-&-Play modules, so custom built stuff like my FMC will need some script tweaking to make it work right.
So with the OCP4NGX Software, the first thing I had to was manually set my KeyCard to be Device 13, what the software uses for the Captain FMC. Once I got the variable set and the card recognized, the next main hurdle was my FMC PCB board’s key matrix wasn’t wired the same way as an OpenCockpits Plug-&-Play FMC would be, so the key inputs didn’t match up. I was going to have to manually map each key on the FMC to appropriate SIOC input #. After some internet searching, I found this required the following SIOC code for each key
if &KeyPressed = 20 // A
&CDUKey = 61 // Prosim value
&CDUKey = 0
Peter at Build A Boing had the same issue a few years back and shared his final code on the prosim forums, thus saving me a good deal of work of writing the whole thing from scratch.
Once I updated the first line to match what SIOC Monitor was reporting as the key # for each FMC key, my FMC worked great. I have my FMC code available here.
Here’s a quick video testing the unit: