Close

Page 1 of 13 12311 ... LastLast
Results 1 to 10 of 127
  1. #1
    Advanced user epigramx's Avatar
    Join Date
    13.09.2017
    Posts
    143

    WiimoteHook: Nintendo Wii Remote with Motion, Rumble and Nunchuk support



    WiimoteHook is software for the Nintendo Wii Remote that has native support for MotionPlus-based motion, the Nunchuk, Rumble, and XInput output. It can be used in a standalone fashion as an XInput(or DS4) emulation layer but when combined with Cemuhook it provides 6-axes based motion on Cemu games from gyroscope and accelerometer data.

    When driving a vanilla Wii Remote without MotionPlus hardware, the software retains basic 3-axes motion via Accelerometer data, which can be useful on games that use it as a "Wii Wheel", like Mario Kart 8.

    Various additional options are provided by the software like multiple and custom orientations, XInput and DS4 hardware emulation, Rumble custom settings, Rebinding of keys, and more.



    How to use it / Requirements:

    Step 1: Get the latest WiimoteHook zip from the end of this post and extract the full folder to a location including its subfolders. To extract the folder if you don't have a third-party tool for the job, just right click the .zip and select "Extract All.." or copy & paste the folder to another location after you open the .zip with explorer.

    Step 2: Install the emulated gamepads driver included in the WiimoteHook folder by running InstallEmulatedGamepadsDriver(run as admin).bat (right click->run as admin). This is not strictly required but it allows WiimoteHook to produce the Rumble effect and a convenient XInput device for Cemu's Input menu. The feature called "Also use for buttons/axes" of Cemuhook is also supported alternatively. Win 7 machines also need for the XInput feature(ignore these URLs for Win8, 8.1 or 10): the xbox360 driver, and this security update. An alternative manual method to install that driver is posted here (on Win10, this method might require Anniversary Update or newer).

    Step 3: Optionally, configure the application by editing WiimoteHook.exe.config (or leave it at the defaults for testing). Various niche options not described in this thread are in it.

    Step 4: Run WiimoteHook.exe to automatically pair with or connect to a Wiimote, deal with its incoming data and launch the motion server and xinput output. Let it run in the background. In case it is required, a .NET 4.5.2 installation link is included in the zip. When WiimoteHook first runs, and provided the controller is properly paired and connected to windows, the Wiimote should be detected by the application (next pic).



    Note: When WiimoteHook first runs and if it doesn't detect a connection it will offer to automatically pair the Wiimote with Windows by pressing "B" and then pressing the red button on the Wiimote (next pic). This needs standard Bluetooth support (DolphinBar also works if set to mode 4). If that process fails (possibly because of an unsupported bluetooth stack) you can manually pair the device with standard windows tools. In order to manually pair the device on Windows 10 and avoid the PIN question you might need to “Add” it as a device in “Devices and Printers” and click Next when asked for a Pin, without entering a pin. While Windows 7 or older installations can pair with the new Remote Plus devices, they require the Toshiba bluetooth stack to properly communicate with them.



    Step 5: Test motion with PadTest found here (next pic). To do that use the Port set for WiimoteHook (26760 by default), click “Start”, then double-click a detected controller . To test Rumble and XInput support run XInputTest found here. If you had used another motion server in the past that had a custom remote IP in cemuhook's ini you will need to either edit that setting or remove it.



    Note 1: The Orientation for motion can be changed by pressing "O"/"M" or permanently in the .config. Preset orientations include Aiming (default), WiiWheel, Upright, Classic and there's also Manual which depends on the .config. To similarly change the orientation of the D-pad buttons press "D" or edit the default in the .config.

    Note 2: MotionPlus hardware is autocalibrated a few seconds after launch and also manually with "C". The Remote should be on a standstill during calibration. Also a motion client (Cemu or Padtest) expects the remote to be physically at the orientation preferred when they start (pressing "A" on the Remote itself resets the view on Padtest).

    Step 6: Have Cemuhook in Cemu.exe’s directory. Use the latest version from here. This step is not strictly required for all features, but it allows Cemu to receive motion data and non-XInput button data.

    Step 7: Launch Cemu.exe, select a motion source now detected in the Options->Gamepad motion source menu (next pic). If you elect to not use XInput's binds, you can select “Also use for buttons/axes” (you can reconfigure buttons for that feature in the .config).



    Step 8: Choose GamePad as controller type, and also select "Controller #" under XInput and set up the buttons (or leave them be if you use the "Also use for buttons/axes" feature).


    Step 9: Load a game

    Caveats/Notes:

    1) Bluetooth pairing can be ..an adventure on Windows. WiimoteHook now has a built-in pairing method but if that fails (possibly because of an unsupported bluetooth stack) you can try standard windows tools for pairing and in some cases physically reconnecting an adapter, rebooting or removing a pairing might help. While Windows 7 or older installations can pair with the new Remote Plus devices, they require the Toshiba bluetooth stack to properly communicate with them.

    2) The default orientation settings for motion and dpad buttons are for "Aiming" style. They are fully configurable with the "O"/"D" keys or permanently with the .config

    3) DolphinBar works if set to mode 4

    Known bugs or limitations:

    1. Multiple Wiimotes are supported but the feature is partly untested and motion only works on the first Cemu GamePad (it's a Cemu and Cemuhook limitation) and .config should be set to allow more than 1 (the default is a DolphinBar workaround)

    2. Games that require an emulated Wiimote to be selected from the input options of Cemu to even load properly, require that feature to be implemented on Cemu first.

    3. The static MotionPlus calibration data are not fully reverse engineered so if you get odd behavior (e.g. inverted axes) please report it along with the device type.

    Changelog:

    up to 20180119/174337/alpha:
    The discrete MotionPlus extension should now work properly at Nunchuk passthrough mode.
    Attempt to support MotionPlus on 0x0306 ID devices better
    Attempt to support multiple remotes on the DolphinBar better
    Solution related to MAC address being returned from the Wiimote but in an invalid format
    Possible fix related to crashes when pressing "M" or "O" at start

    up to 20180102/104352/alpha:
    Emulated analog stick with MotionPlus data (disabled by default, optional setting in the .config)
    The true cause of the recent crashes has been identified and fixed

    up to 20171201/114212/alpha:
    MotionPlus Support
    The new Remote Plus devices no longer require the Toshiba stack

    The Analog Stick of some Nunchuks now works again

    up to 20171120/064127/alpha:
    Better DS4 emulation support (with it, rumble works on software/games that directly support a DS4, use the XInput device for rumble on Cemu. The DS4 device is disabled by default; it can be enabled in the .config)
    The Analog Stick of the Nunchuk is now correctly calibrated
    Automatic pairing of Wiimotes
    Better multi-Wiimote support (motion only works on the first Cemu GamePad (it's a Cemu and Cemuhook limitation) and .config should be set to allow more than 1(DolphinBar workaround)
    Nunchuk support (and Hot-plugging Extension support)
    Rumble max time bug fixed and its defaults changed
    Native XInput support
    Rumble code (PWM)
    Very, very wacky Analog Stick emulation with IR camera. Disabled by default. Don't enable unless you have a special use.
    Catching a few more common exceptions; the restriction to 1 Wiimote (mainly for DolphinBar) is now a config option
    Users with the untested 0x0330 ID are now asked for feedback
    DolphinBar should now work properly on Mode 4. Thanks to Bleed.0xx for testing. Mode 4 erroneously reports 4 remote devices but only the first works.
    The software reports the device ID when it starts. Please let me know if a 0x0330 Remote works properly (they are the newest ones)
    First attempt to support the latest version of Remote Plus (probably incomplete)
    Better text output
    All configuration options have default values now so if a .config file is not used the program is still usable
    Build time versioning

    0.1alpha:
    Initial release - "Wii Wheel for Mario Kart 8 edition":
    Basic accelerometer and buttons support.
    Mainly useful for Mario Kart 8

    Latest release: WiimoteHook_20180119_174337_alpha
    Last edited by epigramx; 19.01.2018 at 18:46.

  2. #2
    Advanced user epigramx's Avatar
    Join Date
    13.09.2017
    Posts
    143
    On the very latest update an attempt has been made to support the latest version of the Remote Plus (different to the original Wii Controller the software supported at first) by detecting the correct device ID, however I've heard reports that that method alone is not enough for all the features and I do not own that type of device to test it/debug it. Nevertheless it'd be interesting to see if anyone finds that feature useful.

    I've also silently updated it yesterday (only edited the main post) in order to make the software able to run with default key settings properly if one manages to run it without a .config at all; plus some other minor updates have been made not worth bumping about.
    Last edited by epigramx; 20.10.2017 at 03:58.

  3. #3
    Advanced user epigramx's Avatar
    Join Date
    13.09.2017
    Posts
    143
    20171020/183949/alpha:
    DolphinBar should now work properly on Mode 4. Thanks to Bleed.0xx for testing. Mode 4 erroneously reports 4 remote devices but only the first works.
    The software reports the device ID when it starts. Please let me know if a 0x0330 Remote works properly (they are the newest ones)

    addendum: re-uploaded to fix a bug that could under certain conditions interpret motion as a DS4 and not as a DS3 erroneously (for now).

    addendum 2: it would sometimes fail to connect on the first launch of the application; it now restarts its setup to avoid the annoyance.
    Last edited by epigramx; 21.10.2017 at 03:46.

  4. #4
    New user
    Join Date
    21.10.2017
    Posts
    14

    shaking maneuver in Mario Kart 8

    Hi, when I play with Wiimote at Mario KArt 8 and I try to do figure by shaking the wiimote while in mid-air, it doesn't work, does it need to change anything or isn't possible right now and do you know if it will ever be possible ? Thanks

  5. #5
    Advanced user epigramx's Avatar
    Join Date
    13.09.2017
    Posts
    143
    Quote Originally Posted by tensho View Post
    Hi, when I play with Wiimote at Mario KArt 8 and I try to do figure by shaking the wiimote while in mid-air, it doesn't work, does it need to change anything or isn't possible right now and do you know if it will ever be possible ? Thanks
    Flipping seems to work if you shake the Wiimote up, right before being launched onto the air.

  6. #6
    New user
    Join Date
    21.10.2017
    Posts
    14
    I managed to do it but not every time it's very hard

  7. #7
    Advanced user epigramx's Avatar
    Join Date
    13.09.2017
    Posts
    143
    Quote Originally Posted by tensho View Post
    I managed to do it but not every time it's very hard
    The behavior should improve with Motion Plus support which I plan to add.

  8. #8

    DolphinBar Support Not Working

    Quote Originally Posted by epigramx View Post
    The behavior should improve with Motion Plus support which I plan to add.
    with both motion plus and non it will report the controller as 0x0306 and infinitely restartloop, ive tried plugging it in in other spots and restarting both cemu, my pc, and the dolphin bar. it will always loop this as shown here.

    Click image for larger version. 

Name:	Capture2.PNG 
Views:	61 
Size:	17,2 KB 
ID:	153

  9. #9
    Advanced user epigramx's Avatar
    Join Date
    13.09.2017
    Posts
    143
    Quote Originally Posted by slex989 View Post
    with both motion plus and non it will report the controller as 0x0306 and infinitely restartloop, ive tried plugging it in in other spots and restarting both cemu, my pc, and the dolphin bar. it will always loop this as shown here.

    Click image for larger version. 

Name:	Capture2.PNG 
Views:	61 
Size:	17,2 KB 
ID:	153
    Is it same on the latest version?

  10. #10
    Quote Originally Posted by epigramx View Post
    Is it same on the latest version?
    yup. only version i tested.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •