ImportError: No module named TPPFLUSH.tppflush
Closed this issue · 23 comments
This isn't an issue, you're missing the TPPFLUSH folder. Please download the zip file from the Releases Page
Oh, I had downloaded the source by mistake, which had the TPPFLUSH @somelongnumber folder. Thanks, that hadn't occurred to me.
What version of Python do you have installed? You need Python v3.6 or higher.
Check with python --version
because even if you have python3 installed, the command line can sometimes use python2
Ah, I see. Thanks. I'll check when I'm home and have access to my Mac.
It's working! But, when I try to add ZL to the list of KeyBinds,
please wait...
Traceback (most recent call last):
File "gamepad.py", line 21, in
HIDButtons.ZL,
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/enum.py", line 324, in
__ getattr __
raise AttributeError(name) from None
AttributeError: ZL
Same for ZR. I know it doesn't really matter since I'm on o3DS, but I want to have the triggers bound to something, even if it won't do anything, so that if I accidentally press one it'll just do nothing rather than having the program freak out and crash because it had no binding.
ZL and ZR are part of the N3DS_Buttons class (as they're not technically HID buttons) so you'd have to map them as N3DS_Buttons.ZR / .ZL
Thanks! I'm having the same issue with POWER and HOME.
POWER and HOME are under Special_Buttons
I see. Thanks.
Is there a way to have it, when a button is held, it sends the input over and over? Your program can tell when a button has been released, so I'm sure that's not too hard. Knowing python, I'll see if I can program it in. If I'm successful. I'll fork it.
Is there a way to have it, when a button is held, it sends the input over and over? Your program can tell when a button has been released, so I'm sure that's not too hard. Knowing python, I'll see if I can program it in. If I'm successful. I'll fork it.
You're sending button inputs too fast, it's overloading whatever buffer Python is using for the socket connection.
Though, you did remind me that I forgot to make it optional whether it shows which gamepad buttons are pressed.
I see. Is there a way to get it to "hold" a button instead of well, spamming it?
server.press(buttonMappings[event.button])
server.send(print_bytes)
Don't use the server.unpress()
function since that un-presses the button.
Alright. Thanks.
Is there a way to massively expand/allocate more memory to buffer size?
Just so you know, if you repeat the server.send() inside a while
loop, like you're doing now, you'll quickly overload the buffer and it won't press multiple times. The way InputRedirection works, a server.send()
makes the 3DS keep pressing whatever configuration of buttons is sent until a new send()
comes along, so send()
ing a second time without pressing/unpressing any new buttons will do nothing.
If you want to press a button repeatedly, you'll want to use server.press()
, server.send()
, wait a little bit with time.sleep()
, and then server.unpress()
and server.send()
before time.sleep()
ing a bit more.
Yes, but is there a way to hold a button down?
Yes.
The way InputRedirection works, a server.send() makes the 3DS keep pressing whatever configuration of buttons is sent until a new send() comes along, so send()ing a second time without pressing/unpressing any new buttons will do nothing.
If you server.send() a button press, then wait 5 seconds without server.send()ing, the button will remain pressed for all 5 seconds. TPPFLUSH will keep holding the button until it is unpress()
ed.
Oh. I see.