Advanced gamepad control

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
alejandroalzate
Citizen
Posts: 67
Joined: Sat May 08, 2021 9:45 pm

Advanced gamepad control

Post by alejandroalzate »

This one is short i ask if anyone knows to do:
1. Change color on the DualShock 4 light bar's color/brightness
2. Sending/Receiving Audio/Data from gamepads capable of it (Audio paralel to the host device's audio)

For now is all there is to it, here i have a off topic but related questions:
1. I have to get in the guts of the framework (C code, and low level stuff)?
2. Is platform dependant?
3. Or i am a morron that has the solution on my face
Last edited by alejandroalzate on Sun Oct 08, 2023 5:39 pm, edited 1 time in total.

Code: Select all

target = boardIndex.getWhosPeekingThisLine()
target:setObey(true)
User avatar
BrotSagtMist
Party member
Posts: 607
Joined: Fri Aug 06, 2021 10:30 pm

Re: Advanced gamepad control

Post by BrotSagtMist »

try looking at löve 12 at least. It wont give you _that_ features but it gives more stuff than 11, like getting and setting teh player LEDs, based on that, youll have to dig into the sources.
obey
User avatar
GVovkiv
Party member
Posts: 668
Joined: Fri Jan 15, 2021 7:29 am

Re: Advanced gamepad control

Post by GVovkiv »

For LEDs you probably can't do much. It really platform dependent, especially for Windows (due to fact that windows lack driver for dualshocks out of box, and usually people rely on program named "ds4windows" that's not part nor windows nor PlayStation) and Android. On PlayStation you have API for that. Linux on other hand, from kernel 5.15 has official drivers from sony built in kernel, so everything works with it (with exceptions: Bluetooth audio doesn't work at all and when gamepad connected via cable, microphone really, really quiet) and even changing color is possible with some shell sheningans.
There also another possible way: steam input. I think it should provide way for Windows and Linux to get somewhat cross platform support for such features through steam api
Last edited by GVovkiv on Sun Oct 08, 2023 8:05 pm, edited 1 time in total.
alejandroalzate
Citizen
Posts: 67
Joined: Sat May 08, 2021 9:45 pm

Re: Advanced gamepad control

Post by alejandroalzate »

GVovkiv wrote: Thu Mar 16, 2023 7:56 am For LEDs you probably can't do much. It really platform dependent, especially for Windows (due to fact that windows luck driver for dualshocks out of box, and usually people rely on program named "ds4windows" that's not part nor windows nor PlayStation) and Android. On PlayStation you have API for that. Linux on other hand, from kernel 5.15 has official drivers from sony built in kernel, so everything works with it (with exceptions: Bluetooth audio doesn't work at all and when gamepad connected via cable, microphone really, really quiet) and even changing color is possible with some shell sheningans.
There also another possible way: steam input. I think it should provide way for Windows and Linux to get somewhat cross platform support for such features through steam api
Where i can get the steam input api? i mean the .so & .dll files (and whatever uses android if at all), is all in one package? what do you recommend? on that note i didn't thought of steam integration at all but now that you brought that up i could like the steam integration, even maybe putting on their store.

Code: Select all

target = boardIndex.getWhosPeekingThisLine()
target:setObey(true)
User avatar
GVovkiv
Party member
Posts: 668
Joined: Fri Jan 15, 2021 7:29 am

Re: Advanced gamepad control

Post by GVovkiv »

alejandroalzate wrote: Sun Oct 08, 2023 5:38 pm Where i can get the steam input api? i mean the .so & .dll files (and whatever uses android if at all), is all in one package? what do you recommend? on that note i didn't thought of steam integration at all but now that you brought that up i could like the steam integration, even maybe putting on their store.
You better off asking memberlist.php?mode=viewprofile&u=69 ivan, he know about publishing and working with steam and valve more then I do.
(I think he also developed steamworks integration for lua?)
But in general, you need to get steam developer account (that costs 100 USD?) and then get all necessary libs, devkits and then glue all of this together. But I wouldn't recommend relying solely on steam for integration such functionality into your game, because:
1. You will be limited to steam. Which means, if game will be run outside of steam - no fancy steam API stuff, so no fancy LED colors changes. So no selling/packaging games for GoG, Gamejolt, itch.io. User could technically run game from this platforms via steam, but I doubt that 95% would do this.
2. You will be limit to only Windows, Linux and maybe Mac (Do MacOS even supports dualshocks or dualsense?), since only on this system you could run steam (Don't forget that there no steam for ARM for linux and windows, so fuck raspberry pi users). So no android or iphone (because you can connect gamepads there) fancy steam input stuff.
alejandroalzate
Citizen
Posts: 67
Joined: Sat May 08, 2021 9:45 pm

Re: Advanced gamepad control

Post by alejandroalzate »

i'll back out the integration. seems too hard and does not worth it for a gimmick.
i'll do the kiss rule, since it looks that there's way to many roadblocks with steam,
also what about discord rich presence? like "Wumpus is playing LÖVE2D" tell me that one is simpler please.

Code: Select all

target = boardIndex.getWhosPeekingThisLine()
target:setObey(true)
User avatar
GVovkiv
Party member
Posts: 668
Joined: Fri Jan 15, 2021 7:29 am

Re: Advanced gamepad control

Post by GVovkiv »

alejandroalzate wrote: Sun Oct 08, 2023 9:33 pm i'll back out the integration. seems too hard and does not worth it for a gimmick.
i'll do the kiss rule, since it looks that there's way to many roadblocks with steam,
also what about discord rich presence? like "Wumpus is playing LÖVE2D" tell me that one is simpler please.
Are you talking about Discord integration or something?
If yes, I guess, it will automatically pick up game if it run from known launchers, such as steam, gog, etc (if Discord even can access this information, for example, on linux, if you run discord from flatpak, you could there block access to this information for discord) or if user manually adds game to discord so it will show up.
If you talking about full integration, like some kind of bot for server, there should be libraries for this. Quick googling shows this library as most popular one for lua: https://github.com/SinisterRectus/Discordia. You could try it and obviously read Discord API documentation (i think it hosted here) https://discord.com/developers/docs/intro
alejandroalzate
Citizen
Posts: 67
Joined: Sat May 08, 2021 9:45 pm

Re: Advanced gamepad control

Post by alejandroalzate »

not for bots, but it seems a good starting point.

Code: Select all

target = boardIndex.getWhosPeekingThisLine()
target:setObey(true)
Post Reply

Who is online

Users browsing this forum: No registered users and 39 guests