SkillAgentSearch skills...

Ds2vJoy

Do everything you ever dreamed of with a joystick, gamepad or two at once. DualShock™ and DualSense™, DirectInput, XInput, keyboard and mouse, to DirectOutput(vJoy), XOutput(ViGEm), keyboard and mouse, with full remapping and features for Windows 64 bits.

Install / Use

/learn @00fox/Ds2vJoy

README

Please consider supporting the project by clicking Github Sponsorship

  • Influence future choices
  • Or propose your own and give them importance
  • You will find a list of pending requests in the issues, take a look...

Thanks

Opened Issues, please report bugs, problems (ot issues@00fox.com)

Ds2vJoy

DualShock™ and DualSense™, DirectInput or XInput to DirectOutput or XOutput for Windows 64 bits

You can combine one or more of these options, no one is required:

  • DualShock™ and DualSense™, DirectInput or XInput as source
    • Mixing of two different DirectInput sources allowed
    • Bluetooth compatible
    • A lot of buttons added (individual axes, L1R1 the same time etc)
  • Keyboard and mouse as source and destination
  • DirectOutput (via vJoy) as source and destination
    • Build-in vJoy installation and configuration
  • XOutput (playstation or xbox XInput emulation via viGEm, Build-in installation) as destination
  • Guardian (via HidGuardian & HidCerberus, Build-in installations) to let the game only see the needed destination

Program is portable, build-in installations are driver only, no more stuff is installed

Content:

  • Practical Sisaxis intregration for DualShock™ and DualSense™
  • Combinations, Modes (known as shifted), Macros, and Time based operations allowed
  • All logical arithmetic, you can register multiple operations executed in order, one line, one full mapping
    • multiple sources to activate one is possible, with and, or, xor and not
    • triggers added like if mouse activated, onRelease, disabled, even if disabled...
  • Several logical operations, like Toggle, Switch, Transitivity, Sustain, Pause
  • Control complex mouse operations, Sniper, Navigate in a grid when needed...
  • Control axis movements, 170 different movements can be done, fused, protected (OverControl)
  • Special actions, mouse, sound, modes, windows, stats, time
  • Modules actions, Web and Notepad
    • Microsoft Edge WebView2 for internet, local files, with automation, stay overgame
    • Simple notepad, rapid access, autosave
    • They can stay over your desktop or game, borders disappear automatically when mouseout
  • Import/Export, the share your .ds2 templates files easily without altering whole program
  • Multiple efficiency, like docking, insight, transparency, automatic full height, minimize & restore

How to use

  1. Launch Ds2vJoy.exe, no installation is required

    • an .ini file will be created, to save parameters, with some examples already filled
  2. If first time install drivers you need, vJoy, ViGem, Guardian under XOutput & Guardian Tabs

    • real quick, drivers only, you can remove them after use if you wish
  3. Connect your DS4/DS5 or any other Joystick, or two via USB or Bluetooth

    • or simply skip to use only keyboard and mouse
  4. Choose your sources under Settings Tab

  5. Configure as you wish (you have 3 profiles accessible by the system tray)

  • It is okay to connect DS4 after starting the game. VJoy and ViGEm are always visible in the game
  • When you change a setting, Ds2vJoy.ini is automatically and instantly saved
  • Ds2vJoy is portable, you can use multiple copy in different directories with different parameters
  • Included Installation for vJoy, ViGEm, HidGuardian and HidCerberus use subdirectories of C:\Program Files\Ds2vJoy
    • removed as soon as you chose to uninstall them from Ds2vJoy menu tabs,
    • the same for C:\Program Files\Ds2vJoy itself when no required anymore.

Log

Log

Satus is separated in 4 colums which are:

  • Battery
    • USB usb or BT bluetooth or Active with unsuported DirectInput mode
      • while on charge
    • Low batt alert when 0 (between 0% and up to 15% depending on the joystick and the circumstances)
  • Delay
    • an Asterisk near time unit, indicate that Magnification is active
  • Diverse informations, change with the module page:
    • Log: Date Time UTC Day Week
    • Settings: Show color under cursor
    • Mappings: You can see which button is pressed
    • RapidFire: Source button if one is in use
    • ViGEm: Remapped buttons actually activated
    • Keymap: Source button if one is launched
    • Guardian: PIDs allowed to see hidden joysticks
    • Links: Version of Ds2vJoy
  • Mode (1-8), Stance(1-4), and Profile (1-3)
    • Stance 1 is Back
    • Stance 2 is Leaned
    • Stance 3 is Leaned+Sat
    • Stance 4 is Sat
    • Stance 5 is Leaning

Settings

