Here is a video of the basics of operation

 At first I looked all over my shop for buttons, and was going to use an arduino that emulated a keyboard. The game doesn't have an API for control, there is an API but doesn't really do what I wanted. Therefore I knew that the only option was keyboard/game pad emulation. Back to the buttons, I was left scratching my head, how many buttons, how to label the buttons, what happens if you switch vehicles and buttons no longer make sense.

That was when I considered a touch screen. I was using this touchscreen for another project and getting it to work properly was extremely frustrating. It is awesome because it uses a ribbon cable to attach to the pi video ribbon port. Most of them talk HDMI and this one does not. It was easy to setup, worked right out of the box, except when running pygame the touchscreen was not accurate and therefore worthless. I found it was a driver issue and that was a hard one to resolve.

So then came the next problem, the pi doesn't have analog inputs. So I found a board in the shop from another project that had an i2c ADC chip on it. I wired that up and that worked easy right away. 

Next was trying to make the pi act as a gamepad.... that didn't work out. The reason is that the pi I was using has multiple USB ports that operate through a hub and does not support USB on the go.  That left me in another bind, I ended up having the pi send UDP packets over the network to a python script on the laptop. This then acts as a game pad to the farm sim game. Overall the user experience is quite awesome. 

There have been a lot more Kerbal space program custom consoles, and I have seen a couple of farm sim ones, but this is the first one to my knowledge that uses a touchscreen for farm sim.