.TH "SDL_JoystickOpen" "3" "Tue 11 Sep 2001, 23:00" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_JoystickOpen \- Opens a joystick for use\&.
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBSDL_Joystick *\fBSDL_JoystickOpen\fP\fR(\fBint index\fR);
.SH "DESCRIPTION"
.PP
Opens a joystick for use within SDL\&. The \fBindex\fR refers to the N\&'th joystick in the system\&. A joystick must be opened before it game be used\&.
.SH "RETURN VALUE"
.PP
Returns a \fBSDL_Joystick\fR structure on success\&. \fBNULL\fR on failure\&.
.SH "EXAMPLES"
.PP
.PP
.nf
\f(CWSDL_Joystick *joy;
// Check for joystick
if(SDL_NumJoysticks()>0){
  // Open joystick
  joy=SDL_JoystickOpen(0);
  
  if(joy)
  {
    printf("Opened Joystick 0
");
    printf("Name: %s
", SDL_JoystickName(0));
    printf("Number of Axes: %d
", SDL_JoystickNumAxes(joy));
    printf("Number of Buttons: %d
", SDL_JoystickNumButtons(joy));
    printf("Number of Balls: %d
", SDL_JoystickNumBalls(joy));
  }
  else
    printf("Couldn\&'t open Joystick 0
");
  
  // Close if opened
  if(SDL_JoystickOpened(0))
    SDL_JoystickClose(joy);
}\fR
.fi
.PP
.SH "SEE ALSO"
.PP
\fI\fBSDL_JoystickClose\fP\fR
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:00
