Homebrew 3DSControllerPlus - PC-->3DS video and input streaming

  • Thread starter Sono
  • Start date
  • Views 86,193
  • Replies 381
  • Likes 49

JavaScribe

Confused
Member
Joined
Apr 14, 2017
Messages
299
Trophies
0
Location
here idk
XP
794
Country
United States
Well, I could potentially make a joystick driver in C, that way it would be possible.
I mean for Windows, some devices have gyroscopes (my laptop has one for its "tablet mode"), so there must be some way to handle those. Not sure that it'd use precise enough input to help here, though.
I don't know if Linux supports gyroscopes. It doesn't exactly have a rich library of drivers available- at least, not part-specific ones. Just from experience.
 

slimslamtheflimflam

New Member
Newbie
Joined
Sep 23, 2018
Messages
4
Trophies
0
Age
28
XP
43
Country
United States
Hi! I just got the app installed and set up on my PC (Windows 10) and N3DS XL today.

I've been able to map all the buttons just fine, and when I'm in notepad or going through menus I can get through with the arrow keys just fine or type with the letters assigned to different buttons.

I'm trying to play GBA games on an emulator (tried 2 actually), and the program doesn't recognize the input at all, but when I use the keyboard there are no issues. Anything anyone can think of that might be causing this?

EDIT: wanted to add that I've tried running the PC program as an administrator too. I've also tried running the keyboard via USB instead of PS/2, no change.
 
Last edited by slimslamtheflimflam,

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
Hi! I just got the app installed and set up on my PC (Windows 10) and N3DS XL today.

I've been able to map all the buttons just fine, and when I'm in notepad or going through menus I can get through with the arrow keys just fine or type with the letters assigned to different buttons.

I'm trying to play GBA games on an emulator (tried 2 actually), and the program doesn't recognize the input at all, but when I use the keyboard there are no issues. Anything anyone can think of that might be causing this?

EDIT: wanted to add that I've tried running the PC program as an administrator too. I've also tried running the keyboard via USB instead of PS/2, no change.

I blame myself for making it so difficult to setup the buttons... did you map key down to key press and key up to key release? Sounds like you mapped press and release in button press because I made it visually impossible to distinguish the dropdown menu from just simple text.
 

eskoONE

New Member
Newbie
Joined
Sep 23, 2018
Messages
2
Trophies
0
Age
35
XP
56
Country
Germany
hey, can i disable the touchscreen controlling the mouse? i like the alt editor and am using it, but the mouse cursor keeps jumping around, which is annoying.
 

slimslamtheflimflam

New Member
Newbie
Joined
Sep 23, 2018
Messages
4
Trophies
0
Age
28
XP
43
Country
United States
I blame myself for making it so difficult to setup the buttons... did you map key down to key press and key up to key release? Sounds like you mapped press and release in button press because I made it visually impossible to distinguish the dropdown menu from just simple text.

So, for example, before I'd used "Autopress," in the AddEvent tab, so using the example of DUp it would appear in the FormBuilder as:
Code:
[KeyDown] UP
[KeyUp] UP

I tried redoing the controls by clearing them and instead using "Press" instead of Autopress in the AddEvent tab. Now DUp appears as:
Code:
[KeyDown] UP

The emulator actually responded this time but it only seemed to do so for one button press. What do I need to change?
 
Last edited by slimslamtheflimflam,

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
hey, can i disable the touchscreen controlling the mouse? i like the alt editor and am using it, but the mouse cursor keeps jumping around, which is annoying.

It's jumping around because
1) if you're in absolute mode... well it's obvious that mapping a tiny screen to a big one will result in super high sensivity
2) or if it's in relative mode, then it's because relative mode has speed divisor, and the default divisor is 1 which is very sensitive.

Set mmode in your keyconfig ini accordingly:
0 - touchscreen mouse
1 - CPad + touch
2 - CStick + touch
3 - CPad and CStick and touch all can control the mouse
4 - no mouse input
5 - CPad mouse only
6 - CStick mouse only
7 - should be illegal due to a bug
8 and above are invalid, but it will still work

For devs:
bit0 is CPad enable
bit1 is CStick enable
bit2 is touch *disable* (legacy code support)
setting all of these bits is invalid due to a programming error

So, for example, before I'd used "Autopress," in the AddEvent tab, so using the example of DUp it would appear in the FormBuilder as:
Code:
[KeyDown] UP
[KeyUp] UP

I tried redoing the controls by clearing them and instead using "Press" instead of Autopress in the AddEvent tab. Now DUp appears as:
Code:
[KeyDown] UP

