inexorgame / vulkan-renderer

A new 3D game engine for Linux and Windows using C++20 and Vulkan API 1.3, in very early but ongoing development
https://inexor.org
MIT License
791 stars 34 forks source link

[input] Added controller support #518

Open Big-Smarty opened 1 year ago

Big-Smarty commented 1 year ago

Added controller support. Abstracted input by adding the Input class, overarching both KeyboardMouseInputData and the also newly added GamepadInputData.

IAmNotHanni commented 1 year ago

Nice work! I think I will buy myself a controller just to check if it's working. Will review later

IceflowRE commented 1 year ago

Other things: Can you rename the commits that they match our naming convention? See the Github Actions. Ignore the failed building for now, it is broken, will see when i get time for that.

This will only support one Gamepad right? not multiple?

IAmNotHanni commented 1 year ago

@IceflowRE About multiple gamepads/joysticks: I just ordered several online. We should do it in another pull request pls.

IAmNotHanni commented 1 year ago

https://inexor-vulkan-renderer.readthedocs.io/en/latest/development/reference/keyboard-mouse-input.html The reference page about input in the docs states:

Inexor does not support joysticks yet.

That's no longer true. Also, the ref pages needs to be renamed to "keyboard, mouse and joystick input" Furthermore, the docs about keyboard and mouse are now outdated as well. I will take care of this. I will push into this pull request then.