How to connect a wireless controller to two computers?
As a preface, much of this answer covers fairly basic knowledge. This is done solely for the sake of clarity and completeness. :-)
How to connect a wireless controller to two computers?
This depends entirely on the technology being used, both in terms of hardware and wireless specifications. This is very important. There are two primary technologies used in connecting wireless devices - standard WiFi and Bluetooth. Depending on these standards, approaches will vary, if it is even possible at all.
Wi-Fi
If you are simply connecting to two computers via standard Wi-Fi-based controllers, this would likely require one of two approaches:
-
Use a KVM (Keyboard, Video, Mouse) style switch. The dongle for the wireless receiver is used in one of the KVM keyboard/mouse inputs. This works for wired controllers as well.
-
Get two Wi-Fi controllers of the same brand which don't need pairing. This way, you will have two dongles (one for each machine) for the same generic controller.
For the first solution, this TRENDnet TK-207K 2-Port USB KVM Switch works well. Unfortunately, this first method isn't ideal in that it is a semi-wired approach (the KVM switch). This requires the PCs to be relatively close to each other, regardless of any controller being wireless. One way to help alleviate some of this issue is extension cables -- particularly, cables such as these Nippon Labs Black 15 ft. USB cable extensions or these TRENDnet 6 ft. USB KVM Cables (TK-CU06).
Bluetooth
Bluetooth devices typically pair with devices individually (that is, they don't normally pair with two separate devices) per Bluetooth specifications. But, as you pointed out, you can have a piconet of Bluetooth-based devices. However, this likely requires cooperation between hardware that may not be present.
For instance, in the diagram you post, each Master device would be a PC and the controller would be the interconnected Slave. All three would likely have to support the feature to share the slave for this setup to work. The only other possible solution would be the KVM one, with a Bluetooth dongle substituting for the Wi-Fi dongle.
Is it possible to have the controller paired/connected to both the console and PC at the same time?
With the Wi-Fi device, this would be the "2nd dongle" solution previously listed. You may still have to register the controller with the console when using it to play games (e.g. pressing the Home button on a PS3/PS4 controller). So it may not be technically "at the same time" depending on the console.
How can I create these two bluetooth piconets where the controller is present in both ?
Likewise, per the previous answer for Bluetooth devices, the console and the PC would be the Master devices sharing the Slave controller as stated and they would all likely have to be configured to share the controller (not a standard function of most Bluetooth controllers). So it is unlikely you could do this yourself.
Any KVM switch solution would not work for a console.
XBox One Controller Update (May 2018)
I'm thinking about using an Xbox One controller. By the controller itself, does that mean the bluetooth version(e.g. 2.1+EDR) or something else ? - George Profenza
I can already tell you the XBOX One controller can only connected to a single Bluetooth host device. – Ramhound
I will bow to @Ramhound on this one, since I can't say otherwise.
If the PC connection is wired, you can of course potentially use a KVM switch with 2 PCs (as above) and easily disconnect the micro-usb cable to have it wireless with the XBox One.
That said, things have changed slightly since this question was originally posted.
First, official Windows drivers are distributed via Windows update now, rather than as separate downloads.
Second, since August 2016 (concurrent with the release of the XBox One S), new XBox One Controllers officially support Bluetooth (along with Wi-Fi Direct) without a special dongle.
Third, while a wireless dongle for connecting an Xbox One controller to PC wasn't available in the past, one is now officially available for Windows 10. Furthermore, it supports "Up to 8 controllers at once". That said, I have no experience with this adapter and can't vouch for its claims.
Microsoft also apparently now has an Xbox Wireless Controller + Wireless Adapter for Windows 10 bundle as well.
For older versions of Windows (7 and 8), my guess is you will still need a micro-USB cable. Similarly, for actual Bluetooth connections, @Ramhound's response still likely applies.
[H]ow can I check if a bluetooth controller can be connected to a single host or more?
This would likely be listed as a product feature.
A Final Note On Bluetooth Pairing
Remember that you can pair the same controller with the console and PC, likely just not actively at the same time. Many hosts (e.g. console and PC) will maintain a database of "inactive" peripherals - so that once a device is authorized (but later disconnected), you may still have to re-pair the peripheral to use it, but you don't necessarily have to approve the device again (the host device "remembers" the peripheral). So you can use the same controller between PC and console (or whatever), just with quicker re-pairing between uses.