mirror of
https://github.com/86Box/86Box.git
synced 2026-02-26 05:53:15 -07:00
53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
/* Copyright holders: Sarah Walker
|
|
see COPYING for more details
|
|
*/
|
|
#include "allegro-main.h"
|
|
#include "plat-joystick.h"
|
|
#include "device.h"
|
|
#include "gameport.h"
|
|
|
|
plat_joystick_t plat_joystick_state[MAX_PLAT_JOYSTICKS];
|
|
joystick_t joystick_state[MAX_JOYSTICKS];
|
|
|
|
int joysticks_present;
|
|
|
|
void joystick_init()
|
|
{
|
|
install_joystick(JOY_TYPE_AUTODETECT);
|
|
joysticks_present = num_joysticks;
|
|
}
|
|
void joystick_close()
|
|
{
|
|
}
|
|
void joystick_poll()
|
|
{
|
|
int c, d;
|
|
|
|
poll_joystick();
|
|
|
|
for (c = 0; c < num_joysticks; c++)
|
|
{
|
|
plat_joystick_state[c].a[0] = joy[c].stick[0].axis[0].pos * 256;
|
|
plat_joystick_state[c].a[1] = joy[c].stick[0].axis[1].pos * 256;
|
|
for (d = 0; d < MAX_JOYSTICK_BUTTONS; d++)
|
|
plat_joystick_state[c].b[d] = joy[c].button[d].b;
|
|
}
|
|
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++)
|
|
{
|
|
if (c < num_joysticks)
|
|
{
|
|
for (d = 0; d < joystick_get_axis_count(joystick_type); d++)
|
|
joystick_state[c].axis[d] = plat_joystick_state[c].a[d];
|
|
for (d = 0; d < joystick_get_button_count(joystick_type); d++)
|
|
joystick_state[c].button[d] = plat_joystick_state[c].b[d];
|
|
}
|
|
else
|
|
{
|
|
for (d = 0; d < joystick_get_axis_count(joystick_type); d++)
|
|
joystick_state[c].axis[d] = 0;
|
|
for (d = 0; d < joystick_get_button_count(joystick_type); d++)
|
|
joystick_state[c].button[d] = 0;
|
|
}
|
|
}
|
|
}
|