USB ist das denkbar schlechteste, was du dafür verwenden kannst. USB sieht keinen einfachen Datentransfer, wie z.B. die RS232-Schnittstelle vor, du benötigst immer einen Treiber - und glaub mir eins, am Treiber wirst du scheitern (selbst mit UDMF). Selbst bei RS232 benötigst du noch einen Mikrokontroller mit RS232-Support (hat eigentlich jeder), A/D-Wandler (auch relativ häufig anzutreffen) und entsprechend programmierter Software (müsstest du selber machen). Der Mikrokontroller kann dann einfach Daten über die RS232-Schnittstelle an den PC senden und dein Programm kann diese Daten ohne einen zusätzlichen Treiber verarbeiten. Selbst wenn man keine RS232-Schnittstelle mehr hat, so gibt es Brückenchips, die an den USB-Anschluss angeschlossen werden und einen Treiber für eine serielle Schnittstelle mitliefern. Diese Konverter kann man dann genau wie eine RS232-Schnittstelle ansprechen.
Am einfachsten wäre wohl wirklich der Gameport, denn dabei braucht das angeschlossene Geräte keinerlei aktive Elektronik. Einen Standard-Treiber für einen Ein-Achsen-Joystick bekommst du auch schon von Microsoft, somit wäre auch das kein Problem.
EDIT: Oder du machst es wie ich und verwendest einen Sega-Dreamcast mit Coder-Cable am RS232-Anschluss und ersparst dir damit einen Mikrokontroller. Außerdem hast du dann ein echtes Gamepad.
EDIT zur Maus: Ist gar nicht mal dumm. Am besten wäre eine Kugel-Maus, da diese mit einer Lichtschranke und einer Art "Zahnrad", dass sich durch die Lichtschranke bewegt arbeiten. Du müsstest mit deinen Reglern also nur das "Zahnrad" entsprechend bewegen. Softwareseitig gibts da auch keinen großen Probleme, entweder DirectInput oder bei einfachen Anwendungen per Win-API.