Что такое xinput игры

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Эмуляция XBox-контроллера для геймпадов без аппаратной поддержки XInput.

реклама

А что же делать юзеру, если у него в арсенале оказался геймпад без аппаратной поддержки XInput, DirectInput-совместимый? Выкидывать геймпад? Продавать и покупать XInput-совместимый? Нет, это совершенно необязательно, потому что существуют различные варианты эмуляции XInput для DirectInput Only геймпада. Вот эти варианты мы сегодня и рассмотрим.

Сразу оговорюсь, эмуляторов DS4Windows и InputMapper, предназначенных для DUALSHOCK 4, в этой статье не будет. Для DUALSHOCK 4 существует отдельная статья в блоге, DUALSHOCK 4 в реалиях ПК, где эта тема раскрыта достаточно широко.

реклама

Изначально эмулятор появился под названием «XBOX360 Controller Emulator v3.0 by Racer_S». Был он, мягко говоря, сыроват, пока его дальнейшим развитием не занялся пользователь с ником virus, обитающий тогда на сайте www.tocaedit.com. В дальнейшем всё это дело переросло в проект x360ce и существует по сей день.

Что представляет из себя x360ce эмулятор? Это кастомные библиотеки:

реклама

плюс файл с настройками:

реклама

Настроек много и они не универсальные. Эмуляция может работать, а может и не работать, зависит от игры и подобранных настроек. Для 64-битных приложений, нужно использовать 64-битную версию библиотек. Если для вашего DirectInput-геймпада в системе не установлен драйвер с поддержкой вибрации, вибрации не будет и через эмулятор. x360ce не работает с UWP-приложениями.

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

Скачать x360ce можно тут.

В XOutput принцип работы уже более продвинутый. При установке этого эмулятора, в систему ставится virtual bus driver (SCP драйвер-враппер, который также используют утилиты DS4Windows и InputMapper, для эмуляции XInput на геймпадах DUALSHOCK 4):

Но в отличие от заточенных под один геймпад DS4Windows и InputMapper, этот эмулятор всеяден и готов работать с любыми DirectInput геймпадами:

После настройки и активации эмуляции в системе (помимо нашего DirectInput геймпада) должен появиться XBox 360 геймпад:

Чтобы скрыть DirectInput сущность нашего геймпада от системы и игр, следует воспользоваться режимом «Exclusivity»:

. по идее должно стать. Эмулятор достаточно капризный, в том, что касается эксклюзивного режима. Особенно на последних версиях Windows 10. Т.е. может и не работать.

Вибрации через эмулятор, даже если она поддерживается вашим геймпадом, и в систему установлен родной forcefeedback драйвер для DirectInput устройства, не будет:

У этого эмулятора есть неоспоримые преимущества перед x360ce: он работает в UWP-приложениях, он не требует никаких сторонних DLL-библиотек в папке с игрой, он легко включается и выключается, его можно добавить в автозагрузку, он работает с 32-битными и 64-битными приложениями.

Скачать эмулятор можно тут.

Суть та же, но тут работа над софтом и драйвером идёт активнее.

Вот вам необходимые ссылки по новой версии XOutput:

Steam поддерживает большое количество геймпадов «из коробки», т.е. не требуется дополнительных телодвижений для того, чтобы Steam распознал ваш геймпад, а точнее правильно определил раскладку кнопок и прочее.

Но нет ничего страшного, если ваш DirectInput-геймпад незнаком стиму.

Для того, чтобы для вашего DirectInput-друга, в играх из библиотеки Steam (или добавленных туда вручную), заработала эмуляция XInput (и прочие плюшки), нужно проделать следующие шаги.

Подключить геймпад к ПК, запустить Steam и перейти в режим Big Picture:

Перейти в пункт меню с настройками контроллера:

поставить галочку на «пользовательские настройки обычного геймпада»:

выбрать внизу, в обнаруженных контроллерах, ваш геймпад и настроить его в соответствии с подсказками на экране:

нажать «сохранить» и дать имя вашему геймпаду:

Всё. Теперь ваш геймпад поддерживается в Steam, и для него доступны все настройки для любой игры из библиотеки:

В играх (из библиотеки Steam) ваш геймпад будет определяться, как XBox 360 контроллер. Чтобы произвести дополнительные настройки по конкретной игре, нужно вызвать в процессе игры оверлейный экран Steam (кнопкой GUIDE) или комбинацией клавиш и произвести все необходимые манипуляции.

Источник

начало работы с ксинпут в Windows приложениях

ксинпут позволяет Windowsным приложениям обрабатывать взаимодействия контроллера Xbox (включая эффекты румбле и голоса для ввода и вывода).

В этом разделе содержится краткий обзор возможностей Ксинпут и их настройки в приложении. Это включает в себя следующее:

Введение в Ксинпут

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

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

Контроллер Xbox

Использование Ксинпут

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

Несколько контроллеров

Приложения должны поддерживать несколько контроллеров.

Получение состояния контроллера

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

Чтобы получить состояние, используйте функцию ксинпутжетстате :

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

Неработающая зона

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

Игры, использующие Ксинпут, которые не фильтруют неработающую зону, будут испытывать низкую игрового процессау. Обратите внимание, что некоторые контроллеры являются более важными, чем другие, поэтому неработающая зона может отличаться от единицы к единице. Рекомендуется тестировать игры с несколькими контроллерами Xbox в разных системах.

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

Приложение должно проверить неработающие зоны и ответить на аппоприатели, как показано в следующем примере:

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

Обратите внимание, что вы можете определить собственные зоны для устройств и триггеров (в любом месте от 0-65534) или использовать предоставленный деадзонес, определенный как _ левый игровой планшет ксинпут _ _ _ деадзоне, ксинпут _ игровой планшет, _ правый _ бегунок _ и _ _ _ пороговое значение триггера игровой планшет в деадзоне. h:

После применения деадзоне может оказаться полезным масштабировать результирующий диапазон [ 0,0.. 1.0 ] с плавающей запятой (как в примере выше) и при необходимости применить нелинейное преобразование.

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

Установка эффектов вибрации

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

Получение идентификаторов звуковых устройств

Головной телефон для контроллера Xbox имеет следующие функции:

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

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

Сведения об использовании идентификатора устройства Каптуреид см. в разделе запись потока.

Получение идентификаторов GUID DirectSound (только для устаревших пакетов SDK DirectX)

использование устаревшей DirectSound не рекомендуется и недоступно в приложениях Windows Store. Сведения в этом разделе относятся только к версии пакета SDK для DirectX Ксинпут (Ксинпут 1,3). Windows 8 версия ксинпут (ксинпут 1,4) использует исключительно Windows идентификаторы устройств API аудио-сеансов (васапи), полученные через ксинпутжетаудиодевицеидс.

После получения идентификаторов GUID можно создать соответствующие интерфейсы, вызвав DirectSoundCreate8 и DirectSoundCaptureCreate8 следующим образом:

Источник

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

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

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

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

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

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

Что такое xinput игры. Смотреть фото Что такое xinput игры. Смотреть картинку Что такое xinput игры. Картинка про Что такое xinput игры. Фото Что такое 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 в одном устройстве? Производители также задавались им и выпустили модели которые могут работать в любом из этих стандартов по вашему желанию. Для этого необходимо всего лишь использовать переключатель, размещенный на тыльной стороне устройства. Практично и иногда очень полезно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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