Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
193 stars 9 forks source link

Gamepad, Joystick, Wheel, Flightstick and other gaming peripheral support #643

Open TehTurk opened 4 years ago

TehTurk commented 4 years ago

This would be handy for alot of peripherals and devices from flightsticks, gamepads, joysticks. Also having some sort of library or api support would allow people to build out extra devices and such for the development aspect of side of Neos that would be really healthy for makers and the like. I also know some aspects of the EDU side of things would also benefit greatly from this.

shiftyscales commented 4 years ago

Steam Input would be a particularly powerful integration for supporting nearly every input device on Windows/Linux-based PCs running Steam including PlayStation, and Nintendo Switch gamepads.

https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_devs https://partner.steamgames.com/doc/api/ISteamInput

But on a lower-level, between XInput, and DirectInput API integration, a vast majority of input devices would already be supported.

Frooxius commented 4 years ago

I'd like to add different gaming devices in the future. There's a question on the level of integration - just exposing them with LogiX so they can be read and custom logic built or if there's also in-game integration for certain behaviors (e.g. moving and such).

Could be particularly useful with the desktop mode for playing Neos itself or on devices like Oculus Go for movement.

TehTurk commented 4 years ago

Yes I'm aware from the discussion in the discord. But I think the in-game integration would be something that could be done later on, while the Logix build out would be easier.

One problem I see arising is either different nodes for different implementations, or there's a generic node(Standard Controller) or one per type of controller as how the Index/Oculus/Vive/WMR controllers work currently, While this is nice in certain situations I think having some sort of catch-all support would be better in the long term. Because the amount of inputs, or joysticks, or etc could very differently from controller to controller.

Maybe Controller Events? Or a way to define how many outputs/inputs you'll have on a controller. (Similar to how the +,x,* nodes works)

jeanahelver commented 3 years ago

would really like to see this. i have done a hotas system using websockets but its having to take a long way round to get the data. also i know marsmaantje has done a websocket implementation for a Logitech steering wheel.

would like to see them as simple logix node like the other controllers but since the inputs are quite varied, maybe a component with a list/bag

alexderpyfox commented 3 years ago

When will it be added?

alexderpyfox commented 3 years ago

I have a Microsoft sidewinder force feedback wheel USB 1.0 that got foot pedals too that use float values so with joytokey it just all becomes bool but that doesn't work well

HeadClot commented 1 year ago

This would be really useful for me because I am building a mech combat game using a x52 Pro Throttle and a VKB NXT Joystick.