Tutorial How to use a Keyboard/Controller on your 3DS using kit-kat

PRAGMA

Well-Known Member
OP
Member
Joined
Dec 29, 2015
Messages
2,203
Trophies
1
Location
127.0.0.1
Website
pragma.pw
XP
4,801
Country
Ireland
If you get an error on kit-kat, post the error on kit-kat's thread not here.

Video Tutorial

Controller Files
Credit: @KanterZ

Text Tutorial

  1. Boot up your 3DS,
  2. Install this CIA (with FBI) if you haven't already,
  3. Open the application just installed,
  4. THEN open Boot NTR Selector,
  5. Open kit-kat, give it a few seconds to try find your IP, If it has found your IP, Skip step 6,
  6. Haven't found the IP? Checkout this tutorial on manually obtaining the IP,
  7. Go to Tab 3 and mess around using a Controller or Keyboard. (F2 = Keyboard Controls, F3 = Gamepad Controls)

Confirmed Supported Controllers

  • PS4 (Using DS4Windows)
  • PS3 (Using SCPToolkit)
  • Xbox One (Using USB Charging Cable - No Software Needed)
  • Logitech Gamepad F710 (No Software Needed)
Confirmed support for a controller not listed here?
Let me know below!
 
Last edited by PRAGMA,

Neytz

Member
Newcomer
Joined
Dec 11, 2011
Messages
10
Trophies
0
XP
181
Country
Slovenia
I got my F710 (xinput) to work, but I can't find an option to set the right circle pad that you mention in the 1.4.3 update. Can I get it to work somehow?

Oh and I get a crash if I don't send the temporary patch that disables online services and try to use the controller. This shows up:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.NetworkStream'.
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at ntrbase.NTR.sendWriteMemPacket(UInt32 addr, UInt32 pid, Byte[] buf)
at InputRedirection.Game1.SendInput()
at InputRedirection.Game1.ReadMain()
at InputRedirection.Game1.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at MonoGame.Framework.WinFormsGameWindow.RunLoop()
at MonoGame.Framework.WinFormsGamePlatform.RunLoop()
at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
at Microsoft.Xna.Framework.Game.Run()
at kit_kat.MainForm.customTabControl1_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.TabControl.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.TabControl.WmSelChange()
at System.Windows.Forms.TabControl.WndProc(Message& m)
at kit_kat.cTabControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
kit-kat
Assembly Version: 1.4.4.0
Win32 Version: 1.4.4.0
CodeBase: file:///C:/Users/Jerkci/Desktop/kitkat/kit-kat-1.4.4.0.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.CSharp
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
System.Dynamic
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
Assembly Version: 0.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Since you don't mention applying this patch in your instructions do you think I can fix this?
 
Last edited by Neytz,

mikefor20

We
Member
Joined
Jan 12, 2009
Messages
1,640
Trophies
0
Location
Mushroom Kingdom ( o Y o )
XP
2,875
Country
United States
What .NET Framework version is best for this? I keep getting an unhandled exception error in WIN 10. I can stream, I can use the redirection on its own but if I do both it throws a error at me and the input redirect stops functioning. Streaming still works at that point. I am using a wireless xbox 360 controller and a MS USB Receiver. Seems to function fine without the video stream though...
 

Lotoonlink

Probably doesn't know what he's talking about
Member
Joined
Aug 15, 2016
Messages
236
Trophies
0
XP
811
Country
United States
Maybe specify which steps you do on the 3ds and which steps you do on the computer? Other than that, great work! Just what I was looking for.
 

sora10pls

Well-Known Member
Member
Joined
Oct 25, 2015
Messages
190
Trophies
0
XP
695
Country
Canada
Really hopeful that the Wii U GC Adapter will soon be compatible with something like GCNUSBFeeder and vJoy. Great work with kit-kat by the way!
 
  • Like
Reactions: PRAGMA

PRAGMA

