Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the joyticks #1533

Open
2 of 5 tasks
SiegeLord opened this issue Feb 15, 2024 · 1 comment
Open
2 of 5 tasks

Fix the joyticks #1533

SiegeLord opened this issue Feb 15, 2024 · 1 comment
Milestone

Comments

@SiegeLord
Copy link
Member

SiegeLord commented Feb 15, 2024

Joysticks have been subtly and not so subtly broken for years. If we want to have a joystick feature at all, it should work well.

SDL has established a standard for joystick interpretation, and other libraries have sought to emulate it. It makes sense to do the same. If the SDL API appears to be deficient, at least our API should be a strict improvement over it.

Tasks:

  • Investigate the SDL/GLFW APIs for joysticks, see if it makes sense to map to Allegro's.
  • Adjust the code for all 3 major platforms to start. Use the joystick_version compatibility switch to maintain compatibility with the older code.

Here's the 3 core features to fix/implement:

@SiegeLord SiegeLord added this to the 5.2.10 milestone Feb 15, 2024
@ReiquelApplegate
Copy link
Contributor

@SiegeLord SiegeLord modified the milestones: 5.2.10, 5.2.11 Nov 25, 2024
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 10, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 10, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 10, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 11, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 11, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 11, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 11, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 11, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 15, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 16, 2025
- MacOS wasn't reusing joystick slots
- Linux was getting duplicate joysticks due to reading from
  /dev/input/by-path
- Windows XInput wasn't re-initializing joystick names
- SDL was completely broken

Also, I redid ex_joystick_hotplugging to be more useful/exciting.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 18, 2025
A gamepad has a stereotyped arrangement of buttons and sticks/axes that
remains consistent across platforms. Hardware differences are handled by
parsing SDL's community-sourced database.

See liballeg#1533
SiegeLord pushed a commit to SiegeLord/allegro5 that referenced this issue Jan 18, 2025
- MacOS wasn't reusing joystick slots
- Linux was getting duplicate joysticks due to reading from
  /dev/input/by-path
- Windows XInput wasn't re-initializing joystick names
- SDL was completely broken

Also, I redid ex_joystick_hotplugging to be more useful/exciting.

See liballeg#1533
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants