Что такое directinput и xinput

Сравнение функций Ксинпут и Директинпут

Ксинпут — это API, позволяющий приложениям принимать входные данные от контроллера Xbox для Windows. В этом документе описываются различия между реализациями Ксинпут и директинпут в контроллере Xbox, а также способы поддержки устройств ксинпут и устаревших устройств директинпут.

использовать устаревшие директинпут не рекомендуется, и директинпут недоступен для приложений магазина Windows.

Новый стандарт: Ксинпут

Ксинпут теперь доступен для разработки игр. Это новый стандарт ввода для Xbox и Windows. интерфейсы api доступны в пакете SDK для DirectX, и драйвер доступен в Центр обновления Windows.

Использование Ксинпут вместо директинпутимеет несколько преимуществ.

Использование контроллера Xbox с Директинпут

Контроллер Xbox правильно перечислен в директинпути может использоваться с директинпутапис. Однако некоторые функции, предоставляемые Ксинпут, будут отсутствовать в реализации Директинпут:

Сочетание левого и правого триггеров в директинпут — это проектирование. Игры всегда предполагают, что оси устройств Директинпут будут центрированы при отсутствии взаимодействия с пользователем с устройством. Однако контроллер Xbox был разработан для регистрации минимального значения, а не по центру, если триггеры не удерживаются. Поэтому более старые игры подразумевают взаимодействие с пользователем.

Чтобы проверить значения триггера по отдельности, необходимо использовать Ксинпут.

Параллельная Ксинпут и Директинпут

Для этого вставьте этот код в обратный вызов перечисления Директинпут:

Источник

Как выбрать геймпад

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Геймпад, как средство взаимодействия между игроком и игрой существует уже достаточно давно. Многие управляли Марио, бегущим по просторам сказочного мира, или бравым воякой в Contra, с помощью пластикового прямоугольника с кнопками.

С тех пор много воды утекло, геймпады стали куда более разнообразными, функциональными и эргономичными. Не удивительно, что в сегодняшнем мире выбор контроллера может стать не праздной задачей. Вариантов много, поди, разберись, в чем отличия и какой подойдет именно вам. Но все-таки давайте попробуем.

Целевая платформа

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

В сегодняшнем мире существует достаточное количество различных игровых платформ, и не удивительно, что контроллеры для них также отличаются. Поэтому первоначально необходимо выбрать, с какой из них вы будете использовать геймпад.

Несмотря на это производители стараются делать относительно универсальные модели, подходящие к различным устройствам. Например, геймпад может подходить одновременно и для ПК, игровой приставки и для андроид устройства. Выбирая контроллер для ПК, ознакомьтесь также со списком поддерживаемых операционных систем.

Но к сожалению, бывают устройства, к которым нет универсальных моделей (например, некоторые игровые приставки Nintendo).

XInput или DirectInput

До середины нулевых такой дилеммы не существовало. Геймпады использовали DirectInput API. Однако Microsoft с выходом своей приставки XBOX 360, ввела в использование новый вид API – XInput. А поскольку эта компания владеет самой распространённой операционной системой (с самой широкой библиотекой игр), то XInput появился и в Windows, начиная с XP Service Pack 1.

Раз уж разговор затронул приставки (на которых геймпады первое и практически единственное средство управления), то следует упомянуть, что контроллеры от XBOX (360 и ONE) используют XInput, а контроллеры Sony Playstation – DirectInput.

Благодаря кроссплатформенности (XBOX/PC) и отсутствию необходимости в настройке, XInput быстро стал стандартом для PC игр и практически все игры, вышедшие за последние 10 лет, поддерживают работу с такими устройствами. Определяются такие геймпады как Xbox 360 controller, этого пугаться не стоит.

DirectInput используется игровыми рулями, штурвалами для авиа- и космических симуляторов, геймпадами для Playstation 2/3/4.

