Skip to content

unitycoder/AndroidSteering

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Steering Wheel

Use your Android phone as a steering wheel for Windows PC racing games
Also a potential Xbox controller emulator


Requirements

  • Android mobile phone with bluetooth (or Wifi)
  • Windows PC with bluetooth (or Wifi Hotspot)
  • If bluetooth, phone and PC should be paired once
  • If Wifi, phone should connect to PC's mobile hotspot
  • vJoy driver installed on PC

How to Use

  • vJoy Driver

    1. Make sure no physical controller is attached
    2. Download vJoySetup.exe from vJoy sourceforge and install (Recommended to check all 4 programs)
    3. Make sure no other program is capturing controller (e.g. Steam)
    4. Launch Configure vJoy and configure the device as following:
      vjoy configuration
  • Android App

    1. After installing apk on Android phone, tap upper left corner to see all options
    2. Connection modes:
      1. Bluetooth requires the phone to enable bluetooth and has already paired with target PC at least once
      2. Wifi requires the phone to connect to the Mobile Hotspot of Windows PC (Or at least in the same local network)
        When connecting, need to enter the same IP address displayed on PC app
        If connection failed, check if Windows PC firewall is blocking the app
    3. Control options:
      1. Default: phone motion controls both acceleration and steering
        Two changing numbers [left indicates horizontal angle (Roll), right indicates vertical angle (Pitch)]
        See Android README for more information
      2. Alternative: phone motion only control steering
        Acceleration is controlled by pressing LT / RT
        Used if default mode is too hard to control
      3. GamePad: no steering is enabled, but has more buttons
        Used to control the rest of a game (such as menu, car view, etc.)
  • Windows App

    1. Install Windows application
    2. Minimizing the app will hide app to system tray (with a notification)
    3. Left textbox contains all essential program notifications
    4. Be sure to check information in textbox that vJoy controller is initialized correctly and valid device is found
    5. To connect to phone:
      1. Select correct connection mode
      2. Tap Connect button
      3. Server will start listening
      4. Tap Listening will stop server
      5. If connected, tap Connected will disconnect device and stop server
    6. Configure button leads to the configuration page
      It is used to configure buttons and stick axis in a game or steam when vJoy controller is not recognized or has wrong settings

For Games

By default, vJoy will use settings of xbox controller, for most modern games. Make sure to tweak in-game steering settings, because most games have been using stabilization algorithms to smooth out the steering axis input. Some may result in a lagging of steering, others may make steering extremely slow or fast.


Releases

Pre-built installers can be found here


Game Play Demos

Game Steering Wheel Settings


Potential Improvements

  • Try other sigmoid-shape functions to improve motion control
    Right now using linear function for both steering & acceleration
  • Learn more about real-time data transmission technologies
    The TCP socket is holding up data instead of sending it immediately, which results in a slightly lagging behavior
  • Find alternatives to vJoy driver which supports more efficient real-time control feeding

Screenshots

Android Side (Dark Mode)

phone1

phone2

phone3

phone4

phone6

Windows Side

pc1

pc2

About

Use your Android phone as steering wheel for Windows games

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 71.0%
  • Java 29.0%