Joypad
Overview
The sol.joypad
type provides an abstraction over the plugged joypads, it uses SDL's GameController
API to map any compatible joypad to standard buttons resembling those of the Xbox.
Joypad instances can be fetched using the sol.input
module.
Axes and Buttons Names
Kind | Names |
---|---|
buttons | a , b , x , y ,back , guide , start ,left_stick , right_stick ,left_shoulder , right_shoulder , dpad_up , dpad_down , dpad_left , dpad_right |
axes | left_x , left_y , right_x , right_y ,trigger_left , trigger_right |
Methods of the type joypad
joypad:get_name()
Returns the name of this joypad.
- Return value (string)
- The name if the joypad.
joypad:has_rumble()
Tells whether this joypad has rumble support.
- Return value (boolean)
true
if the joypad has rumble support.
joypad:rumble(low_frequency_intensity, high_frequency_intensity, duration)
Makes the joypad rumble. Calling this method with intensity of 0
stops the rumbling. Each call to this method cancels any previous rumbling.
low_frequency_intensity
(number)- Intensity for the low frequency rumble (left) (0->1).
high_frequency_intensity
(number)- Intensity for the high frequency rumble (right) (0->1).
duration
(number)- Duration of the rumble in milliseconds.
joypad:get_axis(axis)
Returns the value of a joypad axis (-1 -> 1).
axis
(string)- Axis name (see axes).
- Return value (number)
- The value of a joypad axis (-1 -> 1).
joypad:is_button_pressed(button)
Returns true
if the button is pressed, false
otherwise.
button
(string)- Button name (see button).
- Return value (boolean)
true
if the button is pressed,false
otherwise.
joypad:is_attached()
Returns true
if the joypad is still attached.
- Return value (boolean)
true
if the joypad is still attached,false
otherwise.
Events of the type joypad
joypad:on_button_pressed(button)
Called when a button of this joypad is pressed.
button
(string)- Name of the pressed button.
joypad:on_button_released(button)
Called when a button of this joypad is released.
button
(string)- Name of the released button.
joypad:on_axis_moved(axis, value)
Called when a axis of this joypad moves.
axis
(string)- Name of the axis.
value
(number)- New value of the axis.
joypad:on_removed()
Called when the joypad is removed.