• Stars
    star
    351
  • Rank 116,926 (Top 3 %)
  • Language
    C#
  • Created almost 8 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Creates up to 4 virtual xbox 360 controllers and feeds them via one or more keyboards.

Support me on Patreon

Click here to become a patron and get your reward!

djlastnight's Gaming Keyboard Splitter

Github All Releases
By default Windows OS does not distinguish between the connected keyboards. They act as the same device.

The current solution creates up to 4 virtual xbox 360 controllers and feeds them via one or more keyboards (up to 10). The goal is to play any game that supports xbox controllers with different keyboards instead of just one. Any application, which works with such controllers should be supported too.

Video

video

Main Features:

  • keyboards input monitor
  • virtual xbox 360 controllers tester
  • customizable mapping presets
  • managing xbox custom functions
  • keyboard detector
  • key detector
  • realtime usb detection
  • keyboard input blocker
  • remote blocking/unblocking the keyboards input

Prerequisites

Scp virtual bus version mismatch

If you get 'Slot is invalidated' error, you probably you have different SCP Bus installed.
It must be 22.52.24.182. In case it differs (no matter newer or older):
Go to device manager and under system devices find it and uninstall it.
image

Reboot, run KS - it should offer you to install drivers, do it and reboot again.
If this does not fix your problem open a new issue or find existing one.

Installation:

Run the application, it will ask you to install the built-in drivers. Do it and reboot your PC. Please read the FAQ section located in application's Help menu.

Keyboard Ghosting

Keyboard splitter can not really help in case you own a cheap keyboard, so you have 2 options:

  1. Buy an anti-ghosting keyboard
    or
  2. Change the preset bindings. Try which keys might be pressed simultaneously here: https://drakeirving.github.io/MultiKeyDisplay/
    Please do not report issues like %some key% + %other key% does not register ingame!
    Choose your preset bindings wisely to avoid ghosting!
    The default preset has known ghosting - you can't use both sticks (LS and RS) at their lower left positions (x min + y min) simultaneously.
    This is because on cheap keyboard you can not use LeftArrow + DownArrow + NumPad4 + NumPad2 simultaneously. Try yours from the link above.

Please do use the built-in xbox 360 controller tester (from app file menu 'Controllers' -> 'Test Xinput Controllers') to ensure the preset works as you expect, before running the game.
If you encounter strange controller behavior in-game, please do an anti-ghosting check, described above, before commiting an issue.

Download

https://github.com/djlastnight/KeyboardSplitterXbox/releases

User Interface

The User Interface is very intuitive and does not require technical skills.

alt tag

All keyboard mappings to xbox functions such as buttons, axes, d-pad directions and triggers are fully customizable. This is possible via preconfigured presets. The user could manage (add/edit/delete) different presets for different games/applications/players. The presets are kept in presets.xml, which the application reads on startup and writes on exit. Keyboard Splitter comes with two hardcoded presets called 'default' and 'empty'.

How it works

alt tag

Internal Build Details

The main project is called Keyboard Splitter. All other projects are build into KeyboardSplitter\Lib folder. The main project loads both managed and unmanaged assemblies. The managed ones are directly loaded into memory. The unmanaged ones are first extracted to user's temp folder and then loaded, using LoadLibrary method from kernel32.dll via PInvoke. This produces a single fully portable executable file (*.exe).

Drivers

Keyboard Splitter required drivers (interception and xbox bus) are embedded into the exe file and the user will be prompted to install them on first run. The user must install Xbox Accessories Driver separately.
You might want to try out my Interception GUI Uninstaller in case you recently updated your W10.

Credits (original author's projects)

https://github.com/oblitum/Interception

https://github.com/jasonpang/Interceptor

https://github.com/nefarius/ScpVBus

https://github.com/shauleiz/vXboxInterface

djlastnight, 2017