Также стоит отдельно отметить DUALSHOCK 4 (стандартный контроллер Playstation 4). Поскольку это контроллер от приставки текущего поколения, проданной почти 100 млн. тиражом, некоторые разработчики игр, кроме XInput, добавляют поддержку именно этого DirectInput устройства. Также компания Valve в своем клиенте Steam, обеспечила полную поддержку DUALSHOCK 4, независимо от игры.

У вас может возникнуть закономерный вопрос: почему не объединить оба API в одном устройстве? Производители также задавались им и выпустили модели которые могут работать в любом из этих стандартов по вашему желанию. Для этого необходимо всего лишь использовать переключатель, размещенный на тыльной стороне устройства. Практично и иногда очень полезно.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Способ подключения

Немаловажный параметр, также зависящий от того к какой платформе вы покупаете геймпад.

Фундаментально различается на 2 вида:

Для проводного подключения используются USB (например, в ПК) или проприетарные разъемы (например, для Nintendo Switch). Беспроводным подключением является Bluetooth (ПК, Android, iOS), либо используются специальные (фирменные) приемопередатчики (XBOX 360/ONE).

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Беспроводное подключение выигрывает в плане удобности, можно развалиться на диване или в кресле и погрузиться в любимую игру. Но такие устройства зависимы от встроенного элемента питания (съемного или несъемного), поэтому периодически их нужно заряжать или менять батарейки. Проводное же поможет сэкономить или используется там, где не предусмотрены другие варианты.

Неудивительно, что многие модели совмещают в себе оба варианта подключения, что дает большую свободу выбора игроку и избавляет геймпад от простоев на зарядке.

Материалы и цвет

Качественные материалы влияют на удобство использования и долговечность устройства. Качественный пластик позволяет избавиться от люфтов и зазоров. Противоскользящие материалы, примененные в местах хвата (и на стиках), повышают его удобство, особенно когда ладони потеют во время долгих и напряженных игровых сессий. Кроме того, устройство из качественных материалов, гораздо приятнее держать в руках, чем дешевые поделки.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Форма и эргономика

Несмотря на то, что большинство геймпадов, на первый взгляд, похожи друг на друга, существуют 2 основных лагеря:

— DUALSHOCK и модели, созданные по его образу и подобию;

— XBOX controller и ему подобные.

Первые более компактны, и больше подойдут для средних и небольших ладоней, вторые для средних и крупных. Также у них различается форма корпуса, и самое главное – положение аналогового стика и крестовины (D-pad).

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Конечно, существуют модели, которые совместили отличительные черты от двух устройств сразу. Но это лишь способствует тому, чтобы человек подобрал удобное именно для него устройство, поскольку эргономика всегда была сугубо индивидуальной характеристикой.

Тип контроллера

Многообразие игровых контроллеров велико, оно не ограничивается только геймпадами, пускай они и составляют основную массу. Производители выпускают и стандартные геймпады, и специализированные контроллеры, как например PlayStation Move для PS3/4.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

А как вам тандем специальной мышки и геймпада, на вид похожего на половинку от обычного?

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Есть также контроллеры, созданные для определенного жанра – например, для файтингов, называемые в обиходе «Хитбоксами».

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Выбор типа контроллера зависит от удобства, и набора функций, которые вы хотите получить в итоге.

Наличие аналоговых стиков

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Несмотря на существование аналоговых стиков уже более двух десятков лет, некоторые недорогие геймпады не оснащаются ими. Покупать такие модели следует лишь в том случае, если вы точно знаете, что будете играть в игры, в которых они не поддерживаются. Например, для эмуляторов Dendy, Sega, SNES, и некоторых других.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Механика множества игр фундаментально завязана на использовании аналоговых стиков и без них либо вообще не получится поиграть, либо делать это будет очень неудобно.

Кстати, для большего удобства пользования, на аналоговые стики можно купить специальные насадки («грибки»). С их помощью можно изменить форму верхней части, ее рельеф и противоскользящие свойства.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Дополнительные и программируемые кнопки

Дополнительные кнопки встречаются довольно давно, а вот программируемые еще не распространены не так сильно. Их полезность трудно переоценить.