The emulator actually responded this time but it only seemed to do so for one button press. What do I need to change?

Autopress is only "useful" for "quickly" assigning buttons for the key repeat event.

In the key editor it says "Key press", that's actually an accidently disguised dropdown menu. Select "Key up" and program a key up for each button you press in "Key press".
 
  • Like
Reactions: slimslamtheflimflam

eskoONE

New Member
Newbie
Joined
Sep 23, 2018
Messages
2
Trophies
0
Age
35
XP
56
Country
Germany
It's jumping around because
1) if you're in absolute mode... well it's obvious that mapping a tiny screen to a big one will result in super high sensivity
2) or if it's in relative mode, then it's because relative mode has speed divisor, and the default divisor is 1 which is very sensitive

Set mmode in your keyconfig ini accordingly:
0 - touchscreen mouse
1 - CPad + touch
2 - CStick + touch
3 - CPad and CStick and touch all can control the mouse
4 - no mouse input
5 - CPad mouse only
6 - CStick mouse only
7 - should be illegal due to a bug
8 and above are invalid, but it will still work

For devs:
bit0 is CPad enable
bit1 is CStick enable
bit2 is touch *disable* (legacy code support)
setting all of these bits is invalid due to a programming error

ive set my mmode to 5 and 6 to see if i can use the mouse still with the cpad but it wasnt working. i tried restarting and running as admin, none helped. so what i did was setting the cpad directions each individually to "key held" [mouse relative] x=#y=#. the value i used was 1. thats kinda slow and using higher values does look a bit jagged since its skipping pixels. when i tried setting mouse speed, anything between 0 and 5 and the cursor was jumping in the direction i pressed but either too fast or too much space. i cant tell since its too quick but it basically jumps from the bottom across the screen to the top on 1080px. accelerating mode would have been cool but i guess thats out of your scope.

im on win 10 64bit and am using old3ds xl.

also, what is the value for the "altk=########" if i wanted to use left shoulder as the trigger instead of the y key. is there a place i can check for that?

everything else is working perfectly. thanks a lot for your work!
 
Last edited by eskoONE,

slimslamtheflimflam

New Member
Newbie
Joined
Sep 23, 2018
Messages
4
Trophies
0
Age
28
XP
43
Country
United States
In the key editor it says "Key press", that's actually an accidently disguised dropdown menu. Select "Key up" and program a key up for each button you press in "Key press".

That worked perfectly for everything except the Dpad for some reason. The Dpad buttons respond in other programs just fine but they're not detected by the emulator (even though the emulator's input settings match the keyboard keys). Attached image is how I have it set up (circled the hidden drop down for anyone else who sees this, can't believe I missed it, ha!). Is there something different I need to do for the Dpad buttons? Do I need to add an event for Key held?

Thanks for your help, by the way! Really appreciate it!

Untitled.png
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
ive set my mmode to 5 and 6 to see if i can use the mouse still with the cpad but it wasnt working. i tried restarting and running as admin, none helped. so what i did was setting the cpad directions each individually to "key held" [mouse relative] x=#y=#. the value i used was 1. thats kinda slow and using higher values does look a bit jagged since its skipping pixels. when i tried setting mouse speed, anything between 0 and 5 and the cursor was jumping in the direction i pressed but either too fast or too much space. i cant tell since its too quick but it basically jumps from the bottom across the screen to the top on 1080px. accelerating mode would have been cool but i guess thats out of your scope.

im on win 10 64bit and am using old3ds xl.

also, what is the value for the "altk=########" if i wanted to use left shoulder as the trigger instead of the y key. is there a place i can check for that?

everything else is working perfectly. thanks a lot for your work!

You need mmode=5 for CPad *or* mmode=6 for CStick. Oh and make sure you're using "PaintController", not "PaintController_min" or "osu!Controller" as those don't have CPad and CStick support to save bandwidth in favor of latency.

Also, I have thought of it because you can use your 3DS as a crude touchpad, so I added a function to speed up or slow down the relative input. There should be an option for that. Just watch out, if you trigger the speed modifier too much, your mouse will either get stuck or it'll keep flying between the four corners of the screen! Just set it as an ALT box and tap it a few times. Create a +1 and -1 one and tinker around with it a bit.

You can use any button combo you want, it's not limited to a single button. Watch out though, if you set multiple buttons, all of those buttons except the last one WILL be pressed, and all of combo buttons will be released when ALT mode is entered. This also applies to exiting ALT mode, so if you only release one button then the others will get pressed again, so watch out!

I'll go the easy way: get a bit or hexadecimal calculator (if you're on Windows, open calculator, and press ALT+3), and just set the bits you want to use as the keycombo. The bit table is at https://www.3dbrew.org/wiki/HID_Registers. Once you're done setting the bits, MAKE SURE IT'S DISPLAYED IN HEXADECIMAL, then copy that value as altkey. You don't need to worry about zeropadding the value to length of 8, just copypaste it as is... just make sure to remove all spaces and dots and commas.
8169021f25.png
And just to answer your question, altkey=200 :P

