How to Set-up a gameport,gamepad or joystick in Ubuntu

Sponsored Link
If you want gameport,gamepad or joystick to work in Ubuntu you need to follow this procedure

Basics of Game Port,Gamepad and Joystick

Game Port

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.

Gamepad

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.

Joystick

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

lsmod

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

jscalibrator

A new window should appear which should allow you to test and calibrate your device.

List of gameports, gamepads/joysticks and their corresponding commands

Gameports

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

Sponsored Link

You may also like...

5 Responses

  1. UbuntuUser says:

    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. 🙂

  2. persia says:

    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.

  3. Ben says:

    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?

  4. Ben says:

    My bad. I found js2mouse, quickly ran make and I was off. It’s pretty cool too.

  5. Madni says:

    Hi

    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)

    USB
    |
    HID application(Hardware interface) get xy from usb
    |
    OS display() ?

    Thanks in advance
    mmadni[AT]gmail[DOT]com

Leave a Reply

Your email address will not be published. Required fields are marked *