uberhalit / CitraTouchControl

A touch overlay for Citra
6 stars 0 forks source link
3ds citra emulator overlay touch

CitraTouchControl

CitraTouchControl offers a multi touch able onscreen overlay for the Nintendo 3DS Emulator Citra.

This is useful for remote play sessions with Citra from a mobile device or if you just do not want to sit in front of your PC to play.

It will auto adjust to match Citra position and size, onscreen controls' keys can be modified and touch/controls can be toggled on and off.

It further features "savegame/bookmark replacement"; a very basic savestate system. Only useful in games which allow you to create bookmarks like Fire Emblem. Create a bookmark, save it via CitraTouchControl, overwrite it and load it back in the case you screw up later.

#c5f015 See it in Action CitraTouchControl

Requirements

Usage

  1. Start Citra and load up your game.
  2. Connect to your host-PC via the Remote Desktop app on your mobile device.
  3. Start CitraTouchControl via remote control, lower KeyPress duration according to your network delay.
  4. Enjoy playing 3DS games on your tablet/phone.

Configuration

  1. Enable RDP on your host PC
    • Make sure services "TermService" and "SessionEnv" are running and restart your PC if you encounter any problems
    • Some Antivirus solutions like Kaspersky may interfere even with local RD sessions
  2. Optimize RDP data usage via the Group Policy Editor
    1. Start -> Run -> "gpedit.msc"
    2. Navigate to "Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment"
    3. Set the following entries:
      • "Limit maximum color depth": Enabled, 24bit
      • "Enforce Removal of Remote Desktop wallpaper": Enabled
      • "Configure H.264/AVC hardware encoding for Remote Desktop connections": Enabled, Always attempt (most important)
      • "Configure compression for RemoteFX data": Enabled, Optimized to use less network bandwidth
      • "Configure Image Quality For RemoteFx Adaptive Graphics": Enabled, Medium
      • "Configure RemoteFX Adaptive Graphics": Enabled, Optimize for minimal bandwidth usage
  3. Start Citra and CitraTouchControl, press the menu button on CitraTouchControl (bottom one) to bring up the configuration menu
    1. Press "Configure Keys" to bring up the next window and set all your controls there
    2. Lower KeyPress delay according to your network delay
  4. Install Microsoft Remote Desktop Beta on your mobile device
  5. Start it and add a new Desktop connection to your host PC
    1. Insert the local IP and Windows credentials of your host PC
    2. Enable "Custom display resolution" and set it to the lowest one available (100% scaling)
    3. If you want sound, then set Sound to "Play sound on device" (this will require additional bandwidth)
    4. On the first connection press the menu button of the app (the one in the top bar with the 3 lines) and enable Touch in the fly-in-window on the right

Microsoft Remote Desktop Beta Microsoft Remote Desktop Beta - Menu

Options

Tested Remote Desktop Apps

Platform App Working Information
Android Microsoft Remote Desktop Beta Yes
Android TeamViewer Yes annoying swipe gestures, needs portrait (90° rotation) and resolution set on host-pc, distorted sound
Android AccessToGo RDP/Remote Desktop Yes buggy, annoying touch-feedback, no network level auth
Android Microsoft Remote Desktop no no portrait mode
Android RDP Remote Desktop aFreeRDP no no (multi-)touch
Android RDP Remote Desktop Connection no no (multi-)touch
Android aRDP Pro: Secure RDP Client no no (multi-)touch
Android Jump Desktop (RDP & VNC) no no (multi-)touch
Android Remote Desktop Manager no no (multi-)touch
Android GoToMyPC (Remote Desktop) no no (multi-)touch, no scaling
Android Parallels Client (legacy) no no (multi-)touch, no scaling
Android Moonlight Game Streaming (root) no no (multi-)touch, no portrait mode, no scaling
Android Remotix VNC RDP Remote Desktop no no (multi-)touch, slow
Android Splashtop 2 Remote Desktop no slow, no portrait mode
Android NoMachine no slow, no portrait mode
Android Remote Desktop Client no very slow

Contributing

If you find any Remote Desktop App which is fast enough for this kind of usage and supports portrait mode (also applies for other platforms like iOS or Windows Phone) then please let me know. Either send me a mail or create an issue here.

Limitations