That worked perfectly for everything except the Dpad for some reason. The Dpad buttons respond in other programs just fine but they're not detected by the emulator (even though the emulator's input settings match the keyboard keys). Attached image is how I have it set up (circled the hidden drop down for anyone else who sees this, can't believe I missed it, ha!). Is there something different I need to do for the Dpad buttons? Do I need to add an event for Key held?

Thanks for your help, by the way! Really appreciate it!

View attachment 144368

Is your key repeat empty? It's the worst idea imaginable to use Key down + Key up AND Key repeat. Either use it as turbo mode, or use it as a real key.
 

slimslamtheflimflam

New Member
Newbie
Joined
Sep 23, 2018
Messages
4
Trophies
0
Age
28
XP
43
Country
United States
Is your key repeat empty? It's the worst idea imaginable to use Key down + Key up AND Key repeat. Either use it as turbo mode, or use it as a real key.

So, I fixed the arrangement, but it still didn't work with the arrow keys, BUT I got it working with WASD. Might be a bug?

So for example, DUp is configured as follows:

Code:
Key pressed
[KeyDown] KEY_W
[KeyUp] KEY_W

Key released
[KeyUp] KEY_W

Key held
[KeyDown] KEY_W

All the arrow keys now work as intended.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
So, I fixed the arrangement, but it still didn't work with the arrow keys, BUT I got it working with WASD. Might be a bug?

So for example, DUp is configured as follows:

Code:
Key pressed
[KeyDown] KEY_W
[KeyUp] KEY_W

Key released
[KeyUp] KEY_W

Key held
[KeyDown] KEY_W

All the arrow keys now work as intended.

If you want turbo mode, Autopress a key in Key held and clear the other two, otherwise only put key down in key down and key up in key up and clear key held.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
I finally created DummyJoy for those who want to play using an analog joystick. Look into the first post for downloads and setup instructions.

...or if you think you have everything already setup then just grab the zip
 

Metrolol

Member
Newcomer
Joined
Oct 7, 2018
Messages
10
Trophies
0
Age
35
XP
77
Country
United States
Hey, just found out about this and was immediately excited to try it out.
However, after getting the initial windows download and CIA installed on my 3ds, I immediately ran into a problem when connecting.

I get an error saying "Unknown Packet: 125"
Press a key to exit . . .

Does anyone have any tips or solutions for this? I believe I've read this thread start to finish and haven't noticed anyone having an issue like this.
Maybe I overlooked something obvious?
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
Hey, just found out about this and was immediately excited to try it out.
However, after getting the initial windows download and CIA installed on my 3ds, I immediately ran into a problem when connecting.

I get an error saying "Unknown Packet: 125"
Press a key to exit . . .

Does anyone have any tips or solutions for this? I believe I've read this thread start to finish and haven't noticed anyone having an issue like this.
Maybe I overlooked something obvious?

When did you download it? What exact URL did you download it from?

And finally, what cia and exe combo did you use? Not every cia and exe are compatible with eachother. Or it might be an oversight from my part.
 

Metrolol

Member
Newcomer
Joined
Oct 7, 2018
Messages
10
Trophies
0
Age
35
XP
77
Country
United States
When did you download it? What exact URL did you download it from?

And finally, what cia and exe combo did you use? Not every cia and exe are compatible with eachother. Or it might be an oversight from my part.

Interesting. I am almost certain I got them both from the front page of this thread but maybe not. Do you have a recommendation for where to download them to be 100 percent sure?
I just downloaded them both last night as well, to answer that question.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,825
Trophies
2
Location
home
XP
9,376
Country
Hungary
Interesting. I am almost certain I got them both from the front page of this thread but maybe not. Do you have a recommendation for where to download them to be 100 percent sure?
I just downloaded them both last night as well, to answer that question.

I accidently uploaded the files from 16months ago instead of the latest ones, so that's why it's complaining about unimplemented packets, sorry :wacko:

These are the latest ones you can currently find: https://github.com/SonoSooS/3DSCPlus/releases/tag/v0.2_dev
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=mA-vTRfE_x0