Дополнительные кнопки могут дублировать отдельные элементы управления или выполнять вспомогательную функцию – изменять количество срабатывания клавиш при нажатии (нажали на кнопку 1 раз, а сработало как будто нажали 3 раза).

Приемопередатчик для беспроводного подключения контроллера XBOX ONE к ПК

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

На ПК программируемые кнопки, с помощью комплектного программного обеспечения, можно настроить на выполнение различных функций: дублирование других кнопок геймпада, назначить нужную функцию/действие или записать и присвоить макрос. Это открывает множество возможностей, но цена подобных устройств достаточно высока.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

И ассортимент, как упоминалось, небольшой.

Наличие вибрации

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Обычно лишены такой функции лишь совсем бюджетные модели. Те игроки, кому виброотдача не требуется, могут отключить ее в настройках игры или специальной кнопкой на самом контроллере.

Советы по выбору нужного геймпада

Планируя покупку контроллера, определите с какими устройствами вы будете его использовать: персональный компьютер, Android или iOS мобильное устройство, игровые приставки, или сразу с несколькими.

Будет ли контроллер проводным или беспроводным, будет зависеть не только от ваших предпочтений, но и изредка от конкретной игровой платформы. Цена беспроводных моделей чуть выше чем у проводных.

Приобретая геймпад для ПК, рекомендуем брать вариант с поддержкой Xinput, поскольку такие геймпады будут корректно работать практически во всех играх. Стоимость таких моделей стартует всего от 599 рублей.

Также вас могут заинтересовать модели с поддержкой обоих режимов.

Модели с поддержкой только DirectInput менее предпочтительны. Но если вдруг вам понравился/подходит по удобству вариант с поддержкой только такого API, то в подавляющем большинстве случаев такой геймпад можно заставить работать как Xinput модель, с помощью специального ПО – эмулятора. Программы и руководства по работе с ними в сети достаточно распространены.

Подбирая контроллер для игровых приставок, будь то модели Sony – Playstation 3, Playstation 4, или Microsoft XBOX ONE, знайте, что в большинстве своем они совместимы и другими платформами. Обратите внимание на список совместимости у конкретной модели.

Контроллеры для Nintendo Classic, Wii U, Switch совместимы только со своими приставками, и могут своим видом разительно отличаться от других геймпадов.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Для iOS девайсов будет предпочтительнее выбор геймпада с беспроводным подключение по Bluetooth. Это повысит и удобство использования, и расширит список совместимых устройств, и сэкономит ресурс порта подключения на телефоне/планшете. В комплекте к таким моделям может идти специальный держатель для закрепления телефона, что позволит играть, например, в поездках.

Источник

Comparison of XInput and DirectInput features

XInput is an API that allows applications to receive input from the Xbox Controller for Windows. This document describes the differences between XInput and DirectInput implementations of the Xbox Controller and how you can support XInput devices and legacy DirectInput devices at the same time.

Use of legacy DirectInput is not recommended, and DirectInput is not available for Windows Store apps.

The New Standard: XInput

XInput is now available for game development. This is the new input standard for both the Xbox and Windows. The APIs are available through the DirectX SDK, and the driver is available through Windows Update.

There are several advantages to using XInput over DirectInput:

Using the Xbox Controller with DirectInput

The Xbox Controller is properly enumerated on DirectInput, and can be used with the DirectInputAPIs. However, some functionality provided by XInput will be missing from the DirectInput implementation:

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 controller was designed to register minimum value, not center, when the triggers are not being held. Older games would therefore assume user interaction.

The solution was to combine 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.

In order to test the trigger values separately, you must use XInput.

XInput and DirectInput Side by Side

By supporting XInput only, your game will not work with legacy DirectInput devices. XInput will not recognize these devices.

If you want your game to support legacy DirectInput devices, you may use DirectInput and XInput side by side. When enumerating your DirectInput devices, all DirectInput devices will enumerate correctly. All XInput devices will show up as both XInput and DirectInput devices, but they should not be handled through DirectInput. You will need to determine which of your DirectInput devices are legacy devices, and which are XInput devices, and remove them from the enumeration of DirectInput devices.

