Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sdl_joyhatevent(3) [opensolaris man page]

SDL_JoyHatEvent(3)						 SDL API Reference						SDL_JoyHatEvent(3)

NAME
SDL_JoyHatEvent - Joystick hat position change event structure STRUCTURE DEFINITION
typedef struct{ Uint8 type; Uint8 which; Uint8 hat; Uint8 value; } SDL_JoyHatEvent; STRUCTURE DATA
type SDL_JOY which Joystick device index hat Joystick hat index value Hat position DESCRIPTION
SDL_JoyHatEvent is a member of the SDL_Event union and is used when an event of type SDL_JOYHATMOTION is reported. A SDL_JOYHATMOTION event occurs when ever a user moves a hat on the joystick. The field which is the index of the joystick that reported the event and hat is the index of the hat (for a more detailed exlaination see the Joystick section). value is the current position of the hat. It is a logically OR'd combination of the following values (whose meanings should be pretty obvious:) : SDL_HAT_CENTERED SDL_HAT_UP SDL_HAT_RIGHT SDL_HAT_DOWN SDL_HAT_LEFT The following defines are also provided: SDL_HAT_RIGHTUP SDL_HAT_RIGHTDOWN SDL_HAT_LEFTUP SDL_HAT_LEFTDOWN SEE ALSO
SDL_Event, Joystick Functions, SDL_JoystickEventState, SDL_JoystickGetHat SDL
Tue 11 Sep 2001, 22:59 SDL_JoyHatEvent(3)

Check Out this Related Man Page

pods::SDL::Joystick(3pm)				User Contributed Perl Documentation				  pods::SDL::Joystick(3pm)

NAME
SDL::Joystick -- SDL Bindings for the Joystick device CATEGORY
Core, Joystick SYNOPSIS
use SDL; use SDL::Joystick; SDL::init_sub_system(SDL_INIT_JOYSTICK); die('no joystick found') unless(SDL::Joystick::num_joysticks()); my $joystick = SDL::Joystick->new(0); METHODS
num_joysticks int SDL::Joystick::num_joysticks( void ); Counts and returns available joysticks. name string SDL::Joystick::name( index ); Get the implementation dependent name of joystick. The "index" parameter refers to the N'th joystick on the system. my $num_joysticks = SDL::Joystick::num_joysticks(); printf("%d joysticks found ", $num_joysticks); for($i = 0; $i < $num_joysticks; $i++) { printf("%s ", SDL::Joystick::name($i)); } new object SDL::Joystick->new( index ); Opens a joystick for use within SDL. The "index" refers to the N'th joystick in the system. A joystick must be opened before it can be used. # Initialize the joystick subsystem SDL::init_sub_system(SDL_INIT_JOYSTICK); # Check for joystick if(SDL::Joystick::num_joysticks() > 0) { # Open joystick my $joystick = SDL::Joystick->new(0); if($joystick) { printf("Opened Joystick 0 "); printf("Name: %s ", SDL::Joystick::name(0)); printf("Number of Axes: %d ", SDL::Joystick::num_axes($joystick)); printf("Number of Buttons: %d ", SDL::Joystick::num_buttons($joystick)); printf("Number of Balls: %d ", SDL::Joystick::num_balls($joystick)); } else { printf("Couldn't open Joystick 0 "); } # Close if opened SDL::Joystick::close($joystick) if SDL::Joystick::opened(0); } opened int SDL::Joystick::opened( index ); Determines whether a joystick has already been opened within the application. "index" refers to the N'th joystick on the system. Returns 1 if the joystick has been opened, or 0 if it has not. index int SDL::Joystick::index( object ); Returns the "index" of a given "SDL_Joystick" structure. See SDL::Joystick::new num_axes int SDL::Joystick::num_axes( object ); Return the number of axes available from a previously opened joystick. See SDL::Joystick::new num_balls int SDL::Joystick::num_balls( object ); Return the number of trackballs available from a previously opened joystick. See SDL::Joystick::new num_hats int SDL::Joystick::num_hats( object ); Gets the number of joystick hats from a previously opened joystick. See SDL::Joystick::new num_buttons int SDL::Joystick::num_buttons( object ); Gets the number of joystick buttons from a previously opened joystick. See SDL::Joystick::new update void SDL::Joystick::update(); Updates the state(position, buttons, etc.) of all open joysticks. If joystick events have been enabled with "SDL::Joystick::event_state" then this is called automatically in the event loop. get_axis "get_axis" returns the current state of the given axis on the given joystick. On most modern joysticks the X axis is usually represented by axis 0 and the Y axis by axis 1. The value returned by "get_axis" is a signed integer (-32768 to 32767) representing the current position of the axis, it may be necessary to impose certain tolerances on these values to account for jitter. Note: Some joysticks use axes 2 and 3 for extra buttons. Returns a 16-bit signed integer representing the current position of the axis. my $joystick = SDL::Joystick->new(0); my $x_move = SDL::Joystick::get_axis($joystick, 0); my $y_move = SDL::Joystick::get_axis($joystick, 1); get_hat int SDL::Joystick::get_hat( object, int ); "get_hat" returns the current state of the given "hat" on the given "joystick". The current state is returned which is an OR'd combination of one or more of the following: o "SDL_HAT_CENTERED" o "SDL_HAT_UP" o "SDL_HAT_RIGHT" o "SDL_HAT_DOWN" o "SDL_HAT_LEFT" o "SDL_HAT_RIGHTUP" o "SDL_HAT_RIGHTDOWN" o "SDL_HAT_LEFTUP" o "SDL_HAT_LEFTDOWN" my $joystick = SDL::Joystick->new(0); my $position = SDL::Joystick::get_hat($joystick, 0); print("hat is in position UP ") if $position & SDL_HAT_UP; get_button int SDL::Joystick::get_button( object, int ); "get_button" returns the current state of the given button on the given joystick. Returns 1 if the button is pressed. Otherwise, 0. my $joystick = SDL::Joystick->new(0); my $num_buttons = SDL::Joystick::num_buttons($joystick); for(my $i = 0; $i < $num_buttons; $i++) { printf("button %d is %s ", $i, SDL::Joystick::get_button($joystick, $i) ? 'pressed' : 'not pressed'); } SDL::Joystick::close($joystick) if SDL::Joystick::opened(0); get_ball int SDL::Joystick::get_ball(SDL_Joystick $joystick, int $ball, int $dx, int $dy); Get the ball axis change. Trackballs can only return relative motion since the last call to SDL::Joystick::get_ball, these motion deltas are placed into "dx" and "dy". Returns 0 on success or -1 on failure my $delta_x = 0; my $delta_y = 0; my $joystick = SDL::Joystick->new(0); SDL::Joystick::update(); printf("TrackBall Read Error! ") if(SDL::JoystickGetBall($joystick, 0, $delta_x, $delta_y) == -1); printf("Trackball Delta- X:%d, Y:%d ", delta_x, delta_y); close void SDL::Joystick::close( object ); Closes a previously opened joystick. See SDL::Joystick::new SDL::Joystick::close($joystick) if SDL::Joystick::opened(0); AUTHORS
See "AUTHORS" in SDL. perl v5.14.2 2012-05-28 pods::SDL::Joystick(3pm)
Man Page