Кіріспе

Microsoft API

Компьютерлік есепте DirectInput – компьютер пайдаланушысынан тышқан, пернетақта немесе геймпад сияқты енгізу құрылғылары арқылы деректерді жинауға арналған Microsoft API. Ол сондай-ақ пайдаланушыға ойын ішіндегі белгілі бір әрекеттерді енгізу құрылғыларының батырмалары мен осьтеріне тағайындауға мүмкіндік беретін әрекеттерді бейімдеу жүйесін ұсынады. Бұған қоса, ол сезімдік кері байланыс (кіріс/шығыс) құрылғыларын басқарады. Microsoft Xbox 360 контроллері үшін XInput деп аталатын жаңа енгізу кітапханасын енгізді. DirectInput және XInput, стандартты Win32 енгізу оқиғаларымен салыстырғанда келесі артықшылықтарды ұсынады:

олар қолданбаға, қолданба фокусқа ие болмаған кезде де, енгізу құрылғыларынан деректерді алуға мүмкіндік береді;
олар кез келген типтегі енгізу құрылғысын толық қолдайды, сондай-ақ сезімдік кері байланыс үшін де қолдау көрсетеді;
әрекеттерді бейімдеу арқылы қолданбалар деректерді қандай құрылғы жасағанын білмей-ақ енгізу деректерін ала алады.

DirectInput DirectX кітапханасының бір бөлігі болғанымен, DirectX 8 (2001–2002) нұсқасынан бері маңызды өзгерістерге ұшырамады. Microsoft жаңа қолданбаларға DirectInput орнына пернетақта мен тышқан енгізуі үшін Windows хабарлама циклін пайдалануды (Meltdown 2005 слайд-шоуында көрсетілгендей) және контроллерлер үшін DirectInput және XInput сияқты ескі API-лердің орнына GameInput пайдалануды ұсынады.

Тарих

DirectX 1.0 (1995) нұсқасынан бастап DirectInput-ты қамтыды. Ол бастапқыда тек джойстиктерді ғана толыққанды қолдайтын, себебі тышқан мен пернетақта модульдері стандартты Win32 API-ге жай ғана орамалдарды ұсынды. DirectX 3.0 (1996) нұсқасы пернетақталар мен тышқандарды қолдауды қосты; сонымен қатар джойстик қолдауын жақсартты. DirectX 5.0 (1997) жойстик қолдауын күрт жақсартты, соның ішінде тактильді кері байланыс қосу, түймелердің санын көбейту, негізгі құрылғы драйверінің моделін өзгерту және COM негізделген API-ді енгізуді қамтыды. Тышқан арқылы көрінетін түймелердің саны да төрттен сегізге дейін артты. DirectX 7.0 (1999) DirectInput-ке ұзақ уақыттан бері уәделенген, жеке тышқандарды жеке джойстиктер сияқты тану мүмкіндігін қосты, бірақ бұл мүмкіндік Windows 98/Me және DirectX 9-да жұмыс істесе де, кейіннен шығарылған Windows XP-де жұмыс істемеді. DirectX 8.0 (2000), негізгі өзгерістермен соңғы нұсқа, әрекеттерді тағайындау және әртүрлі типтегі құрылғыларға кеңрек қолдауды қамтыды. Microsoft бастапқыда DirectInput-тің барлық кіріс деректерін өңдеуі керек деп жоспарлаған, бірақ бұл жоспар іске аспады. Microsoft енді пернетақталар мен тышқандар үшін DirectInput-ты пайдалануды ұсынбайды және Xbox 360 контроллерлері үшін жаңа XInput-ты пайдалануға көшті. Windows Vista, Windows 7 және одан кейінгі Windows нұсқаларында әрекеттерді тағайындау интерфейсі алынып тасталды. DirectInput Windows Store қолданбалары үшін қолжетімді емес.

XInput (қосылу)

XInput, «жаңа буын» контроллерлеріне арналған ескі API, 2005 жылдың желтоқсанында Xbox 360 құрылғысының шығуымен бірге пайда болды. Бұл техникалық ереже Windows XP SP1 және одан кейінгі операциялық жүйелерде Xbox 360 контроллерлерін қолдауды қамтамасыз етеді және Microsoft оны бағдарламалауға оңай және DirectInput-ке қарағанда орнатуды аз талап ететіндей деп сипаттайды. XInput DirectX 9 және одан кейінгі нұсқаларымен үйлесімді.