The gameport app is up and running tonight after some technical difficulties - I discovered that I have to install the DirectX redistributable on whatever machine the app gets installed in. That's the pain of using DirectX but it made writing the app much easier. I added in xPL so the app will issue sensor.basic messages in response to button presses. I also added in a configuration file where you specify nice names for each button, like "GarageDoor", "Doorbell", etc., and those will be the device names in the xPL messages. One thing left to do is try using more than 1 gameport. I'll need to pick up some extra joystick extension cables to connect to the other 3 ports. I also need to add a selectable polling interval, probably something I'll add to the GUI.