Jump to content
  • Advertisement
Sign in to follow this  
Samhayne

Adding support for Xbox 360 Controller (PC) a legal issue?

This topic is 2162 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey! :)

When adding support for the Xbox 360 Controller... is there some fee needed to pay before
or will I need to contact Microsoft before?
If you don't know the answer yourself.... do you have a hint where I might get it?

I'm thinking of...

- mentioning Microsoft's product name ("Xbox 360 Controller") ingame
- showing the colored XYAB buttons
- maybe even showing a schematic of the controller itself

Is there some sort of SDK with official graphics someone can or even has to use...?

Share this post


Link to post
Share on other sites
Advertisement
The controller is treated as a multi-axis joystick. While the xbox controller is certainly a popular usb joystick or gamepad, it is not the only one out there.

Microsoft owns trademarks and other IP rights on the items you listed, so no, don't use names or images without permission. You can show your own drawings of a generic gamepad all you want.


You can either use the older joystick api or the DirectInput api. Both are part of the Windows SDK.

Share this post


Link to post
Share on other sites

Microsoft deliberately sabotaged the Xbox360 controller support in Direct Input -- it works, but if the user presses both the right and left triggers simultaneously, then Direct Input tells you that neither is being pressed (they cancel each other out).

 

Instead, the official Xbox360 controller API is XInput.

 

Ideally, you would use both -- XInput for Xbox360 controllers, and Direct Input for other brands...

Share this post


Link to post
Share on other sites

Ideally, you would use both -- XInput for Xbox360 controllers, and Direct Input for other brands...

 

Unfortunately, many indie games seem to just support the 360 controller, and force consumers to use something like x360ce to get their regular (mainstream, commonly used) controllers to work.

Share this post


Link to post
Share on other sites

Microsoft does also grant some free images of the controller and the buttons that you can use for games.
 
http://xbox.create.msdn.com/en-US/education/catalog/utility/controller_images
http://xbox.create.msdn.com/en-US/education/catalog/utility/controller_buttons


Wow, very cool. Thank you!
Though the license is really an issue...


Hm... so even when adding profiles for different controllers,
we might risk to get sued if we offer selectable predefined bindings
among which would be a "Xbox 360 controller"...?

Share this post


Link to post
Share on other sites

 

Ideally, you would use both -- XInput for Xbox360 controllers, and Direct Input for other brands...

 

Unfortunately, many indie games seem to just support the 360 controller, and force consumers to use something like x360ce to get their regular (mainstream, commonly used) controllers to work.

 

 

DirectInput was superceded in 2002 and effectively deprecated by 2005. It still exists only for reasons of legacy support, but it's not unreasonable to assume that the majority of users will be using an XInput device.

Share this post


Link to post
Share on other sites

I don't appear to be able to edit my above post - but I should clarify that I don't necessarily agree with the above, it's just the way it is in reality.

Share this post


Link to post
Share on other sites

DirectInput was superceded in 2002 and effectively deprecated by 2005. It still exists only for reasons of legacy support, but it's not unreasonable to assume that the majority of users will be using an XInput device.

 

Unless I'm mistaken, which is likely, Microsoft controllers are the only "real" XInput devices, and other 3rd party controllers have to mimic Microsoft controllers.

 

Wikipedia's take (possibly biased):

Microsoft has not made any major changes to DirectInput since DirectX 8, and introduced XInput later in DirectX 9: there remains some confusion about the current status and future of the two APIs. As of 2011 each has unique features not present in the other, and neither had major updates since the release of DirectX 9 (2002).

[...]

XInput supports maximum of 4 axes, 10 buttons, 2 triggers and 8-direction digital pad per controller, compared to DirectInput's support for 8 axes, 128 buttons, and full-range POV. (Incidentally, the number of axes, buttons and triggers XInput supports corresponds directly to the Xbox 360 controller.)

[...]

As of 2011 XInput is for Xbox 360 controllers, while DirectInput is for any controller.

Underlining is my added emphasis, though I think Wikipedia is confused - XInput was released in 2005, wasn't it? So I don't know why Wikipedia says "neither" has had major updates since 2002...

 

Microsoft's take:

 

 

  • There will be a large installed base of Xbox 360 controllers
  • XInput devices (that is, the Xbox 360 controllers) will have vibration functionality only when using XInput APIs
  • Future controllers released for the Xbox 360 console (that is, steering wheels) will also work on Windows

 

From where I sit, Microsoft counts all Microsoft controllers as modern and "next generation", and any non-Microsoft controller is regulated to being a "legacy device" unless the non-Microsoft controller pretends to be a Microsoft-controller.

 

My Logitech controller was made in 2004. The "solution" all across the internet, is to download a XBox 360 emulator to make it pretend to be an XBox 360 controller. Newer versions of Logitech controllers are now just pretend 360 controllers. Third party manufacturers can't innovate beyond what the XBox 360 has (because XInput only supports exactly what the 360 has). From my possibly mistaken perspective, that seems to mean that they can only release new controllers with new features after rushing them to the market after Microsoft surprise-releases new controllers and then updates XInput to match - again exactly - the capabilities of Microsoft's new controller.

 

Microsoft, intentionally or by accident, seems to ensure that every other third-party controller can only be "as good" and never better than, Microsoft's latest controller, and if the XInput update only occurs after Microsoft's latest controller gets to market, then Microsoft always has the market time while the other manufacturers would, theoretically, have to rush to design, manufacture, market, and sell their new controllers after Microsoft's is already on the market.

 

How much do you think this kind of switch costs Logitech in design, testing, manufacturing, and customer service / support?

 

Bear in mind, I'm coming from a consumer perspective on this issue, not as a programmer - I've never programmed with either library.

 

Was the switch to XInput based on licensing issues (suggested on another forum), perhaps with Immersion Corp (who worked on DirectInput with Microsoft previously)?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!