Settings

  • Emergency with escape: if something goes wrong, stay pushed on ESC for more than two seconds, and program will stop to interprete and doing actions as long you push it

  • Choose between preferred Sony® joypad, DirectInput or XInput, vJoy device in use

  • Choose if you want keyboard, mouse or both as source (use more ressources)

  • 'Shutdown vJoy' will disable vJoy driver aftre exiting, it will be reactivated next time or open the program, if you intend to use it, after choosing it in the XOutput tab

  • Usual Configurations

    • Mouse bypass screen dimensions is when you activate mouse to be used with in mappings and move it, mouse can bypass principal screen limits, be on a second monitor etc., or not, and stay inside
    • There is special actions to inverse temporary this choice if you let it unchecked
  • Triggers mode (only works with DS5)

    • May be used only for touch pleasure
    • But in conjunction with L2, L2LOW, L2HIGH, L2FULL (same for R2),
    • you may use distinctly 2 or 3 separate actions on the same trigger
  • You can specify a serial if you have multiple DS connected

    • or/and several copies of Ds2vJoy running
  • You can specify (reload list and clear) one or two DirectInput Device to use in a single template, if none, prefered joystick will be use

    • second source will be activated only if first source has been chosen, then you can combine two or separated joysticks in one to us ewith the program
    • the template can be edited by clicking on 'Di Device'
    • even if you need only one pad as soure, it help to use special features calculated for DS5, like two buttons simultaneously
    • to do that the program need to know which ones of your pad are which ones of DS5
    • You can save multiple templates, and laod them between modes, and each mode use his own template, so you take adventage of both systems
  • You can fix threshold of sticks, and set times more accurate to your senses

    • threshold value for axis accept a number between 0 and 128, default 8
    • values of the axis are proportional to the threshold, so the grip remains soft rather than starting abruptly, even with high threshold values
    • Simultaneous is R1L1 or R2L2 the same time (with this 40ms as default delta)
  • You can set the opacity percent while transparency is activated (right click on caption bar)

  • Multiple touchpad divide in multiple buttons,

    • But for more simple uses, there is a lot of special buttons (see Mapping)
  • Led is calm wave fluctuating, you can modify the frequency, and color can be stopped on exit

Mapping

Mapping

Each line correspond to a different mapping

Mappings are treated in order,

  • Then you can decide for complex actions or shifts with or without the need of modes (shifted)
  • For example you can use L1, and even L1R1 or more complex situations
  • to determine which action square button will launch

Each tab corresponds to a drawer, in which you can organize the different mappings

  • Each of these tabs are by default, like the first one, set to 'Always', but just show their numbers.
  • 'Always' means that all mappings, if they are checked, will always work, just, the tabs are processed in the order of appearance
  • But you can assign a mode for each of these tabs, which allows you to say that the mappings they contain will only be active in this mode
  • For this, just right click on the tab
  • The tabs left in the 'Always' position will remain active even if you are in another mode than the starting one (1) (see Special mouse actions to know how)
  • The first tab is neutral and cannot be assigned to another mode, the others (1-8) all can. There is no order to follow, and two tabs can share the same mode. On the other hand, the order of processing is also the order of the tabs

There is a dual view mode, where you can clone a tab

  • For example to compare, move
  • Or simply fill ViGEm with the values of mapping in front of you
  • The second window will stay opened in extended view (see Efficiency) for this purpose. You still can close it manually
  • Otherwise, automatically hidden, outside extended mode, if you change tabs
  • You get it back if you change again for Mapping Tab, until you manually close it

Mapping

By right-clicking on elements of the list, you can:

  • Order, add, delete, disable, copy or edit (double click or right click menu) your mappings easily
  • Or Move them to another tab (0-8, 0 is the first, always seen as 'Always')

Two different views exist (will be modified in futur to see both the same time inside a larger window)

  • Each source, destination, tags
  • Each source, notice
  • Swap between them by right clicking on the list and choosing 'Swap view' in the menu that will pop

Edit, delete, disable, copy and move actions can process multiple mappings the same time

  • You can for example copy Square/Triangle/Circle/Cross bloc, move the copies in another mode and after alter their actions individually
  • When editing, editor is a blank one, and only touched values will be repercuted to the selection you've made before. You don't need to enter a valid DS/vJoy button

When copy only one, it is added just after the source of the copy, if multiple ones are processed, they are all added at the end of the Tab

Add, move a sepator, for clarity or organization, at the end or specified location

  • Cant't be edited, and does not interfere with the operation

Mapping

Source Button:

  • First column is the principal source (see it pa

Related Skills

View on GitHub
GitHub Stars25
CategoryDevelopment
Updated1mo ago
Forks2

Languages

C++

Security Score

95/100

Audited on Feb 19, 2026

No findings