Well-Known Member
OP
Member
Joined
Dec 29, 2015
Messages
2,203
Trophies
1
Location
127.0.0.1
Website
pragma.pw
XP
4,801
Country
Ireland
I got my F710 (xinput) to work, but I can't find an option to set the right circle pad that you mention in the 1.4.3 update. Can I get it to work somehow?

Oh and I get a crash if I don't send the temporary patch that disables online services and try to use the controller. This shows up:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.NetworkStream'.
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at ntrbase.NTR.sendWriteMemPacket(UInt32 addr, UInt32 pid, Byte[] buf)
at InputRedirection.Game1.SendInput()
at InputRedirection.Game1.ReadMain()
at InputRedirection.Game1.Update(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)
at Microsoft.Xna.Framework.Game.Tick()
at MonoGame.Framework.WinFormsGameWindow.RunLoop()
at MonoGame.Framework.WinFormsGamePlatform.RunLoop()
at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
at Microsoft.Xna.Framework.Game.Run()
at kit_kat.MainForm.customTabControl1_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.TabControl.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.TabControl.WmSelChange()
at System.Windows.Forms.TabControl.WndProc(Message& m)
at kit_kat.cTabControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
kit-kat
Assembly Version: 1.4.4.0
Win32 Version: 1.4.4.0
CodeBase: file:///C:/Users/Jerkci/Desktop/kitkat/kit-kat-1.4.4.0.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.CSharp
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
System.Dynamic
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1586.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
Assembly Version: 0.0.0.0
Win32 Version: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Since you don't mention applying this patch in your instructions do you think I can fix this?
That happens when using NTRViewer at the same time

--------------------- MERGED ---------------------------

What .NET Framework version is best for this? I keep getting an unhandled exception error in WIN 10. I can stream, I can use the redirection on its own but if I do both it throws a error at me and the input redirect stops functioning. Streaming still works at that point. I am using a wireless xbox 360 controller and a MS USB Receiver. Seems to function fine without the video stream though...
Yeah you cant use 2 at the same time. (Trying to find out why it keeps erroring)
 

TMM12

New Member
Newbie
Joined
Jan 2, 2017
Messages
1
Trophies
0
Age
22
XP
31
Country
United States
I found out that if you use Nitrostream and kit-kat side by side, you can have NTRViewer and Input Redirection at the same time. I followed the same steps that you would to set up input redirection but I connected Nitrostream first before connecting kit-kat.
 

Molina

My title? It's gone,... like the last fuck I gave.
Member
Joined
May 14, 2016
Messages
230
Trophies
0
Age
27
XP
188
Country
France
Cabled XboxOne controller works.
Is that possible to configure R stick as pro stick 3ds accesories (or natif n3ds)?

Yeah you cant use 2 at the same time. (Trying to find out why it keeps erroring)

I tried to spam multiple way (input then stream; stream then input). Only one time it didn't gave me an error (input then stream), but it was unstable, input was not done even the program sayin' "connected", and I had 2~5 fps (I have around 35fps usually).
 
Last edited by Molina,

PRAGMA

Well-Known Member
OP
Member
Joined
Dec 29, 2015
Messages
2,203
Trophies
1
Location
127.0.0.1
Website
pragma.pw
XP
4,801
Country
Ireland
Cabled XboxOne controller works.
Is that possible to configure R stick as pro stick 3ds accesories (or natif n3ds)?



I tried to spam multiple way (input then stream; stream then input). Only one time it didn't gave me an error (input then stream), but it was unstable, input was not done even the program sayin' "connected", and I had 2~5 fps (I have around 35fps usually).
Yeah im trying to work on a fix.
Anyway no you cant use the CPad Pro, it just isnt supported the way its used.
 
  • Like
Reactions: Molina

Hundredears

Active Member
Newcomer
Joined
Dec 14, 2016
Messages
37
Trophies
0
Age
32
XP
231
Country
United States
I'm having problems with kitkat recogniziing my PS4 controller. Can u someone help me?

