{"id":421480,"date":"2022-03-25T20:00:23","date_gmt":"2022-03-25T17:00:23","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/directinput-vs-xinput-for-game-controllers-whats-the-difference\/"},"modified":"2022-03-25T20:00:23","modified_gmt":"2022-03-25T17:00:23","slug":"directinput-vs-xinput-for-game-controllers-whats-the-difference","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/directinput-vs-xinput-for-game-controllers-whats-the-difference\/","title":{"rendered":"#DirectInput vs. XInput for Game Controllers: What\u2019s the Difference?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a35788c7a8d0\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a35788c7a8d0\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/directinput-vs-xinput-for-game-controllers-whats-the-difference\/#%E2%80%9CDirectInput_vs_XInput_for_Game_Controllers_Whats_the_Difference%E2%80%9D\" >&#8220;DirectInput vs. XInput for Game Controllers: What\u2019s the Difference?&#8221;<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/directinput-vs-xinput-for-game-controllers-whats-the-difference\/#Theyre_Microsoft_Game_Controller_APIs\" >They\u2019re Microsoft Game Controller APIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/directinput-vs-xinput-for-game-controllers-whats-the-difference\/#Differences_DirectInput_vs_XInput\" >Differences: DirectInput vs. XInput<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E2%80%9CDirectInput_vs_XInput_for_Game_Controllers_Whats_the_Difference%E2%80%9D\"><\/span>&#8220;DirectInput vs. XInput for Game Controllers: What\u2019s the Difference?&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<div>\n<figure style=\"width: 1200px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage size-full wp-image-793010\" data-pagespeed-lazy-srcset=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/03\/xbox_one_controller_hero_3.jpg?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/03\/xbox_one_controller_hero_3.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/03\/xbox_one_controller_hero_3.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"A person's hand holding an Xbox One controller.\" width=\"1200\" height=\"675\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"type:primaryImage imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-photo\/russia-moscow-january-2017-hand-holding-1020928273\">ArtSimulacra\/Shutterstock.com<\/a><\/span><\/figcaption><\/figure>\n<p>If you\u2019re connecting a USB or wireless <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/game\/\" data-internallinksmanager029f6b8e52c=\"7\" title=\"Game\" target=\"_blank\" rel=\"noopener\">game<\/a> controller to your Windows PC, you might encounter terms like \u201cDirectInput\u201d and \u201cXInput.\u201d But what do they mean, and what\u2019s the difference? We\u2019ll explain.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Theyre_Microsoft_Game_Controller_APIs\"><\/span>They\u2019re Microsoft Game Controller APIs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In computing, an API is an <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">App<\/a>lication Programming Interface, which is a standardized way that two programs can talk to each other. In this case, when you hook a controller up to your PC, Windows makes the connection to the controller hardware, then the API allows a game to read the controller\u2019s inputs in a standardized way. This lets Windows games easily support many different types of controllers instead of having a patchwork of custom controller drivers and interfaces.<\/p>\n<p>The two main gaming input APIs in Windows are called DirectInput and XInput.\u00a0 To put it another way, these APIs are like two different languages that a game controller might speak. Some controllers can only speak one \u201clanguage\u201d (XInput or DirectInput), while others can \u201cspeak\u201d both APIs in different modes. If the game expects XInput but the controller only \u201cspeaks\u201d DirectInput, that controller won\u2019t work with that game, and vice-versa.<\/p>\n<p>Here\u2019s a quick look at the origins of each one:<\/p>\n<ul>\n<li><strong>DirectInput:<\/strong> This gaming input API first appeared in 1995 as part of DirectX 1.0 for gaming on Windows 95, then supported on subsequent versions of Windows. It\u2019s a legacy interface supported by many PC game controllers released before 2005, and also some controllers (and retro controller adapters) after that time.<\/li>\n<li><strong>XInput:<\/strong> This API launched in 2005 as a way to support Xbox 360 controllers on Windows. Xbox One and Xbox <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/watch-movies-tv-seriess\/\" data-internallinksmanager029f6b8e52c=\"8\" title=\"Watch Movies &amp; TV Series\" target=\"_blank\" rel=\"noopener\">Series<\/a> X|S controllers also currently use XInput on Windows. XInput originated as an Xbox controller-exclusive API, but many third-party controllers (not made by Microsoft) now also support it. This means they will work with games programmed to use Xinput.<\/li>\n<\/ul>\n<p>The two APIs do similar things, but DirectInput is older than XInput and has been <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/xinput\/xinput-and-directinput\">deprecated<\/a> by Microsoft. Still, DirectInput supports some features that XInput does not, which is partially why the standard is still in use. In the section below, we\u2019ll compare and contrast the two standards in more detail.<\/p>\n<p><strong>RELATED:<\/strong> <strong><em>What Is an API, and How Do Developers Use Them?<\/em><\/strong><\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Differences_DirectInput_vs_XInput\"><\/span>Differences: DirectInput vs. XInput<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Even though XInput has been around now for 17 years, some modern games <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.reddit.com\/r\/gamedev\/comments\/5vbqbp\/do_players_expect_new_games_to_support_directinput\/\">still support<\/a> DirectInput controllers. One reason why is because there\u2019s a large installed base of legacy controllers out there that some people still like to use.<\/p>\n<p>Also, DirectInput supports more inputs than XInput (8 axes, 128 buttons, and POV for DirectInput vs. 4 axes and 10 buttons, two triggers, and D-pad for XInput), which comes in handy for complex simulation games, such as flight simulators and some racing games, where people build complex cockpit control setups. Also, Xinput only supports four controllers. If you need more than that, DirectInput is your best choice.<\/p>\n<p>The advantages of XInput over DirectInput are mostly on the developer end of things. Microsoft <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/xinput\/xinput-and-directinput\">says<\/a> that XInput is \u201ceasier to use\u201d and requires less setup for programmers. A game developer that makes an Xbox game can more easily translate the game to Windows with Xbox controller support. Also, Xbox controllers only vibrate with XInput, and the API handles the trigger buttons as two separate inputs instead of a single positive\/negative axis on DirectInput.<\/p>\n<p>In another win for XInput, the API will automatically understand the layout of the controller without needing to manually bind each button to a function in a game. With DirectInput, the game can\u2019t necessarily assume the shape or layout of the controller. With XInput, games use a standard Xbox-style control scheme that maps universally to every game, similar to an Xbox game console.<\/p>\n<p>In <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/general\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"General\" target=\"_blank\" rel=\"noopener\">general<\/a>, the future of Windows gaming lies with XInput, but like many legacy Windows technologies, DirectInput continues to hold on for niche use cases. Luckily, if you have a favorite DirectInput controller that you want to use with an XInput-only game, you can use a utility such as <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.x360ce.com\/\">x360ce<\/a> to adapt it to XInput. Happy gaming!<\/p>\n<\/div>\n<p><script>\n setTimeout(function(){\n  !function(f,b,e,v,n,t,s)\n  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n  n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n  n.queue=[];t=b.createElement(e);t.async=!0;\n  t.src=v;s=b.getElementsByTagName(e)[0];\n  s.parentNode.insertBefore(t,s) } (window, document,'script',\n  'https:\/\/connect.facebook.net\/en_US\/fbevents.js');\n   fbq('init', '335401813750447');\n   fbq('track', 'PageView');\n  },3000);\n<\/script><\/p>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.howtogeek.com\/792984\/directinput-vs.-xinput-for-game-controllers-whats-the-difference\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;DirectInput vs. XInput for Game Controllers: What\u2019s the Difference?&#8221; ArtSimulacra\/Shutterstock.com If you\u2019re connecting a USB or wireless game controller to your Windows PC, you might encounter terms like \u201cDirectInput\u201d and \u201cXInput.\u201d But what do they mean, and what\u2019s the difference? We\u2019ll explain. They\u2019re Microsoft Game Controller APIs In computing, an API is an Application Programming&#8230;<\/p>\n","protected":false},"author":1,"featured_media":421481,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/03\/xbox_one_controller_hero_3.jpg?height=200p&trim=2,2,2,2","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-421480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/421480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=421480"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/421480\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/421481"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=421480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=421480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=421480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}