๐Ÿ“ฆ justjake / drc-sim-keyboard

control your Wii U with keyboard, mouse, and Xbox 360 controller

โ˜… 37 stars โ‘‚ 5 forks ๐Ÿ‘ 37 watching
๐Ÿ“ฅ Clone https://github.com/justjake/drc-sim-keyboard.git
HTTPS git clone https://github.com/justjake/drc-sim-keyboard.git
SSH git clone git@github.com:justjake/drc-sim-keyboard.git
CLI gh repo clone justjake/drc-sim-keyboard
Jake Teton-Landis Jake Teton-Landis Revert "modernize declarations in H264Decoder" 60dfa6c 10 years ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ assets
๐Ÿ“ controls
๐Ÿ“ wpa_supplicant
๐Ÿ“„ .gitignore
๐Ÿ“„ app.py
๐Ÿ“„ asset_viewer.py
๐Ÿ“„ drc-sim.py
๐Ÿ“„ H264Decoder.py
๐Ÿ“„ InputData.py
๐Ÿ“„ README.md
๐Ÿ“„ screenshot.png
๐Ÿ“„ services.py
๐Ÿ“„ simulator.py
๐Ÿ“„ util.py
๐Ÿ“„ README.md

DRC Simulator

the controller viewer

Credits

I forked from https://bitbucket.org/memahaxx/drc-sim, which does all the hard DRC simulator work. all credit to the original authors.

@delroth was a huge help with connecting to the Wii U with wpa_supplicant.

@maxb found my gamepad's MAC address for me :).

Goals

keyboard and mouse control for Wii U. Support mouse for "touch" input on the gamepad screen as well while in CAPSLOCK or something.

Connect to the Wii U

  • get an rt2800usb with 5ghz support.
  • follow some of the steps described in this blog post to pair your box with a Wii U.
  • Do the "Preparations" sectio n
  • If you need to prevent NetworkManager from screwing wit yo
shizz, you can stick something like this in /etc/NetworkManager/NetworkManager.conf:

[keyfile]
    unmanaged-devices=mac:<YOUR ADAPTER MAC Addr HERE>

  • Skip the "mac80211 stack" section! That's for libdrc, not drc-sim.
  • Do everything in the "Obtaining the key" step.
  • the two scripts in this repo can be useful with a bit of customization.
  • Once you have obtained the PSK at the end of "obtaining the key",
customize the EXAMPLE-connect-to-the-wiiu.conf with your Wii U's information. You need to fill in:
  • your BSSID
  • your PSK
  • your SSID (possibly)
  • launch wpa_supplicant again using your new connect-to-wiiu.conf. After a
bit you should see wpa_supplicant successfully connect and authenticate.
  • run sudo dhclient $WLAN to get an IP address for your connection from
the Wii U.
  • To make switching between the Gamepad and your computer easier, you can set
your wireless adapter's MAC address to be that of your Gamepad. I highly recommend doing this; reduces frustration with the connection process a lot. Make the edit in wpa_supplicant/start-wpa_supplicant.sh. You can narrow down the list of MAC addresses by scanning only 5ghz and looking for addresses prefixed with 18:2A which both my DRC and Wii U share.

When you're finished, you should see something like this: my hooray tweet

Set up simulator.py

Note that the new simulator has a controller viewer, but doesn't have video streaming yet! Mostly because I'm bad at programming.

  • Read over install-requirements.sh and decide how you want to install
everything. install-requirements.sh was written for Debian Jessie, but should also work just fine on Ubuntu systems.
  • run ./install-requirements.sh
  • set JOYSTICK = true in simulator.py if you've got an Xbox 360 controller. Otherwise you're stuck with just a keyboard and mouse 1. run simulator.py for mouse support. run drc-sim.py for video streaming. ## software ideas I want to have pluggable control schemes for quick reconfiguration. Control` implements functions for all the Wii U's inputs. We'll read the nice
public API and from that produce a packed InputData instance in binary.

Inspiration

My research starting point was this Reddit post

Resources