206:, "the combination of the left and right triggers in DirectInput is by design. Games have always assumed that DirectInput device axes are centered when there is no user interaction with the device. However, the Xbox 360 controller was designed to register minimum value, not center, when the triggers are not being held." MSDN proffered the "solution" of combining the triggers, setting one trigger to a positive direction and the other to a negative direction, so no user interaction is indicative to DirectInput of the "control" being at center.
221:
independently. In addition, many DirectInput devices also have vibration effects. At least one 3rd-party driver, XBCD, gives the Xbox 360 controllers the vibration support, dead zones and (optionally) independent analog/digital triggers through DirectInput its XInput driver possesses. This suggests
126:. DirectX version 3.0 (1996) added support for keyboards and mice; it also improved joystick support. DirectX 5.0 (1997) included greatly improved joystick support, including adding haptic feedback, increasing the number of buttons, changing the underlying device-driver model and incorporating a
226:
weaker DirectInput support, rather than due to any differences between DirectInput and XInput APIs. On the other hand, Xbox 360 controllers using XInput support only very basic control of vibration motors in contrast with greater palette of effects supported via DirectInput.
134:. Mouse support also increased the number of buttons seen from four to eight. In DirectX 7.0 (1999- ), DirectInput added a long-promised feature of seeing individual mice much like individual joysticks, but the feature didn't work with the later released
141:
While
Microsoft initially intended that DirectInput would handle all inputs, this didn't work out. As of 2011 Microsoft no longer recommends using DirectInput for keyboards or mice, and has started pushing the newer XInput for Xbox 360 controllers. In
298:
GameInput is the recommended API for all new code, regardless of the target platform, because it provides support across all
Microsoft platforms (including earlier versions of Windows), and provides superior performance versus legacy
138:, even though as of 2010 it works with Windows 98/Me and DirectX 9. DirectX 8.0 (2000), the last version with major changes, included action mapping and broader support for different types of devices.
586:
110:
for keyboard and mouse input instead of DirectInput (as indicated in the
Meltdown 2005 slideshow), and to use GameInput instead of DirectInput and other legacy APIs, such as XInput, for controllers.
258:
170:
SP1 and subsequent operating systems, and is described by
Microsoft as being easier to program for and requiring less setup than DirectInput. XInput is compatible with
118:
DirectX included DirectInput from version 1.0 (1995). It initially offered true support only for joysticks, as the mouse and keyboard modules simply provided
279:
951:
336:
403:
545:
192:
the left and right triggers will act as a single axis representing the signed difference between the triggers, not as independent analog axis
926:
987:
106:
library, it has not been significantly revised since DirectX 8 (2001–2002). Microsoft recommends that new applications make use of the
31:
68:
which allows the user to assign specific actions within a game to the buttons and axes of the input devices. Additionally it handles
577:
150:
and later
Windows versions, the in-built action mapping UI has been removed. DirectInput is not available for Windows Store apps.
946:
660:
1325:
1176:
936:
1035:
961:
1070:
375:
293:
1229:
1121:
1093:
1020:
696:
471:
1320:
1297:
131:
107:
1358:
1272:
992:
846:
1282:
655:
625:
389:
361:
244:
1374:
1315:
198:
querying for headset devices will not operate, XInput 1.4 as part of
Windows 8 introduced Xbox headset support.
1186:
340:
85:
they enable an application to retrieve data from input devices even when the application is in the background
446:
1310:
1181:
1171:
1159:
570:
1422:
1335:
1287:
188:, with the default Microsoft driver, has the following limitations with DirectInput, compared to XInput:
1164:
931:
898:
732:
98:, applications can retrieve input data without needing to know what kind of device generated that input
1154:
956:
873:
650:
645:
620:
1083:
550:
425:
74:(input/output) devices. Microsoft introduced a new input library called XInput specifically for the
1131:
919:
883:
1417:
1402:
1379:
1126:
1116:
1050:
563:
70:
517:
496:
214:
1078:
1060:
1030:
888:
600:
162:
for "next generation" controllers, was introduced in
December 2005 alongside the launch of the
127:
17:
1348:
1267:
1262:
1055:
815:
727:
630:
49:
1149:
851:
800:
701:
640:
8:
1224:
1207:
1108:
1015:
754:
311:
184:
75:
218:
795:
635:
1407:
1277:
1219:
1045:
825:
779:
273:
57:
1448:
878:
764:
759:
555:
475:
209:
The above, however, ignores the fact that many DirectInput controllers, such as
1239:
1098:
820:
691:
119:
53:
1442:
1353:
1343:
1257:
1141:
1010:
941:
774:
769:
390:"Comparison of XInput and DirectInput features - Win32 apps | Microsoft Docs"
362:"Comparison of XInput and DirectInput features - Win32 apps | Microsoft Docs"
143:
1412:
1397:
1305:
1040:
686:
681:
123:
81:
DirectInput and XInput provide benefits over normal Win32 input events:
1025:
966:
830:
749:
167:
135:
88:
they provide full support for any type of input device, as well as for
30:"XInput" redirects here. For the X Window System XInput extension, see
1427:
147:
42:
810:
610:
605:
163:
166:. This specification provided support for Xbox 360 controllers in
1252:
1247:
1212:
1088:
914:
856:
805:
722:
706:
450:
210:
171:
103:
61:
866:
739:
893:
982:
861:
665:
615:
203:
1191:
159:
45:
222:
that
Microsoft's Xbox 360 controller driver was given
296:. p. GameInput introduction, "Getting started".
312:"Taking Advantage of High-Definition Mouse Movement"
585:
1440:
278:: CS1 maint: bot: original URL status unknown (
447:"DirectInput ConfigureDevices in Windows Vista"
337:"DirectInput ConfigureDevices in Windows Vista"
48:for collecting input from a computer user, via
177:
571:
1230:Security Support Provider Interface (SSPI)
578:
564:
261:. Archived from the original on 2015-05-21
217:controller sets, already map triggers and
32:X Window System protocols and architecture
661:Windows Advanced Rasterization Platform
14:
1441:
656:DirectX Graphics Infrastructure (DXGI)
102:While DirectInput forms a part of the
559:
546:Microsoft's DirectInput documentation
24:
1122:Microsoft Foundation Classes (MFC)
1094:Distributed Component Object Model
404:"XInputGetAudioDeviceIds function"
195:vibration effects will not operate
25:
1460:
539:
474:. Free60 Project. Archived from
259:"Meltdown 2005 slideshow (.zip)"
64:. It also provides a system for
510:
489:
464:
439:
418:
1132:Windows Template Library (WTL)
396:
382:
368:
354:
329:
304:
286:
251:
237:
13:
1:
1127:Active Template Library (ATL)
847:Data Access Components (MDAC)
587:Microsoft APIs and frameworks
230:
339:. 2008-12-27. Archived from
213:with dual analog sticks and
7:
1423:Multilingual User Interface
1349:Dynamic Data Exchange (DDE)
472:"Gamepad - Rumbler Control"
178:Xbox 360 Controller support
10:
1465:
113:
29:
1388:
1367:
1334:
1296:
1238:
1200:
1140:
1107:
1069:
1001:
975:
907:
874:Extensible Storage Engine
839:
788:
715:
674:
651:Windows Imaging Component
646:Windows Image Acquisition
593:
153:
426:"XInput and DirectInput"
1418:Language Interface Pack
1403:Text Services Framework
1117:Framework Class Library
428:. Microsoft. 2012-09-17
376:"Overview of GameInput"
294:"Overview of GameInput"
1061:Common Log File System
889:Access Database Engine
601:Desktop Window Manager
551:XInput and DirectInput
1389:Text and multilingual
174:version 9 and later.
1375:Active Accessibility
641:Windows Color System
499:. Msdn.microsoft.com
343:on December 27, 2008
108:Windows message loop
1413:Input method editor
1225:Data Protection API
1016:Windows Script Host
755:Image Mastering API
185:Xbox 360 Controller
76:Xbox 360 controller
1311:Enterprise Library
1298:Software factories
1002:Administration and
932:Filtering Platform
733:Video Acceleration
497:"XINPUT_VIBRATION"
1436:
1435:
1408:Text Object Model
1220:Windows CardSpace
1046:Windows Installer
780:Video for Windows
453:on April 25, 2011
158:XInput, a legacy
16:(Redirected from
1456:
1021:WMI (extensions)
879:Entity Framework
765:Media Foundation
616:D3D (extensions)
580:
573:
566:
557:
556:
533:
532:
530:
529:
514:
508:
507:
505:
504:
493:
487:
486:
484:
483:
468:
462:
461:
459:
458:
449:. Archived from
443:
437:
436:
434:
433:
422:
416:
415:
413:
411:
400:
394:
393:
386:
380:
379:
372:
366:
365:
358:
352:
351:
349:
348:
333:
327:
326:
324:
323:
308:
302:
301:
290:
284:
283:
277:
269:
267:
266:
255:
249:
248:
241:
122:to the standard
21:
1464:
1463:
1459:
1458:
1457:
1455:
1454:
1453:
1439:
1438:
1437:
1432:
1390:
1384:
1363:
1330:
1292:
1234:
1196:
1136:
1103:
1071:Component model
1065:
1051:Error Reporting
1003:
997:
971:
903:
835:
826:SideBar Gadgets
784:
760:Managed DirectX
711:
670:
594:Graphics and UI
589:
584:
542:
537:
536:
527:
525:
516:
515:
511:
502:
500:
495:
494:
490:
481:
479:
470:
469:
465:
456:
454:
445:
444:
440:
431:
429:
424:
423:
419:
409:
407:
402:
401:
397:
388:
387:
383:
374:
373:
369:
360:
359:
355:
346:
344:
335:
334:
330:
321:
319:
310:
309:
305:
292:
291:
287:
271:
270:
264:
262:
257:
256:
252:
243:
242:
238:
233:
180:
156:
116:
90:haptic feedback
71:haptic feedback
66:action mapping,
35:
28:
23:
22:
15:
12:
11:
5:
1462:
1452:
1451:
1434:
1433:
1431:
1430:
1425:
1420:
1415:
1410:
1405:
1400:
1394:
1392:
1386:
1385:
1383:
1382:
1377:
1371:
1369:
1365:
1364:
1362:
1361:
1356:
1351:
1346:
1340:
1338:
1332:
1331:
1329:
1328:
1323:
1318:
1313:
1308:
1302:
1300:
1294:
1293:
1291:
1290:
1285:
1280:
1275:
1270:
1265:
1260:
1255:
1250:
1244:
1242:
1236:
1235:
1233:
1232:
1227:
1222:
1217:
1216:
1215:
1204:
1202:
1198:
1197:
1195:
1194:
1189:
1184:
1179:
1174:
1169:
1168:
1167:
1162:
1152:
1146:
1144:
1142:Device drivers
1138:
1137:
1135:
1134:
1129:
1124:
1119:
1113:
1111:
1105:
1104:
1102:
1101:
1099:.NET Framework
1096:
1091:
1086:
1081:
1075:
1073:
1067:
1066:
1064:
1063:
1058:
1053:
1048:
1043:
1038:
1033:
1031:Task Scheduler
1028:
1023:
1018:
1013:
1007:
1005:
999:
998:
996:
995:
990:
985:
979:
977:
973:
972:
970:
969:
964:
959:
954:
949:
944:
939:
934:
929:
927:Winsock Kernel
924:
923:
922:
911:
909:
905:
904:
902:
901:
896:
891:
886:
884:Sync Framework
881:
876:
871:
870:
869:
864:
859:
854:
843:
841:
837:
836:
834:
833:
828:
823:
818:
813:
808:
803:
798:
792:
790:
786:
785:
783:
782:
777:
772:
767:
762:
757:
752:
747:
742:
737:
736:
735:
730:
719:
717:
713:
712:
710:
709:
704:
699:
694:
692:DirectX plugin
689:
684:
678:
676:
672:
671:
669:
668:
663:
658:
653:
648:
643:
638:
633:
628:
623:
618:
613:
608:
603:
597:
595:
591:
590:
583:
582:
575:
568:
560:
554:
553:
548:
541:
540:External links
538:
535:
534:
509:
488:
463:
438:
417:
395:
381:
367:
353:
328:
303:
285:
250:
235:
234:
232:
229:
200:
199:
196:
193:
179:
176:
155:
152:
115:
112:
100:
99:
96:action mapping
92:
86:
37:In computing,
26:
9:
6:
4:
3:
2:
1461:
1450:
1447:
1446:
1444:
1429:
1426:
1424:
1421:
1419:
1416:
1414:
1411:
1409:
1406:
1404:
1401:
1399:
1396:
1395:
1393:
1387:
1381:
1380:UI Automation
1378:
1376:
1373:
1372:
1370:
1368:Accessibility
1366:
1360:
1357:
1355:
1352:
1350:
1347:
1345:
1342:
1341:
1339:
1337:
1333:
1327:
1324:
1322:
1319:
1317:
1314:
1312:
1309:
1307:
1304:
1303:
1301:
1299:
1295:
1289:
1286:
1284:
1281:
1279:
1276:
1274:
1271:
1269:
1266:
1264:
1261:
1259:
1256:
1254:
1251:
1249:
1246:
1245:
1243:
1241:
1237:
1231:
1228:
1226:
1223:
1221:
1218:
1214:
1211:
1210:
1209:
1206:
1205:
1203:
1199:
1193:
1190:
1188:
1185:
1183:
1180:
1178:
1175:
1173:
1170:
1166:
1163:
1161:
1158:
1157:
1156:
1153:
1151:
1148:
1147:
1145:
1143:
1139:
1133:
1130:
1128:
1125:
1123:
1120:
1118:
1115:
1114:
1112:
1110:
1106:
1100:
1097:
1095:
1092:
1090:
1087:
1085:
1082:
1080:
1077:
1076:
1074:
1072:
1068:
1062:
1059:
1057:
1054:
1052:
1049:
1047:
1044:
1042:
1039:
1037:
1036:Offline Files
1034:
1032:
1029:
1027:
1024:
1022:
1019:
1017:
1014:
1012:
1011:Win32 console
1009:
1008:
1006:
1000:
994:
991:
989:
988:Telephony API
986:
984:
983:Messaging API
981:
980:
978:
976:Communication
974:
968:
965:
963:
960:
958:
955:
953:
950:
948:
945:
943:
942:Windows Rally
940:
938:
935:
933:
930:
928:
925:
921:
918:
917:
916:
913:
912:
910:
906:
900:
897:
895:
892:
890:
887:
885:
882:
880:
877:
875:
872:
868:
865:
863:
860:
858:
855:
853:
850:
849:
848:
845:
844:
842:
838:
832:
829:
827:
824:
822:
819:
817:
814:
812:
809:
807:
804:
802:
799:
797:
794:
793:
791:
787:
781:
778:
776:
775:Windows Media
773:
771:
768:
766:
763:
761:
758:
756:
753:
751:
748:
746:
743:
741:
738:
734:
731:
729:
728:Media Objects
726:
725:
724:
721:
720:
718:
714:
708:
705:
703:
700:
698:
695:
693:
690:
688:
685:
683:
680:
679:
677:
673:
667:
664:
662:
659:
657:
654:
652:
649:
647:
644:
642:
639:
637:
634:
632:
629:
627:
624:
622:
619:
617:
614:
612:
609:
607:
604:
602:
599:
598:
596:
592:
588:
581:
576:
574:
569:
567:
562:
561:
558:
552:
549:
547:
544:
543:
523:
519:
513:
498:
492:
478:on 2009-03-13
477:
473:
467:
452:
448:
442:
427:
421:
405:
399:
391:
385:
377:
371:
363:
357:
342:
338:
332:
317:
313:
307:
300:
295:
289:
281:
275:
260:
254:
246:
245:"DirectInput"
240:
236:
228:
225:
224:intentionally
220:
216:
212:
207:
205:
202:According to
197:
194:
191:
190:
189:
187:
186:
175:
173:
169:
165:
161:
151:
149:
145:
144:Windows Vista
139:
137:
133:
129:
125:
121:
111:
109:
105:
97:
93:
91:
87:
84:
83:
82:
79:
77:
73:
72:
67:
63:
59:
55:
51:
50:input devices
47:
44:
40:
33:
27:Microsoft API
19:
1316:Composite UI
801:RSS Platform
744:
526:. Retrieved
521:
512:
501:. Retrieved
491:
480:. Retrieved
476:the original
466:
455:. Retrieved
451:the original
441:
430:. Retrieved
420:
408:. Retrieved
398:
384:
370:
356:
345:. Retrieved
341:the original
331:
320:. Retrieved
315:
306:
297:
288:
263:. Retrieved
253:
239:
223:
215:racing-wheel
208:
201:
183:
181:
157:
140:
117:
101:
95:
89:
80:
69:
65:
52:such as the
41:is a legacy
38:
36:
1398:DirectWrite
1306:EFx Factory
1263:Silverlight
1041:Shadow Copy
840:Data access
745:DirectInput
687:DirectSound
682:DirectMusic
631:Silverlight
524:. Microsoft
410:10 December
318:. Microsoft
39:DirectInput
1208:Crypto API
1026:PowerShell
1004:management
967:DirectPlay
908:Networking
831:TypeScript
750:DirectShow
716:Multimedia
702:Speech API
621:GDI / GDI+
528:2009-01-25
518:"DIEFFECT"
503:2009-01-25
482:2009-01-25
457:2020-07-17
432:2012-12-27
347:2012-11-13
322:2009-01-25
265:2012-11-13
231:References
168:Windows XP
136:Windows XP
1428:Uniscribe
1109:Libraries
1056:Event Log
148:Windows 7
124:Win32 API
43:Microsoft
1443:Category
1354:Remoting
1258:Remoting
1201:Security
811:VBScript
611:Direct3D
606:Direct2D
274:cite web
211:gamepads
164:Xbox 360
120:wrappers
94:through
58:keyboard
1449:DirectX
1391:support
1253:ADO.NET
1248:ASP.NET
1213:CAPICOM
1089:ActiveX
952:P2P API
915:Winsock
857:ADO.NET
806:JScript
723:DirectX
707:XAudio2
172:DirectX
130:-based
114:History
104:DirectX
62:gamepad
60:, or a
962:MS MPI
867:OLE DB
796:MSHTML
740:Xinput
406:. MSDN
219:pedals
154:XInput
18:XInput
1344:MSRPC
894:MSXML
675:Audio
636:WinUI
299:APIs.
54:mouse
1240:.NET
1177:NDIS
1172:WDDM
1165:UMDF
1160:KMDF
1084:COM+
957:MSMQ
947:BITS
937:NDIS
862:ODBC
697:XACT
666:WinG
522:MSDN
412:2013
316:MSDN
280:link
204:MSDN
1359:WCF
1336:IPC
1326:CSF
1321:CCF
1283:WPF
1278:WCS
1273:WCF
1268:TPL
1192:VxD
1187:BDA
1182:UAA
1155:WDF
1150:WDM
1079:COM
993:WCF
920:LSP
899:OPC
852:ADO
821:XDR
816:BHO
789:Web
770:XNA
626:WPF
182:An
160:API
132:API
128:COM
46:API
1445::
1288:WF
520:.
314:.
276:}}
272:{{
146:,
78:.
56:,
579:e
572:t
565:v
531:.
506:.
485:.
460:.
435:.
414:.
392:.
378:.
364:.
350:.
325:.
282:)
268:.
247:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.