Flight controls = good project
Construction of flight controls can be good projects for the hobbyist. Some commercially available flight controls, like column-mounted yokes, are quite expensive. Other controls, like throttle quadrants configured particularly the way you want them, helicopter collective and cyclic controls, or rudder pedals with toe brakes simply may not be available. So, besides being a satisfying activity, building your own flight controls might save you money or perhaps even be the only way to obtain what you want.
You can find helpful information in a variety of places. Generally, a first step is to determine the particular look of the control specific to the aircraft you're attempting to simulate. Pictures of the flight deck are a good start. You can find a variety on-line at Airliners.Com, and at Aerospaceweb.org. Useful information is available from the manufacturers of flight rate flight controls. If you are building your own yoke, you can find dimensioned drawings of commercial yokes in the on-line catalog of Mason Electric. Mason manufactures a wide variety of flight controls and switches for the commercial and military aviation markets. Infinity Aerospace sells custom stick grips to the experimental aviation crowd, and is worth a look. Otto Engineering is an OEM supplier of flight grips and controls to the commercial aerospace market. Once you've nailed down the appearance, you'll profit by looking at construction techniques used by other home builders. A really great source is the how-to section on FlightSim.Com's web site. You might also look through the Home Cockpit Support Forum on AVSIM. There are a number of very informative threads that have been posted there.
Flight control feel
Springs are the most frequently seen method used to provide resistance and centering to simulated flight controls. They are inexpensive and readily available, two very nice qualities. However, for a bit more money, you can gain a substantial improvement to the feel of your home built creations. Real flight controls experience frictional and inertial effects (less so in contemporary fly-by-wire systems). You can model these effects by adding damping to your controls.
Gas springs present a convenient method of doing so. These are sealed units, much like a hydraulic cylinder, containing compressed gas and a small amount of oil. The compressed gas provides a spring-like force, while the oil provides damping. Gas spring are widely used to hold open automotive hatchbacks and photo-copier tops, just to name a few. Gas springs can be purchased from automotive parts stores, occasional surplus vendors, or from manufacturers.
Movement activated vs. force activated controls
The range of motion of flight controls can vary widely. Before fly-by-wire and hydraulic assist, it was pilot muscle power that moved the control surfaces. Even with aerodynamically balanced control surfaces, this could be quite a handful. Designing a larger mechanical advantage (i.e. leverage) into the system meant larger control movements.
Of course fly-by-wire changes all this. With fly-by-wire it's possible to supply as large or as strong a control surface deflection as desired with minimal force or movement of the flight control. Fighters such as the F-16 support the pilot's arm for increased endurance during high G maneuvers even though this limits the pilot's range of motion. Fly-by-wire provides the capability to match the required stick movement to the very small range of motion a pilot can sustain during a high G maneuver.
So there are basically two sorts of controls. General and commercial aviation tend to use flight control systems that translate the pilot's movement of the controls into movements of the control surfaces. Fighter aircraft increasingly use systems that translate the force a pilot applies to the controls into movements of the control surfaces.
From the hobbyist's perspective the biggest single difference will be the linkage between the stick and the potentiometer. While joysticks used for movement activated controls can often be connected (more or less) directly to the potentiometer, force activated units have such limited movement that some sort of transmission (gears, radius wheels, pulleys, bell cranks, etc.) is needed to amplify the stick's motion before it is passed on to the potentiometer.
Alternatively, you might take a look at other types of position sensors, like the LVDT.
For interfacing, potentiometers rule (mostly)
Interfacing your homebrew controls is actually rather straightforward. The controls are, from an electronic point of view, simply an elaborate collection of potentiometers. Your homemade flight controls can be wired directly to a standard game port. If the limit of four potentiometers (or axes as they are often referred to as) cramps your aspirations, you can interface through a USB port. The USB advantage is that you can use multiple devices per port, allowing for many more control axes and switches. While it is possible to build your own USB interface based on any of several available USB chips, it's a heck of a lot easier to just use the electronics from an existing USB joystick. (As an added benefit, you get to use their driver as well.) If you don't have a USB joystick you care to open up, you can make use of a USB to game port converter. These are devices designed to let old style game controllers be connected to a USB port.
Potentiometers are not the only type of position sensor you can use. They are simply the most frequently used. The linear variable differential transformer, or "LVDT" is another sort you might consider. Generally found in industrial and aerospace application requiring high performance from a robust devise, these sensors command a premium price. You might run across them in surplus sales, or you might consider building them from scratch.
If homebrewing an LVDT appeals, here's some info.