I'm working on a hardware/software utility to play Switch/Switch 2 games remotely with my brothers. I found a way to emulate a Switch Pro Controller using a Raspberry Pi Pico based on several different sources (look in the README for more info). I used that to write a firmware for the Pico (with the help of GPT Codex 5.1).
Then I wrote a Python program that connects whatever controller my brothers want to use (as long as it's supported by SDL2.0) and forwards that data from their computer, through Parsec, through a USB-UART adapter, to the Pico, then to the Switch. I then have a low latency capture card (Magewell Pro Dual HDMI I got off of ebay for $100) forwarding the video and audio from the Switch to my PC which I share to my brothers via Parsec. The audio was a bit tricky to get right, and ended up having to use a Virtual audio cable and Voicemeeter potato (a software audio mixer) so that both myself and my brothers could hear the audio.
It works surprisingly well and the latency is pretty low. I even got rumble working! (but not motion controls. If anyone wants to attempt it, I will accept PRs). I haven't done any formal benchmarking for performance, but my brothers and I were able to play Smash Ultimate without too much bother about latency.
You could also use the accessory Python library I made to automate switch controller presses (look in the examples directory). Might be useful for TAS speedruns?
The project is here for anyone interested. It's a bit rough and needs some cleanup and maybe a video tutorial on remote setup. But here is the WIP:
If your parents were narcissistic with you since you were little, you likely suffered from childhood emotional neglect.
I am reading an excellent book on this topic called "Running on Empty: Overcome your Childhood Emotional Neglect " by Jonnice Webb.
To determine if you might be suffering from it, an excerpt from the book:
“Emotional Neglect Questionnaire
Do You:
1. Sometimes feel like you don’t belong when with your family or friends
2. Pride yourself on not relying upon others
3. Have difficulty asking for help
4. Have friends or family who complain that you are aloof or distant
5. Feel you have not met your potential in life
6. Often just want to be left alone
7. Secretly feel that you may be a fraud
8. Tend to feel uncomfortable in social situations
9. Often feel disappointed with, or angry at, yourself
10. Judge yourself more harshly than you judge others
11. Compare yourself to others and often find yourself sadly lacking
12. Find it easier to love animals than people
13. Often feel irritable or unhappy for no apparent reason
14. Have trouble knowing what you’re feeling
15. Have trouble identifying your strengths and weaknesses
16. Sometimes feel like you’re on the outside looking in
17. Believe you’re one of those people who could easily live as a hermit
18. Have trouble calming yourself
19. Feel there’s something holding you back from being present in the moment
20. At times feel empty inside
21. Secretly feel there’s something wrong with you
22. Struggle with self-discipline
Look back over your circled (YES) answers. These answers give you a window into the areas in which you may have experienced Emotional Neglect as a child.”
see my response to another comment. I think Nimporter is for bringing Nim code into Python, basically by making calls from one language to another. I'm talking about a Python to Nim transpiler, so that the functionality of Python is brought into the performance and under the control of Nim.
Well, if you're talking GUI stuff, nothing in Nim compares to Qt. But, I did routinely use Qt for console, server, and headless embedded stuff. The Qt environment compensated for lots of C++ shortcomings up to recently. I think I've seen a Nim linkage to QML (Qt's newer Javascript UI markup language). But, I've never been all that keen on it. Depends what you need in a GUI. QML worked well for me on android/ios apps. I guess I'm just old school when it comes to desktop apps, and I can bang out a Qt gui app in a hurry for the desktop. A few times, in D, I'd written all of the logic for the application in D as a console app with a command handler that worked on stdin that would generate the same Qt data model on stdout that a Qt GUI app would use to populate its model-bound tables and whatnot. Worked surprisingly well.
But, to end this treatise on the state of nim gui stuff... I've had some fun with nimx, but keep trying the more native stuff. give 'em a try.
Then I wrote a Python program that connects whatever controller my brothers want to use (as long as it's supported by SDL2.0) and forwards that data from their computer, through Parsec, through a USB-UART adapter, to the Pico, then to the Switch. I then have a low latency capture card (Magewell Pro Dual HDMI I got off of ebay for $100) forwarding the video and audio from the Switch to my PC which I share to my brothers via Parsec. The audio was a bit tricky to get right, and ended up having to use a Virtual audio cable and Voicemeeter potato (a software audio mixer) so that both myself and my brothers could hear the audio.
It works surprisingly well and the latency is pretty low. I even got rumble working! (but not motion controls. If anyone wants to attempt it, I will accept PRs). I haven't done any formal benchmarking for performance, but my brothers and I were able to play Smash Ultimate without too much bother about latency.
You could also use the accessory Python library I made to automate switch controller presses (look in the examples directory). Might be useful for TAS speedruns?
The project is here for anyone interested. It's a bit rough and needs some cleanup and maybe a video tutorial on remote setup. But here is the WIP:
https://github.com/jyapayne/switch-pico