Kitkat doesn't detect my controller when I go to F3. even when I press the buttons on my ps4 controller
 
Last edited by Hundredears,

Molina

My title? It's gone,... like the last fuck I gave.
Member
Joined
May 14, 2016
Messages
230
Trophies
0
Age
27
XP
188
Country
France
I'm having problems with kitkat recogniziing my PS4 controller. Can u someone help me?

Kitkat doesn't detect my controller when I go to F3. even when I press the buttons on my ps4 controller

Do you use DS4windows?
KitKat doesn't recognize PS4 controllers natively, nor do the computer.
You need a tier program to make it work. In this case: DS4windows.
 

Hundredears

Active Member
Newcomer
Joined
Dec 14, 2016
Messages
37
Trophies
0
Age
32
XP
231
Country
United States
Do you use DS4windows?
KitKat doesn't recognize PS4 controllers natively, nor do the computer.
You need a tier program to make it work. In this case: DS4windows.

Ya I have Ds4. I actually got it working now. Right now I just don't noe how to reset F3 gamecontroller keys. Which button to make it default again? I have keys at none.
 

Molina

My title? It's gone,... like the last fuck I gave.
Member
Joined
May 14, 2016
Messages
230
Trophies
0
Age
27
XP
188
Country
France
Ya I have Ds4. I actually got it working now. Right now I just don't noe how to reset F3 gamecontroller keys. Which button to make it default again? I have keys at none.

Control rebind is kinda strange, you must use the keyboard to change controller settings.
example: I have a XboxOne controller, lets say the "X" was assign on my A button.
1. press "F3". It open controller setting (you already knew that).
2. I press "X" on my keyboard. On kitkat, "X" become "none".
3. I press "A" on my keyboard to assign "A" to my A controller's button.
4. Press "Esc" to accept the configuration.

Do not press multiple keyboard letters in same time as you will be stuck with "none" somewhere.

Assign settings are in "%appdata%" I believe. Find them and delete to reset the configuration.

Be careful you can't have the same value assigned to multiple buttons.
 
Last edited by Molina,

Hundredears

Active Member
Newcomer
Joined
Dec 14, 2016
Messages
37
Trophies
0
Age
32
XP
231
Country
United States
Control rebind is kinda strange, you must use the keyboard to change controller settings.
example: I have a XboxOne controller, lets say the "X" was assign on my A button.
1. press "F3". It open controller setting (you already knew that).
2. I press "X" on my keyboard. On kitkat, X become "none".
3. I press "A" on my keyboard to assign "A" to my A controller's button.
4. Press "Esc" to accept the configuration.

Do not press multiple keyboard letters in same time as you will be stuck with "none" somewhere.

Assign settings are in "%appdata%" I believe. Delete to reset the configuration.

Be careful you can't have the same value assigned to multiple buttons.

It worked! Thank you so so much for the quick reply n detailed instructions! :D

--------------------- MERGED ---------------------------

Control rebind is kinda strange, you must use the keyboard to change controller settings.
example: I have a XboxOne controller, lets say the "X" was assign on my A button.
1. press "F3". It open controller setting (you already knew that).
2. I press "X" on my keyboard. On kitkat, X become "none".
3. I press "A" on my keyboard to assign "A" to my A controller's button.
4. Press "Esc" to accept the configuration.

Do not press multiple keyboard letters in same time as you will be stuck with "none" somewhere.

Assign settings are in "%appdata%" I believe. Find them and delete to reset the configuration.

Be careful you can't have the same value assigned to multiple buttons.

For some reason, I can't use capture card and ps4 controller together or at the same time. Is this odd or that's how it works?
 
  • Like
Reactions: Molina

yachting

Member
Newcomer
Joined
Jan 4, 2017
Messages
14
Trophies
0
Age
32
XP
39
Country
Gambia, The
Hello,

I can't use my xbox one controller with it. it's plugged in with USB cable but kit kat doesn't recognize it. Kit-Kat always says Gamepad:True even if I have nothing plugged in into my laptop.
 
