Joysticks, Other Controls, and "Cockpits"
After spending some time competing with others in combat flight simulation, you'll probably want to enhance your experience (and competitive advantage) with some additional controls. Some of the people giving you combat have spent hundreds (or even thousands) of dollars to gain a bit of an extra "edge". I like to have extra controls, but I've figured out various good ways to do it on the cheap, using inexpensive, readily-available joysticks, joypads, USB numeric keypads, and (in the most sophisticated version), a hardware-programmable keyboard. These setups are all programmable, but some of them are programmable in hardware and some in software. There are advantages and disadvantages to each approach.
For example, hardware-programmable devices must include their own nonvolatile memory chips. They remember their programming even if the power fails, or if they are moved to a different location or to a different computer. You can take them with you to a LAN party without reprogramming them, and at the party, you can plug them into the computers of your friends and compete in your own, familiar environment without any setup. More importantly for LINUX users, (even though they generally must be programmed from a Windows machine), they work with LINUX!
Software-programmable devices, on the other hand, consult some kind of a data file or "profile" that must reside on the computer with which they operate. In general, these devices must be used on the same computer that was used to program them (and there is almost always an inflexible requirement for a Windows platform). It's possible to bring the programming software and data files with you to a LAN party and set up the programming while there, but the process can be time-consuming and disruptive to the competitive and timely agenda that your friends will be trying to cultivate.
The video clips below will show you what I've done. The results have helped me to remain competitive with others that have spent a lot more money, and I enjoy the simplicity and standardization across different flight simulators. All of my controls work with both Windows and LINUX, but some can only be programmed from within Windows, and the software that I used to program the software-programmable devices with LINUX is rather cumbersome. Fortunately, the programming step need be developed only once for any given simulator and platform combination! (Click on the pictures)