How to Set-up a gameport,gamepad or joystick in Ubuntu
Basics of Game Port,Gamepad and Joystick
The game port is the traditional connector for video game input devices on an x86-based PCs. The game port is usually integrated with a PC I/O or sound card, either ISA or PCI, or as an on-board feature of some motherboards. The game port is no longer supported by Windows Vista and will thus likely largely disappear.
A gamepad, also called joypad or control pad, is a type of game controller held in the hand, where the digits (especially thumbs) are used to provide input. Gamepads generally feature a set of action buttons handled with the right thumb and a direction controller handled with the left. The direction controller has traditionally been a four-way digital cross (D-pad), but most modern controllers additionally (or as a substitute) feature an analog stick. The analog stick was introduced with the Atari 5200 controller, but did not reach popularity until the Nintendo 64, Sony PlayStation, and Sega Saturn.
A joystick is a personal computer peripheral or general control device consisting of a handheld stick that pivots about one end and transmits its angle in two or three dimensions to a computer. Most joysticks are two-dimensional, having two axes of movement (similar to a mouse), but three-dimensional joysticks do exist. A joystick is generally configured so that moving the stick left or right signals movement along the X axis, and moving it forward (up) or back (down) signals movement along the Y axis. In joysticks that are configured for three-dimensional movement, twisting the stick left (counter-clockwise) or right (clockwise) signals movement along the Z axis. These three axes -- X Y and Z -- are, in relation to an aircraft, roll, pitch, and yaw.
Now we will see how to configure some Game Port,Gamepad,Joystick modules in Ubuntu
First, we need to check if the gameport module is already loaded.
In a terminal, type the following command
It should display a list of the currently loaded modules.
One of the lines should begin with ‘gamepad'
gameport 17160 2 snd_es1938
If you didn't find any similar line, look for the way to enable the gameport for your specific sound card in the list below.
Now, we need to setup the gamepad/joystick.Again in a terminal, type the following
sudo modprobe joydev
Testing and calibrating the gamepad/joystick
If you want to check if everything's working correctly or/and you want to callibrate your device, you can try out jscalibrator.
What is jscalibrator ?
GTK Joystick Calibrator With jscalibrator you can calibrate your joystick for Linux games. The Joystick Wrapper library (libjsw) is designed to provide a uniform API and user configuration for joysticks and other game controllers on all platforms.
It features an integrated library level calibration system using jscalibrator to provide a one time calibration for any program that uses libjsw. libjsw also features several levels of advanced joystick input error correction.
Install jscalibrator in Ubuntu
sudo apt-get install jscalibrator
If you want to use this program run the following command from your terminal
A new window should appear which should allow you to test and calibrate your device.
List of gameports, gamepads/joysticks and their corresponding commands
Classic ISA/PnP gameports
sudo modprobe ns558
Crystal SoundFusion gameports
sudo modprobe cs461x
Aureal Vortex and Trident 4DWave gameports
sudo modprobe pcigame
SoundBlaster Live! gameports
sudo modprobe emu10k1-gp
Any other gameports(If your sound card isn't one of the above and you couldn't find it in lsmod, try this command)
sudo modprobe gameport
Gamepads and joysticks
Analog joysticks and gamepads: (Most gamepads and joysticks, especially generic ones, work well with this one)
sudo modprobe analog
Assassin 3D and MadCatz Panther devices
sudo modprobe a3d
Logitech ADI digital joysticks and gamepads
sudo modprobe adi
Creative Labs Blaster Cobra gamepad
sudo modprobe cobra
Genius Flight2000 Digital joysticks and gamepads
sudo modprobe gf2k
Gravis GrIP joysticks and gamepads
sudo modprobe grip
InterAct digital joysticks and gamepads
sudo modprobe interact
ThrustMaster DirectConnect joysticks and gamepads
sudo modprobe tmdc
Microsoft SideWinder digital joysticks and gamepads
sudo modprobe sidewinder
Microsoft xbox controller then the command is
sudo modprobe xpad
then do jscalibrator
Some parts of this procedure from here
Wow, thanks a lot for the information. Now my joystick is working perfectly. Too bad jscalibrator doesn’t take into account that some axes do not auto-centre; it’s hard to manually get a throttle to the exact middle of it’s range. 🙂
I strongly recommend against using jscalibrate as part of a joystick configuration procedure. It is only useful in the case that you have a joystick that connects to the gameport, when the joystick is broken, and when you are playing the game searchandrescue. In any other situation, or for any other software, it is possible that using jscalibrator can put your hardware in such a state that it must be reset before it can work.
hey, I’ve heard that you can use a joystick to control X. Is this possible with gnome? If so, does anyone know where I would find this info?
My bad. I found js2mouse, quickly ran make and I was off. It’s pretty cool too.
I am trying to use my joystick for improved mouse movements on display. I am able to get xy from usb, but is there any way I can push improved x, y coordinates from hardware level to OS (ubuntu 8.10)
HID application(Hardware interface) get xy from usb
OS display() ?
Thanks in advance