To do this, insert this code into your DirectInput enumeration callback:

A slightly improved version of this code is in the legacy DirectInput Joystick sample.

Источник

Чем отличаются геймпады XInput и DirectInput?

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

С геймпадами игровых консолей проблем никаких нет – приобретаете стандартный фирменный и играете без каких-либо трудностей. А вот в случае с компьютером ситуация слегка иная. Со всеми современными играми никаких сложностей не возникает, так как они в большинстве случаев имеют поддержку XInput. Устаревшие же игры создавались только с расчетом на DirectInput, поэтому при их запуске может сложиться такая ситуация, что кнопки начнут вести себя “неадекватно”. Например, они могут временами не распознаваться, или может возникнуть эффект зажатой кнопки и т.д. Чтобы устранить проблему, необходимо разобраться, в чем отличие между XInput- и DirectInput-геймпадами. И не стоит утверждать со стопроцентной уверенностью, что контроллерам на компьютере не место! Ведь в случае с файтингами или, например, с платформерами они являются неотъемлемыми элементами управления!

Сравнение
Разработчиком API XInput и DirectInput является компания Microsoft. Посредством интерфейса программирования приложений (API) происходит взаимодействие игры с контроллером. DirectInput особых изменений не получал еще с начала 2000 г., то есть со времен DirectX 8. XInput же появился в конце 2005 г. с релизом всем известной приставки Xbox 360. Начиная с этого момента, XInput стал стандартом ввода для всех геймпадов, которые совместимы и с консолями Xbox, и с компьютером под Windows. Хоть оба API и являются творением одного производителя (Microsoft), взаимозаменяемыми они не являются.
В случае с XInput все обстоит довольно просто, так как игра моментально и без проблем распознает геймпад. Все назначения кнопок являются стандартными. Можно, конечно, при необходимости изменять назначение кнопок, но зачем это делать, если по умолчанию все итак работает отлично? XInput оснащен фиксированным количеством кнопок, триггеров и осей, то есть строго соответствует стандартам консоли Xbox 360. А у DirectInput подобные ограничения не предусмотрены.
С DirectInput все обстоит по иному, так как перед каждой игрой придется каждый раз настраивать управление. Это, конечно, не сложно, однако может занимать время и доставлять неудобства. Но с другой стороны можно постоянно изменять назначение кнопок, тем самым подстраивая управление игрой под индивидуальные предпочтения. Популярным DirectInput-устройством является DualShock 4.
На рынке можно чаще встретить XInput-контроллеры, так как DirectInput-устройства выпускаются реже. Некоторые модели геймпадов рассчитаны под оба протокола, благодаря чему пользователю доступно быстрое переключение между ними.
Что выбрать?
Перед тем как выбрать между XInput и DirectInput, следует определиться, в какие игры чаще всего приходится играть. В любом случае стоит остановиться на XInput, ведь, как уже было упомянуто вше, все современные игры рассчитаны именно на него. Неплохим вариантом также послужат контроллеры, заточенные под оба протокола.

Источник

Геймпад – одно из самых распространенных средств управления в компьютерных играх. Многие проекты, портированные с консолей, рассчитаны в первую очередь именно на джойстик, и лишь во вторую – на клавиатуру с мышкой. В этой статье мы рассмотрим основные характеристики геймпадов и приведем рекомендации по выбору.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Платформа

Большинство контроллеров универсальны и подходят как для игровой приставки, так и для персонального компьютера, а некоторые даже для смартфона или планшета на Android. Но, несмотря на это, следует заранее определиться с устройством, для которого вы будете использовать геймпад – они не всегда работают с разными девайсами одинаково хорошо и беспроблемно. Выбирая джойстик для ПК, также загляните в спецификации и убедитесь, что ваша операционная система поддерживается производителем.

XInput и DirectInput

