All Projects → juharris → Switch Remoteplay

juharris / Switch Remoteplay

Licence: mit
NOT AN OFFICIAL NINTENDO PRODUCT - Control your Switch remotely (no hacking required)

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Switch Remoteplay

Joycontrol
Emulate Nintendo Switch Controllers over Bluetooth
Stars: ✭ 667 (+292.35%)
Mutual labels:  nintendo-switch, bluetooth
joycon-rs
Joy-Con library for Rust 🦀 🎮
Stars: ✭ 104 (-38.82%)
Mutual labels:  bluetooth, nintendo-switch
Keymapper
📱 An Android app that maps any keys to actions.
Stars: ✭ 207 (+21.76%)
Mutual labels:  nintendo-switch, bluetooth
BetterJoyForDolphin
Allows the Nintendo Switch Pro Controller and Joycons to be used with the Dolphin Emulator
Stars: ✭ 44 (-74.12%)
Mutual labels:  bluetooth, nintendo-switch
joycon
Device access library for Joycon(Nintendo Switch)
Stars: ✭ 59 (-65.29%)
Mutual labels:  bluetooth, nintendo-switch
nxbt
Control your Nintendo Switch through a website, terminal, or macro.
Stars: ✭ 340 (+100%)
Mutual labels:  bluetooth, nintendo-switch
joyconpi
An attempt at emulating a Nintendo Switch Joy-Con controller with a Raspberry Pi
Stars: ✭ 24 (-85.88%)
Mutual labels:  bluetooth, nintendo-switch
switch joy con as mouse for macos
Tool to use Nintendo Switch Joy-Con as a mouse for macOS
Stars: ✭ 19 (-88.82%)
Mutual labels:  bluetooth, nintendo-switch
Betterjoy
Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput
Stars: ✭ 1,352 (+695.29%)
Mutual labels:  nintendo-switch, bluetooth
Berkanansdk
Bluetooth mesh messaging SDK for apps
Stars: ✭ 150 (-11.76%)
Mutual labels:  bluetooth
Nstool
General purpose read/extract tool for Nintendo Switch file formats.
Stars: ✭ 159 (-6.47%)
Mutual labels:  nintendo-switch
Goldleaf
🍂 Multipurpose homebrew tool for Nintendo Switch
Stars: ✭ 2,026 (+1091.76%)
Mutual labels:  nintendo-switch
Gymnasticon
Make obsolete and/or proprietary exercise bikes work with popular cycling training apps like Zwift, TrainerRoad, Rouvy and more.
Stars: ✭ 155 (-8.82%)
Mutual labels:  bluetooth
Bluetonium
Bluetooth mapping in Swift
Stars: ✭ 159 (-6.47%)
Mutual labels:  bluetooth
Bluetoothlinux
Pure Swift Linux Bluetooth Stack
Stars: ✭ 149 (-12.35%)
Mutual labels:  bluetooth
Hm10 Bluetoothserial Ios
An iOS 10 app to communicate with a HM10 Bluetooth module
Stars: ✭ 165 (-2.94%)
Mutual labels:  bluetooth
Ghidra Switch Loader
Nintendo Switch loader for Ghidra
Stars: ✭ 146 (-14.12%)
Mutual labels:  nintendo-switch
Node Bluetooth
🔷😬Bluetooth serial port communication for Node.js
Stars: ✭ 145 (-14.71%)
Mutual labels:  bluetooth
Bluetoothkit
Easily communicate between iOS/OSX devices using BLE
Stars: ✭ 2,027 (+1092.35%)
Mutual labels:  bluetooth
Airpodsbattery Monitor For Mac
Simple Widget to display your AirPods battery levels from the Mac Status bar
Stars: ✭ 165 (-2.94%)
Mutual labels:  bluetooth

NOT OFFICIALLY SUPPORTED OR INVOLVED WITH NINTENDO IN ANY WAY

This is an independent project.

Switch Remote Play

Tests Server Client

The goal of this project is to support easily playing your Nintendo Switch remotely or locally via another device with a keyboard/mouse/controller/touchscreen. No hacking of your Switch is required.

Setup:

You <===> Website <=====> Server <--Bluetooth--> Switch
            ^                                      |
            |                            video capture via HDMI
            |                                      |
            |                                      v
            '------------------------------ Streaming Server

Example video of someone playing my Switch from another city.

Example video of me using an Xbox controller (that does not have Bluetooth) to play my Switch.

Example video of recording and running a macro.

For more videos, check out this playlist.

Status

One keyboard layout, gaming controller layout, using you mouse, or touchscreen is supported to map input to the control sticks and the buttons on a Nintendo Switch controller. I've mainly tested this with Animal Crossing and Mixer - FTL low latency streaming.

Macros

You can record and run macros! You do not need your Switch's video going through your PC to record and run macros. Just setting up the server (Linux device with Bluetooth) to send commands via Bluetooth to your nearby Switch is enough. Then you can record, modify, manage, and play your macros from a PC or even your phone.

See the supported commands here.

Requirements

The host (person setting this up) needs:

  • A Nintendo Switch
  • A Linux machine to host the service and connect via Bluetooth to the Switch (tested with a Raspberry Pi 4B) (a Linux machine is required by the code that actually connects to the Switch via Bluetooth: joycontrol). See the server page to learn how to set this up.
  • (optional) A video capture card to see the video (or just have bad quality and lag by pointing your camera at your Switch and use a video chat app)

The client (your friend) needs:

  • A web browser to open the client and send commands
    • You can use the already hosted client but you may have to enable mixed content for that site in your browser's settings if the server your friend is hosting to connect to their Switch does not use SSL (a link that starts with https).
  • A keyboard or gaming controller is recommended or just use your mouse/touchscreen for simple stuff
  • (optional) See this folder if you want to customize or run your own client

Plans

  • Support custom key bindings.
  • Improve macro support: exporting/importing.
  • Default layout options for common controllers.
  • Default key binding options for keyboard/mouse for certain games.
  • Loadable and exportable key binding configurations.
  • Support different streaming services (Mixer - FTL with low latency is supported).
  • See enhancements and help wanted

Looking for Help

I'm looking for help with implementing the above plans. Some more specific things:

  • Add security options to the service: auth, allowed origins, disabling buttons like Home and screen capture, limiting the number of clients connected.
  • Getting the service to run on Windows (hard since the libraries I'm relying on require Linux)
  • Improve macro support: a nicer editor
  • Improving the client UX
  • Mapping controller, keyboards, and mice for game specific controls (once custom bindings are supported)
  • Phone apps to talk to the Switch and host the service instead of the a Linux machine.

Acknowledgements

A very special thank you to joycontrol for the very conveninent and full API and the acknowledgements there as well for so much of the great research into how to communicate with the Switch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].