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)
trueif 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)
trueif the button is pressed,falseotherwise.
joypad:is_attached()
Returns true if the joypad is still attached.
- Return value (boolean)
trueif the joypad is still attached,falseotherwise.
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.