Когда-то все распространенные на рынке контроллеры работали с использованием DirectInput API. Ситуация изменилась с выходом Xbox 360 – компания Microsoft реализовала альтернативный вариант, который получил название XInput. После этого он появился и в операционных системах Windows, начиная с версии XP. Подавляющее большинство вышедших для ПК игр, в которых можно задействовать джойстик, поддерживают API от Microsoft.

Отдельные производители джойстиков объединили оба варианта API в одном устройстве. Например, это реализовано в Logitech F310/F510/F710, снискавших заслуженную популярность среди геймеров. Переключение чаще всего производится при помощи регулятора, расположенного на тыльной стороне устройства.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Метод подключения

Геймпады бывают проводными и беспроводными. Первые могут подсоединяться к консоли или ПК при помощи USB-кабеля, вторые – используя Bluetooth или фирменный приемопередатчик.

Проводное подключение выигрывает в скорости отклика (хотя разница часто составляет миллисекунды, и на практике вы вряд ли это заметите, если не являетесь профессиональным геймером). Беспроводное же позволяет пользователю с удобством разместиться, не ограничивая его длиной провода. К сожалению, минусом является зависимость от встроенных аккумуляторов или батареек, которые необходимо заряжать или заменять новыми.

Материалы

Выбранные производителем материалы и качество сборки устройства влияют как на удобство использования, так и на долговечность. Гораздо приятнее держать в руках контроллер, который не скрипит и не люфтит при нажатии на кнопки или работе со стиками. Преимуществом является и противоскользящее покрытие в местах хвата.

Форма и управляющие элементы

Эргономике геймпадов задают тон DUALSHOCK и XBOX controller. Первый вариант считается более компактным и удобным – большинство пользователей сходятся на том, что параллельное расположение стиков идеально подходит для игр. Впрочем, это дело привычки и личных предпочтений каждого геймера.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

Аналоговые стики

Некоторые бюджетные контроллеры не оснащаются аналоговыми стиками. Покупать их не следует – почти все современные игры предусматривают использование «аналогов». Стоит упомянуть, что для большего удобства существуют насадки на стики, позволяющие изменить форму их верхней части. Часто такие решения обладают повышенными противоскользящими свойствами.

Что такое directinput и xinput. Смотреть фото Что такое directinput и xinput. Смотреть картинку Что такое directinput и xinput. Картинка про Что такое directinput и xinput. Фото Что такое directinput и xinput

«Особые» типы кнопок

На некоторых моделях геймпадов реализованы дополнительные и программируемые кнопки. Дополнительные могут выполнять дублирующую функцию или изменять количество срабатываний других клавиш, возможности программируемых гораздо шире.

Используя контроллер с ПК, вы можете при помощи специализированного софта, идущего в комплекте, создавать различные макросы – например, последовательности нажатий, и привязывать их к одной кнопке. Полезность такой фишки для соревновательных игр вроде футбольных симуляторов или файтингов сложно переоценить.

Вибрация

Оснащение устройства вибромоторами увеличивает вовлеченность в игровой процесс – их срабатывание происходит в зависимости от разворачивающихся на экране событий, например, при попадании в штангу в FIFA, пропущенном ударе в файтинге, или аварии в гонке. Обращать внимание на геймпады, не поддерживающие вибрацию, нет особого смысла – стоимость устройства она почти не увеличивает, а впечатления от игр улучшает сильно. Если же вы захотите, эту функцию всегда можно просто отключить.

Заключение

При выборе контроллера первым делом определитесь, с каким устройством вы планируете его использовать, и убедитесь в их совместимости. Проводной или беспроводной вариант выбирайте в соответствии с личными предпочтениями – я, например, использую проводной, потому что не хочу заряжать дополнительный девайс. Оптимально, если джойстик будет поддерживать как Xinput, так и DirectInput, и обладать вибромоторами.

Не забывайте и об эргономике – если есть возможность, подержите выбранную модель в руках, попробуйте, удобно ли пользоваться стиками, кнопками и другими элементами управления. Хорошо, если у геймпада будут прорезиненные вставки – тогда пальцы не будут соскальзывать во время длительных игровых баталий.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Дополнительные кнопки 9, 10, Turbo, Clear и Auto