More actions
No edit summary |
m (Text replacement - "Category:Support the author" to "") |
||
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox 3DS | {{Infobox 3DS Homebrews | ||
| title = 3Input | |title=3Input | ||
| image = | |image=3input2.png | ||
| type = | |description=A Custom System Module Input Monitor. | ||
| version = | |author=PhlexPlexico | ||
| | |lastupdated=2020/09/10 | ||
| | |type=Utilities | ||
| website = https://github.com/PhlexPlexico/3input/tree/master | |version=0.1 | ||
| | |license=Mixed | ||
| | |download=https://dlhb.gamebrew.org/3dshomebrews/3input.7z | ||
|website=https://github.com/PhlexPlexico/3input/tree/master | |||
|source=https://github.com/PhlexPlexico/3input/tree/master | |||
|donation=https://ko-fi.com/phlexplexico | |||
}} | }} | ||
3Input is an input viewer that works behind the scenes on your 3DS. Much like [https://github.com/Bas25/HorizonMod HorizonMod], the goal is to run as a daemoized process/system module, which you can then use a client to connect to and read your inputs. This is essentially an inverse to InputRedirection in [https://github.com/LumaTeam/Luma3DS/wiki/Rosalina#inputredirection Luma/Rosalina]. | 3Input is an input viewer that works behind the scenes on your 3DS. Much like [https://github.com/Bas25/HorizonMod HorizonMod], the goal is to run as a daemoized process/system module, which you can then use a client to connect to and read your inputs. This is essentially an inverse to InputRedirection in [https://github.com/LumaTeam/Luma3DS/wiki/Rosalina#inputredirection Luma/Rosalina]. | ||
Line 20: | Line 22: | ||
Install both CIAs on your 3DS, make sure you're connected to a WiFi Access Point and launch the Launcher. | Install both CIAs on your 3DS, make sure you're connected to a WiFi Access Point and launch the Launcher. | ||
Now connect with a client (such as 3SharpView). | Now connect with a client (such as [[3SharpView_3DS|3SharpView]]). | ||
==User guide== | ==User guide== | ||
Line 28: | Line 30: | ||
Here is an example as to what the JSON being sent looks like: | Here is an example as to what the JSON being sent looks like: | ||
<pre>'{\n\t"btn":268435456,\n\t"cp_x":134,\n\t"cp_y":-68,\n\t"tp_x":0,\n\t"tp_y":0,\n\t"ir_btn":14,\n\t"cpp_x":14,\n\t"cpp_y":14\n}\n'</pre> | |||
You can then use an application to parse it, to make it more readable like so: | You can then use an application to parse it, to make it more readable like so: | ||
<pre>{ | |||
<pre | |||
{ | |||
"btn":268435456, | "btn":268435456, | ||
"cp_x":134, | "cp_x":134, | ||
Line 43: | Line 42: | ||
"cpp_x":14, | "cpp_x":14, | ||
"cpp_y":14 | "cpp_y":14 | ||
} | }</pre> | ||
</pre> | |||
===Viewing the Output=== | ===Viewing the Output=== | ||
In order to view the output, please use [[3SharpView 3DS|3SharpView]]. | In order to view the output, please use [[3SharpView 3DS|3SharpView]]. | ||
Line 52: | Line 50: | ||
The main thread of the module is also reading inputs. If you wish to exit, you can press <code>SEL+START</code> to close the application and destroy anything created by it. The following will change the send rate of the inputs: | The main thread of the module is also reading inputs. If you wish to exit, you can press <code>SEL+START</code> to close the application and destroy anything created by it. The following will change the send rate of the inputs: | ||
* <code>SEL+X</code> - 140 per second. | * <code>SEL+X</code> - 140 per second. | ||
* <code>SEL+Y</code> - 60 per second | * <code>SEL+Y</code> - 60 per second (Default). | ||
* <code>SEL+A</code> - 10 per second. | * <code>SEL+A</code> - 10 per second. | ||
* <code>SEL+B</code> - 1 per second. | * <code>SEL+B</code> - 1 per second. | ||
==Media== | ==Media== | ||
'''3Input and 3SharpView Example'''<br> | '''3Input and 3SharpView Example''' ([https://www.youtube.com/watch?v=UQJbOhglfF8 PhlexPlexico])<br> | ||
<youtube>UQJbOhglfF8</youtube> | <youtube>UQJbOhglfF8</youtube> | ||
==Known issues== | |||
Please see https://github.com/PhlexPlexico/3input/issues. | |||
==Changelog== | |||
'''v0.1 2020/09/10''' | |||
* First release. | |||
==Credits== | ==Credits== | ||
Line 66: | Line 71: | ||
==External links== | ==External links== | ||
* Github | * Github - https://github.com/PhlexPlexico/3input | ||
* GitHub | * GitHub - https://github.com/PhlexPlexico/3SharpView | ||
* Reddit - https://www.reddit.com/r/speedrun/comments/ixs25h/3input_a_3ds_input_viewer | |||
* Reddit | |||
Latest revision as of 04:09, 17 Mayıs 2024
3Input | |
---|---|
General | |
Author | PhlexPlexico |
Type | Utilities |
Version | 0.1 |
License | Mixed |
Last Updated | 2020/09/10 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
3Input is an input viewer that works behind the scenes on your 3DS. Much like HorizonMod, the goal is to run as a daemoized process/system module, which you can then use a client to connect to and read your inputs. This is essentially an inverse to InputRedirection in Luma/Rosalina.
Currently, the only way to view inputs for the 3DS is either using a handcam, or via the use of NTR and coNTRoller-overlay. NTR can be rather buggy, and also uses a lot more resources than necessary to just show inputs. The aim is to replace it with something less buggy, and that can run on both new and old 3DS.
This homebrew is to be used with 3SharpView which allows you to view the inputs on a PC, can be use helpful for any streamers/speedrunners who would like to show off their inputs while playing.
Installation
Install both CIAs on your 3DS, make sure you're connected to a WiFi Access Point and launch the Launcher.
Now connect with a client (such as 3SharpView).
User guide
Launch the Launcher, write down the IP address and port that is presented to you, press A, and then connect to the 3DS IP with a client.
The current implementation sends a JSON Object per defined frequency. The JSON object also contains escape sequences so an application can properly decode them.
Here is an example as to what the JSON being sent looks like:
'{\n\t"btn":268435456,\n\t"cp_x":134,\n\t"cp_y":-68,\n\t"tp_x":0,\n\t"tp_y":0,\n\t"ir_btn":14,\n\t"cpp_x":14,\n\t"cpp_y":14\n}\n'
You can then use an application to parse it, to make it more readable like so:
{ "btn":268435456, "cp_x":134, "cp_y":-68, "tp_x":0, "tp_y":0, "ir_btn":14, "cpp_x":14, "cpp_y":14 }
Viewing the Output
In order to view the output, please use 3SharpView.
Changing Sending Frequency
The main thread of the module is also reading inputs. If you wish to exit, you can press SEL+START
to close the application and destroy anything created by it. The following will change the send rate of the inputs:
SEL+X
- 140 per second.SEL+Y
- 60 per second (Default).SEL+A
- 10 per second.SEL+B
- 1 per second.
Media
3Input and 3SharpView Example (PhlexPlexico)
Known issues
Please see https://github.com/PhlexPlexico/3input/issues.
Changelog
v0.1 2020/09/10
- First release.