Coder Social home page Coder Social logo

xd-input's Introduction

XD-Input

Created by Nicholas Stephen. Based on work by Scarlet.Crush.

Contents (use find with the <?> bit):

  1. <0>LINKS
  2. <1>INSTALLATION
  3. <2>OPERATION
  4. <3>CONFIG
  5. <4>SUPPORT

<0>LINKS

My site: www.nickstephen.com This project page: www.nickstephen.com/software/xdinput/ Contact me: www.nickstephen.com/contact.php Source code: GitHub

<1>INSTALLATION:

Scarlet.Crush's Driver Package is required for XD-Input to work. This can be obtained from here. VC 2013 x86 Redistributable is also required. XD-Input itself does not require installation.

<2>OPERATION:

  1. Plug in your USB controller.
  2. Start XD-Input.
  3. Go through the list of Human Interface Devices (HIDs) by pressing 'n' or 'y' to check which is your controller.
  4. By default, XD-Input will then automatically go into translation mode. Converting your controller's inputs into the virtual device's inputs. Press CTRL + HOME to re-read button mappings from keys.config (see below). Press CTRL + END to stop translation and quit the program.

If there are a list of processes in the PROC_LIST setting (see below) then this will happen: 4. XD-Input will wait until one of the processes listed in PROC_LIST starts up. Pressing CTRL + SHIFT + END stops waiting and exits. 5. When a process has been detected as starting, XD-Input reads in the button mappings for that process from (ExampleProcess.exe.config) and starts translating. 6. When the process has been detected as ending, XD-Input will quit translation.

If option QUIT_ON_GAME_CLOSE is true: 7. XD-Input will then exit.

Otherwise: 7. XD-Input will go back to step 4.

<3>CONFIG

Configuration of XD-Input happens through the *.config files in the program's working directory (i.e. where it is). So any file in there that ends in .config can be edited. They're all just plain-text files, so don't worry about encoding or whatever. The formats are as follows:

settings.config:

FAVDEV_VENDORID=121 FAVDEV_PRODUCTID=6 PROCESS_LIST=DarkSoulsII.exe; QUIT_ON_GAME_CLOSE=TRUE

FAVDEV_VENDORID is the vendor ID of the saved favourite device (i.e. your controller). Same for product ID. PROCESS_LIST is a semi-colon delimited list of process names (including file extensions) for the program to wait for and hook up with (platonically). If you want XD-Input to just continue translating your controller without respect to individual game processes, just remove the process names and the semi-colon. QUIT_ON_GAME_CLOSE chooses whether the quit the program when the game process ends. If there is no process list, this setting has no effect.

keys.config, *.exe.config:

BUTTON_Y=BUTTON_A BUTTON_B=BUTTON_B BUTTON_A=BUTTON_X BUTTON_X=BUTTON_Y BUTTON_LB=BUTTON_LB BUTTON_RB=BUTTON_RB BUTTON_LT=BUTTON_LT BUTTON_RT=BUTTON_RT BUTTON_BACK=BUTTON_BACK BUTTON_START=BUTTON_START BUTTON_LS=BUTTON_LS BUTTON_RS=BUTTON_RS

This is the list of supported buttons on the controller using the XBox 360 button nomenclature. Just change the position of the buttons on the right hand side to change the button mappings from your controller. Having buttons that map to multiple other buttons is undefined, so I suggest not doing that. The keys.config file is the generic button mapping. This is used when not using a process list. When using process lists, the config files get generated for each process, so that file is named Process.exe.config.

<4>LINKS

If there are any problems/questions/suggestions hit me up at my contact page but have a go at reading the online guide first.

Cheerio!

xd-input's People

Contributors

saltisgood avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.