Last edited by yachting,

LinkBlaBla

This is Perfect!
Member
Joined
Jun 7, 2013
Messages
445
Trophies
0
Age
30
Location
On a space rock floating in space!
XP
228
Country
Canada
Yeah im trying to work on a fix.
Anyway no you cant use the CPad Pro, it just isnt supported the way its used.

do you plan to add it as the 2 shoulder button we got? bcause c stick and more button would be nice thanks!

Oh and a way to add nes 30 pro as controller i can make it work with xpadder if i configure the same keyboard key but i get lag !
 
Last edited by LinkBlaBla,

yachting

Member
Newcomer
Joined
Jan 4, 2017
Messages
14
Trophies
0
Age
32
XP
39
Country
Gambia, The
It looks like it doesn't support the XBOX ONE Elite controller... Idk why. But it doesn't work with it. Or did it work for someone with the elite controller?
 
General chit-chat
Help Users
  • x65943 @ x65943:
    imo without at least a 30lbs dumbbell you won't get a lot of use out of em - and these max out at like 10lbs for each arm
    Gift
  • x65943 @ x65943:
    oh I see you actually get to pick which set you want - so you could buy the 88 lb one
    Gift
  • KenniesNewName @ KenniesNewName:
    Didn't notice in the title it says 44LB/66LB/88LB
    Gift
  • KenniesNewName @ KenniesNewName:
    I really want to start lifting again
    Gift
  • KenniesNewName @ KenniesNewName:
    Gym memberships here are like $40 a month so in like years worth of time I'd have enough just to buy a nice in home set
    Gift
  • x65943 @ x65943:
    that's true, gyms are expensive.
    Gift
  • KenniesNewName @ KenniesNewName:
    I'd rather just have my own equipment instead of not knowing whose sweaty balls were on it
    Gift
  • x65943 @ x65943:
    kenny I'm very concerned now that you may not be working out properly
    Gift
  • KenniesNewName @ KenniesNewName:
    My life isn't proper
    Gift
  • x65943 @ x65943:
    first of all, there should be exactly zero reasons to place your sweaty balls on any of the equipment - generally you are supposed to wear clothing at the gym
    Gift
  • KenniesNewName @ KenniesNewName:
    You aren't going to the right gym if you need to wear clothes
    Gift
  • KenniesNewName @ KenniesNewName:
    Ball sweat drops down like normal sweat if your balls are always dry I'd recommend a doctor
    Gift
  • KenniesNewName @ KenniesNewName:
    We're talking about exercise balls of course
    Gift
  • x65943 @ x65943:
    what to do if I am a doctor
    Gift
  • KenniesNewName @ KenniesNewName:
    Re-read WebMD articles
    Gift
  • KenniesNewName @ KenniesNewName:
    I got myself a cheapo steering wheel cover here's to hoping the sun doesn't burn my finger tips over hot steering wheels
    Gift
  • x65943 @ x65943:
    I have never experienced that
    Gift
  • x65943 @ x65943:
    just where do you live mate
    Gift
  • KenniesNewName @ KenniesNewName:
    Midwest weathers been like 90 all week
    Gift
  • KenniesNewName @ KenniesNewName:
    We don't have garage parking areas at the apartment either so my car bakes in the sun
    Gift
  • KenniesNewName @ KenniesNewName:
    Midwest weather is so bipolar in the summer
    Gift
  • x65943 @ x65943:
    also in midwest, and today at least was really nice - in the 70s with light drizzle and good cloud cover
    Gift
  • x65943 @ x65943:
    have been quite a few scorchers this year tho
    Gift
  • KenniesNewName @ KenniesNewName:
    Depends on the area I'm more up north
    Gift
  • KenniesNewName @ KenniesNewName:
    Supposed to be in the 80s all next week
    Gift
    KenniesNewName @ KenniesNewName: Supposed to be in the 80s all next week