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

RFC: Supporting Inputs #85

Open
arturo182 opened this issue Apr 15, 2019 · 4 comments
Open

RFC: Supporting Inputs #85

arturo182 opened this issue Apr 15, 2019 · 4 comments
Labels
enhancement Enhancement suggestions to the project. help wanted We want help here for various reasons.
Projects

Comments

@arturo182
Copy link

Nice library you got there, planning on building a matrix myself and want to use sled :)

Was wondering (and I hope I didn't miss anything, I only had a quick read-through of the README), but is there any (planned) support for input devices? I mean like joysticks, gamepads, keyboards, mice.

I think having support would open a whole new world of possibilities, you could have interactive menus, games, etc.

The actual technical solution for supporting those is secondary I think, first would have to decide if it's a good idea ;)

@vifino
Copy link
Member

vifino commented Apr 15, 2019

Hey Arturo, fancy seeing you here! :)

Yes, (joystick) input would be very cool. Many people figured it'd be nice. I wanted to open an issue like this one before too, but never bothered.
We need networking abstractions as well.

I have no idea how we can handle interactive things and sled's main effect rotation.

But yes, I very much would like to have some input system. Do you have any proposals?

@vifino vifino added enhancement Enhancement suggestions to the project. help wanted We want help here for various reasons. labels Apr 16, 2019
@arturo182
Copy link
Author

Yes, with networking you could also do things like a weather displaying module ;)

I think I need to look more into the code to see what would work best, but presumably some kind of event loop might be the way to go.

@vifino
Copy link
Member

vifino commented Apr 16, 2019

I think implementation might be easier if it's not an event loop but done with polling. While it is possible that we'd miss input, if we're running at 60 fps, it hardly makes a difference.

Apart from the whole timer thing needing a rethink in general, there really isn't a sane way to implement an event loop in the modules themselves.

The networking abstractions are meant to make bgm_pixelflut and bgm_opc portable, so you can run pixelflut on your New 3DS XL or something.
Apart from networking, we'd probably want sound as well. Not too hard, I'll do that once it comes to that.

@vifino vifino added this to To do in Core Jun 4, 2019
@basxto
Copy link
Member

basxto commented Jan 18, 2020

As workaround one could allow to send key presess through FISh, but for this FISh needs to support sending commands to the currently running module, which it can’t afaik.
@vifino And having stereo output with floppy drives on your big display would be nice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement suggestions to the project. help wanted We want help here for various reasons.
Projects
Core
  
To do
Development

No branches or pull requests

3 participants