Talk:DirectInput

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

DirectInput is not deprecated (yet)[edit]

Anyone can confirm this by checking the DirectX SDK documentation at [1].

Number of Axis on Xinput[edit]

The number of axis available to Xinput in the article is 4, but the 360 controller has 6 (two sticks and two triggers). Perhaps someone familiar with Xinput could verify this... —Preceding unsigned comment added by 216.243.116.154 (talk) 02:17, August 28, 2007 (UTC)

Microsoft quotes it separately - as triggers, not as axes. It is also the same internally in XInput structs. Corrected this - added the 2 triggers. --84.47.19.235 (talk) 00:53, 20 August 2008 (UTC)[reply]

Non-neutral POV?[edit]

Admit to not being an expert on Wikipedia's POV policy, but the criticism section doesn't seem to have a neutral POV. While I agree with the issues, having written code for both, and they should definitely be mentioned, sentences such as "this seems like an arbitrary restriction" and "Incidentally, the number of axes, buttons and triggers XInput supports corresponds directly to the Xbox 360 controller" do not strike me as having a neutral POV. 65.96.162.67 (talk) —Preceding undated comment added 20:41, 16 September 2009 (UTC).[reply]

What for non-360 gamepads?[edit]

"Microsoft recommends that new applications make use of the Windows message loop for keyboard and mouse input instead of DirectInput (as indicated in the Meltdown 2005 slideshow[1]), and to use XInput instead of DirectInput for Xbox 360 controllers."

What does Microsoft recommend using for USB gamepads other than Xbox 360 controllers? Or does Microsoft recommend not making games compatible with any gamepads other than Microsoft's? --Damian Yerrick (talk | stalk) 22:43, 28 January 2011 (UTC)[reply]

I just thought I'd throw out that as of 2011, Logitech's F710 gamepad supports XInput via a switch on the top.--72.84.144.51 (talk) 16:45, 17 December 2011 (UTC)[reply]

DirectInput vs XInput ; what does XInput got that Directput don't?[edit]

As of 2011 each has unique features not present in the other

What features are present in XInput that aren't in DirectInput? --TiagoTiago (talk) 10:23, 22 January 2012 (UTC)[reply]

I also would like to know this, until someone mentions at least one feature, I'll remove it. Lmcgregoruk (talk) 21:15, 20 July 2015 (UTC)[reply]

It supports games that don't support Direct Input because the developer purposefully removed DI support or neglected to include it. 72.223.107.29 (talk) 05:53, 12 March 2016 (UTC)[reply]

Read the "DirectInput vs Xinput" section, it explains the missing features.--Jules (Mrjulesd) 11:56, 12 March 2016 (UTC)[reply]

I added a little nuance to this section. Should be more informative now instead of a rant against XInput. I wasn't sure how to reference the same URL several times though, so if someone could add that, that'd be great. Rvanee (talk) — Preceding undated comment added 09:43, 2 January 2022 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just added archive links to one external link on DirectInput. Please take a moment to review my edit. You may add {{cbignore}} after the link to keep me from modifying it, if I keep adding bad data, but formatting bugs should be reported instead. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether, but should be used as a last resort. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—cyberbot IITalk to my owner:Online 16:32, 29 March 2016 (UTC)[reply]

Odd Article Direction[edit]

I feel the article has an odd direction; possibly some of the editors don't understand the background of the APIs in question very well (not necessarily their fault, as the early documentation was written for senior programmers). DirectInput itself has quite a few problems, many of them subtle. Compat issues, failure to handle some key and mouse presses particularly with non-English languages, efficiently problems, and designed without foresight for future HID devices. Ultimately it ends up just being a mediocre HID driver wrapper for Pre-XP Windows OSes, and for keyboard and mice it is extra inefficient simply spinning off its own thread with a inefficient i/o loop.

With Windows XP Direct Input got completely supplanted by Raw Input, a core WinAPI with flexible generic querying for HID devices, effectively doing everything DirectInput does without any of the inherit issues (though, with it being generic as it is it has a huge learning curve). The only real rational reason for using DirectInput in modern applications is if you both don't have time to learn Raw Input properly and aren't using keyboard or mouse devices.

XInput is a different beast and part of the XBox<->Windows bridge and somewhat de facto standardizing. In the pre-XP days controllers were a bit too much of a wild west, many not even implementing their own HID drivers properly, thus leading to extra spotty controller support in games; developers in general were getting frustrated. Thus XInput was implemented as a simple API for more standardized controllers with its own toned-down driver model based around XBox peripherals.

As regards as to pertains to the article: some of the comparisons of XInput to DirectInput are erroneous. They are APIs designed for different purposes, and query different drivers. The whole "next-generation" lingo is Microsoft touting a more toned-down driver model and hoping other controller manufacturers would jump on board and implement XInput drivers so devs wouldn't have through Raw Input for newer controller support. The mention of Microsoft recommending the massage loop for k/m: technically they want you to use it in conjunction with Raw Input or use buffered Raw Input read. ...

Actually... this is turning out to a bit of a long rant, not what I intended, so cutting it a bit unfinished for now. Maybe I'll update this later. Hopefully it helped someone understand some of the issues here. Ryan Norton 16:42, 26 April 2016 (UTC)[reply]

The basic problem with all of these purported "replacements" for DirectInput, flawed as it was, is that none of them replicate its entire featureset. XInput is intentionally limited to the 360 pad's featureset, HID is primarily tied to (a subset of) USB, and Raw Input is completely useless for anything other than specific known devices in specific configurations.
As a result, controller support on PC has regressed to the same state as, e.g. word processors and printers back in the bad old days before OSs with standard APIs, when your choice of either was constrained by whether your word processor's internal set of hardcoded drivers included your printer.
In contrast, DirectInput was designed with the intent that any app ever built for the API would support any controller with DirectInput drivers, hardware or virtual from any I/O source, in any arbitrary configuration, with no need for the developers of either to be aware of each other. 2600:1700:DA90:2AB0:844F:B387:DECE:2532 (talk) 18:17, 17 July 2021 (UTC)[reply]
You can have problems with it. Wikipedia is still supposed to be neutral. I have deleted the section as comparing two deprecated APIs is pretty much irrelevant anyway. Please do not bring back the rant. Any complaints about current Windows APIs can be directed at Microsoft. Rvanee (talk) 15:09, 2 January 2024 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on DirectInput. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 03:52, 11 September 2017 (UTC)[reply]

Angry screed as Wikipedia article[edit]

Whole thing is NPOV and reads like a rant about how much better Dinput is than Xinput. Mercster (talk) 23:51, 26 September 2022 (UTC)[reply]

I agree that the section comparing them should be removed, if possible. I also clarified Microsoft's new stance on the input API scenario by adding their recommendation for GameInput. 2804:29B8:517F:A1C:E1F8:55C6:54A0:3D77 (talk) 01:37, 10 February 2023 (UTC)[reply]