Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Use GIMX for PS3 Bluetooth in Windows
Note: there is no official support for this. This is just my story of how I accomplished it. Read everything before starting!
Especially read the caveat at the end of this gist because it is important.
From http://gimx.fr
GIMX stands for Game Input MultipleXer or Game Input MatriX. The purpose of this free software is to control a video game
console with a computer (e.g. a PC or a Raspberry Pi). It works with the PS3, the Xbox 360, the PS4 and the Xbox One.
It operates:
¤ over bluetooth: works with GNU/Linux (PS3, PS4) only. A compatible bluetooth dongle is required.
¤ over usb: works with GNU/Linux and Windows (PS3, PS4, 360, XOne). A USB adapter is required.
The application gets data from the peripherals (mice, keyboards and joysticks) and sends controls to the game console
over bluetooth or usb. Other controls such as gesture or voice are possible through the use of external software that
emulate peripherals.
I wanted to use bluetooth but do so with Windows as my base OS. Due to limitations in how Windows interfaces with
Bluetooth and to override this requires writing a device driver which in turn requires the Windows DDK and gets more
complicated to support various Windows versions and BT adapters this functionality currently does not exist and is not
officially supported. It may never be officially supported. Use this method with caution, YMMV and you may not be able
to get assistance if things do not work.
Required items:
* Desktop running Windows (I used Windows 10, most should work though)
* VMWare Workstation Player 12 (Pro should also work but player is free)
* Linux Distro (I used Ubuntu 16.04-2 because I already had the iso)
* GIMX software for linux (we will get that later)
* Compatible BT dongle. See https://gimx.fr/wiki/index.php?title=Bluetooth_dongle
* Real PS3 dualshock or real PS4 controller (if doing PS4 GIMX requires an additional hardware tool to get the key)
Steps:
* Install VMware Workstation on your Windows system.
* Create a new virtual machine and install Ubuntu. The wizard makes this easy. If this is all you are
going to do with it the defaults are fine.
* Shut down the virtual machine after it installs.
* Start VMWare and edit the virtual machine.
** Click 1 time the virtual machine you just created from the library on the left pane
** Clik edit virtual machine settings
** Under the Hardware Tab click USB Controller
** On the right pane DESELECT Share Bluetooth devices with the virtual machine
** Click OK
** If using VMware Workstation Pro you can use the GUI to edit these options, if using Workstation you must edit by hand
** Open File Manager and go to Documents\Virtual Machines\NAME_OF_YOUR_VM replacing Documents with your
locale specific name (and maybe Virtual Machines with a locale specific name) as well as NAME_OF_YOUR_VM
with the name you gave it during creation.
** Open with Notepad (or other text editor) NAME_OF_YOUR_VM.vmx (it will be about 3-4kb large and the type
will be "VMware virtual machine configuration")
** Add to the bottom of that file
*** usb.generic.allowHID = "TRUE"
*** usb.generic.allowLastHID = "TRUE"
** Save the file and exit your editor
* Boot the virtual machine and log in.
* Install GIMX just like normal. Instructions can be found at https://gimx.fr/wiki/index.php?title=Installation#Ubuntu
* Plugin your USB BT dongle if it is not already plugged in
* Now on the VMware window you should see icons for various USB devices.
** Right click and select "Connect (Disconnect from Host)" in this order (order is slightly important)
*** Bluetooth dongle
*** PS/2 Keyboard
*** PS/2 Mouse
*** Note: the keyboard and mouse use the same icon so hover over them to get a tooltip of what they are so you can do the mouse last.
* Start GIMX and pair your controller like normal, set your config and go play!
Caveat: At this point VMware has total control over your mouse and keyboard (technically only the mouse needs to be grabbed this
way but that would prevent using the keyboard outside of the virtual machine). It is because GIMX reads the mouse directly and
if you do not do this you will not be able to use the mouse in games.
THE ONLY WAY TO FREE YOUR MOUSE IS TO SHUT DOWN THE LINUX VIRTUAL MACHINE!!! (Or use something like VNC from a separate system or
buy a 2nd keyboard/mouse).
This method works but that is a fairly large caveat that may make it unsuitable for some users. This is also totally unsupported
so you are on your own if you try this method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment