Homebrew 3DS Controller

  • Thread starter Thread starter CTurt
  • Start date Start date
  • Views Views 454,638
  • Replies Replies 1,201
  • Likes Likes 104
New version works great thanks, one small issue, when the mouse speed is set to 4 it tends to keep moving after I stop , or if I lightly move the circlepad it just keeps moving in that direction. When I set the mouse speed to 2 I have no problems.
OK, I did add a threshold. So, if your circle pad isn't exactly 100% in the center then it won't move the mouse, however I can increase this threshold if it is still moving the mouse when not wanted.
 
I remember there was a DS homebrew app that did the same thing, but the IP address ranges it supported were hardcoded, and incompatible with my setup.
It's great that I can finally get the same thing, but it's sad I can't use the great clicky buttons on my DSi.

I'll flat-out admit I'm too lazy to read the 6 pages of the thread. How is the input lag, over normal Wi-Fi and over a Windows-hosted hotspot?

Also, how would I bind the 3DS touchscreen to be used in DeSmuME? External programs are fine.
 
I'll flat-out admit I'm too lazy to read the 6 pages of the thread. How is the input lag, over normal Wi-Fi and over a Windows-hosted hotspot?
There are some videos in the first post which should help you get an idea of how responsive the app is. From my personal experience, and the feedback I've been receiving, it's very fast.

Also, how would I bind the 3DS touchscreen to be used in DeSmuME? External programs are fine.
At the moment you can only configure the touch screen to be used to either control the mouse or a joystick.
 
At the moment you can only configure the touch screen to be used to either control the mouse or a joystick.


Do you think it's possible to somehow implement complete screen mapping?

As in imagine the whole touch screen canvas = anywhere on desktop

programmable to certain resolutions/size because it'll be hard to even focus on something with a 190000x1829381 screen resolution or something.

This could literally change the 3ds into a computer stylus/drawing pad. :tpi:
 
  • Like
Reactions: YoshiInAVoid
Version 0.4 released! Main new feature is keyboard support, press L, R, and X to bring up and close the keyboard on the 3DS.

Full change log:
  • Keyboard support! Press L, R, and X to toggle it,
  • Warn you if your Wireless is turned off when you boot the application,
  • Improved threshold calculation when using circle pad to move mouse,
  • Setting Mouse Speed to 0 when using touch screen to move mouse sets mouse to absolute position, rather than relative to last position,
  • The Tap event is fired when the touch screen is released, rather than when it is first press,
  • Other misc bug fixes,

Do you think it's possible to somehow implement complete screen mapping?
Yes, this has been added in version 0.4, set Mouse Speed to 0 to enable this.
 
Version 0.4 released! Main new feature is keyboard support, press L, R, and X to bring up and close the keyboard on the 3DS.

Full change log:



Yes, this has been added in version 0.4, set Mouse Speed to 0 to enable this.

ah but tap is fired when touch screen released not pressed. kind of inverted dont you think?

testing right nao.
 
ah but tap is fired when touch screen released not pressed. kind of inverted dont you think?

testing right nao.
Makes it feel more like the touch screens I'm used to. Accidentally set it down on the wrong button and just drag to the correct one. I like it
 
  • Like
Reactions: YoshiInAVoid
Just wait a second, its like DS2Win (a DS homebrew). Like these features, would be more awesome in 3DS Controller. Was that the inspiration for you? :)
Originally I wanted to flash DS2Win as the firmware for a semi broken, spare DS so that it could be used as a dedicated wireless gaming controller, however this wasn't possible since DS2Win is too large. It was too much effort to try and strip down DS2Win because it was too old to compile on the latest development environment; so I decided to write my own tool, DSController (which isn't released) and I was able to flash it as the firmware for the DS :). Then the 3DS was hacked and I decided to port DSController to it so that I'd have access to using the 3DS Circle Pad, and improved WiFi security. That's why I made 3DSController.
 
Originally I wanted to flash DS2Win as the firmware for a semi broken, spare DS so that it could be used as a dedicated wireless gaming controller, however this wasn't possible since DS2Win is too large. It was too much effort to try and strip down DS2Win because it was too old to compile on the latest development environment; so I decided to write my own tool, DSController (which isn't released) and I was able to flash it as the firmware for the DS :). Then the 3DS was hacked and I decided to port DSController to it so that I'd have access to using the 3DS Circle Pad, and improved WiFi security. That's why I made 3DSController.
Could you release DSController? The clicky DSi buttons compel you!
 
Could you release DSController? The clicky DSi buttons compel you!
I didn't think there was any point in releasing it since there are already several alternatives for the DS such as DS2Win, DS2Key, etc. But maybe I will release a version of it if you really want.

However, it isn't ready at the moment. 3DSController's code is based on DSController, so DSController in its current state is just a buggier version of 3DSController version 0.1 - it doesn't have a touchscreen keyboard, etc. As I said, my aim was just to make it as small as possible so I could flash it as the firmware for my DS.

Also, I'm definitely not going to release the tool to flash it as a firmware. While it worked for me, I don't want to be responsible for any bricks - learn to do it yourself if you want this.
 
I just tried v0.4 of 3DS Controller over a Win8 hotspot, and with a 1ms poll rate it works beautifully. There's 2 or so frames of input lag from hand to eye, but I can't be sure if all of that is from the app.
Anyway, the button combo of Start+Select to return to loader is far too easy to trigger on a 2DS. Could you change this to the Home button?
Oh, and I'm not using vJoy, but the touchscreen can only move the mouse, not click it. Except for some weird scrolling in Firefox.
 
Anyway, the button combo of Start+Select to return to loader is far too easy to trigger on a 2DS. Could you change this to the Home button?
If you are using the .3ds or the .cia you can use the home button. The problem is that Ninjhax doesn't support using the home button, so we have to add an alternative way of exiting the app, like Start and Select. I can change it to something else, but not the home button, what do you think would be better?

Oh, and I'm not using vJoy, but the touchscreen can only move the mouse, not click it. Except for some weird scrolling in Firefox.
If you are just using:

Code:
TOUCH: MOUSE

Then it will only move the mouse, not click it. You need to bind a key to CLICK or RIGHT CLICK. For example the Left and Right buttons on the DPad:

Code:
LEFT: CLICK
RIGHT: RIGHT CLICK

You can also use the touch screen to click if you really want, but it won't work well:

Code:
TAP: CLICK

To scroll, you should bind keys to PAGE UP and PAGE DOWN, for example the Up and Down buttons on the DPad:

Code:
UP: PAGE UP
DOWN: PAGE DOWN
 
  • Like
Reactions: Fishaman P
If you are using the .3ds or the .cia you can use the home button. The problem is that Ninjhax doesn't support using the home button, so we have to add an alternative way of exiting the app, like Start and Select. I can change it to something else, but not the home button, what do you think would be better?
From the good old days of AKAIO, L+R+A+B+Down works fantastically. I've played every kind of game imaginable, including mashing random buttons, and I have never once pressed that combo accidentally.
 
I think using mouse speed = 0 is used to map he entire screen (monitor1?).

Could you add a different method to map the touch screen?
For example splitting it in a number of areas.

make visual lines on the bottom screen to show areas
2/3/4 : split screen in 2/3 or 4 boxes (or more). it could even be little boxes at the top of the screen only, or one per corner, etc.
it could be used to add more buttons, like L2/R2 support. (you could define the a text to write in the boxes using the ini)
 
Ok so i messed with vjoy settings on now the circle pad does not work in dolphin anyone know how to fix this?
 

Site & Scene News

Popular threads in this forum