To do some of the best stuff with KSP controllers two way communication is required. However the creator (zitronen of the KSP forums) has recently updated the mod. When I made my controller the mod was not compatible with the current versions of KSP or windows 10 so I ultimately chose against using it.
(3) For two way communication there is this mod that allows you do do this and comes wit a lot of example code. This is the method I used for my first controller. This option will require a lot more programming ( example code) and I would not recommend it if you do not have atlease some experience wit C or the Arduino IDE. It also has interrupts on every pin so that makes it especially nice for this application. (2) Arduino DUE has support of native USB which can act like a keyboard using the keyboard library that comes in the Arduino IDE. This is the method I used for my second controller. The documentation for UnoJoy is very good so to install and use it simply follow the steps in the README included in the download. You will run out of input on an UNO fast. If you do this I suggest using an Arduino Mega for the additional inputs. This will only allow for 1 way communication but is it very easy to setup. The main advantage of this is that it allows for easy analog input and buttons can be reassigned in the game setting.
(1) UnoJoy is this firmware for the Arduino that makes it behave like a generic USB joystick. Here are the main 3 I considered as a result of my research: There are many options for your microcontroller and many ways that you could choose to communicate with your computer/game.