dinput и xinput что это

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

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

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

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

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

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

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

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

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

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

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

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

Источник

#1 ALEKCEN

Отправлено 01 Ноябрь 2013 — 06:43

Вот думаю менять свой геймпад OKLICK GP-310M на что-нибудь по-новее,чтоб поддерживал вибрацию во ВСЕХ играх…желательно,чтоб работал без драйвера (чтоб конфликтов не было)…

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

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

И ещё — лучше даже,чтоб геймпад эмулировал не назначенные кнопки,а не использовал существующие (да,да,отличная статья про клавиатуру,где говорилось,что…порядка 50 кнопок что-ли ещё свободные в винде (или железе,блин,забыл) которые могли-бы использовать геймпады,мышки,клавы и т.д.

И вот после всякой подобной хрени я подумал о его замене…у меня мой — Direct Input,но вот сказать — лучше он или хуже XInput — я не могу,потому-что одна из статей есть на вике,но на английском,а второй — тупо нету…

Потому-что я подумал,что все эти мелкие косяки,если и устранимы,то только некоторые из них иили частично,но вот,что брать — тот-же D Input только смотреть,чтоб поддерживал Win 8 (x64) (кстати да,у меня Windows 8 x64,а драйвера для моего геймпада есть только для…блин,не помню уже какой винды — Win XP что-ли…ведь только там он у меня почти без нареканий работал.

Ну кроме проблемы с вибрацией,которая была не во всех играх,хотя и на сайте написано поддержка Win 7,но не сказано — x64 или нет,но я точно помню,что когда я покупал геймпад — ещё и не «пахло» Windows 7,да и драйверов на оф.сайте я что-то вообще не нашёл…так-что пользуюсь теми,что в комплекте шли,через «совместимость» их ставлю….

Ещё пару слов,как я себе его представляю — поддерживает все игры и везде работает вибрация,выглядит как геймпад от «соньки» (ну т.е. как мой или типо того)…очень желательно,чтоб даже кнопки — auto,turbo и analog (ну и clear само собой) остались,т.к. реально полезные кнопки,чёрный цвет…ну и пожалуй всё,в остальном он был просто идеален и стоил своих….500 что-ли рублей.

По-поводу цены нового…ну…ну готов потратить 500-2000 рублей…думаю будет достаточно.

#2 Kues

Отправлено 19 Январь 2014 — 06:11

Что же касается геймпада, то советую брать Logitech F710. Это лучший геймпад. Если интересует проводная модель то присмотрись к Logitech F510 или Logitech F310. Все эти геймпады удобны, приятны на ощупь, поддерживают стандарты ввода XInput и DirectInput и ПОЛНОСТЬЮ стоят своих цен.

По поводу стандартов ввода, то тут дела следующие.

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

XInput — это стандарт ввода, разработанный специально для геймпада от Xbox 360, а тут Microsoft позаботилась чтобы всё было отлично. Назначение кнопок фиксированное (только в самой игре можно их сменить). Если геймпад поддерживает этот стандарт ввода, то он точно (100% гарантированно) будет определяться игрой (игра тоже должна поддерживать этот стандарт, но игр, не поддерживающих этот стандарт не выпускают уже лет 7) как надо (все кнопки выполняю свои функции и работает вибрация).

#3 bbk

Отправлено 19 Январь 2014 — 06:49

Что же касается геймпада, то советую брать Logitech F710. Это лучший геймпад. Если интересует проводная модель то присмотрись к Logitech F510 или Logitech F310. Все эти геймпады удобны, приятны на ощупь, поддерживают стандарты ввода XInput и DirectInput и ПОЛНОСТЬЮ стоят своих цен.

По поводу стандартов ввода, то тут дела следующие.

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

XInput — это стандарт ввода, разработанный специально для геймпада от Xbox 360, а тут Microsoft позаботилась чтобы всё было отлично. Назначение кнопок фиксированное (только в самой игре можно их сменить). Если геймпад поддерживает этот стандарт ввода, то он точно (100% гарантированно) будет определяться игрой (игра тоже должна поддерживать этот стандарт, но игр, не поддерживающих этот стандарт не выпускают уже лет 7) как надо (все кнопки выполняю свои функции и работает вибрация).

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

#4 Псиклон

Отправлено 22 Январь 2014 — 06:21

Бери SPEED Xeox Pro Analog Gamepad — Wireless, там можно переключаться между DirectInput и XInpu, цена около 270грн, это где-то 1000 рублей.

#5 Denkey

Отправлено 26 Март 2014 — 06:04

Совет по-поводу геймпадов Logitech поддерживаю, но можно значительно сэкономить, взяв Genius Blaze 5. По функционалу тот же 510-й от Лоджитек. И, кстати, подходит как для соньки 3-й, так и для ПК. И там, и там пользуюсь.

Сообщение отредактировал Denkey: 26 Март 2014 — 06:11

На что обратить внимание при выборе геймпада для ПК

Способы подключения, форм-фактор и другие важные характеристики.

dinput и xinput что это

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

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

Здесь есть два основных варианта: проводное подсоединение и беспроводное (по Bluetooth или через USB‑адаптер).

Проводные геймпады самые простые в использовании: достаточно подключить устройство в USB‑разъём, и готово. Не нужно волноваться о заряде аккумулятора или батареек. Кроме того, такие девайсы легче и дешевле беспроводных контроллеров. Но есть и очевидный минус — кабели. Они могут мешаться на столе или путаться под ногами.

Беспроводные геймпады гораздо удобнее, хотя и требуют к себе больше внимания. Как и в случае с многими другими гаджетами, их придётся периодически подзаряжать. Насколько часто — зависит от выбранной модели, в среднем заряда хватает на 7-10 часов игры.

Совместимость

Сегодня практически любой геймпад можно подключить к ПК. Главное, чтобы у него был хотя бы один свободный USB‑порт или поддержка Bluetooth. Даже такие экзотические устройства, как джойконы от консоли Nintendo Switch, можно подсоединить к компьютеру.

dinput и xinput что этоcommons.wiki.org

Стоит отдельно отметить, что контроллеры от консолей Xbox 360 и Xbox One традиционно хорошо «дружат» с компьютерами на Windows. Для их работы не нужно устанавливать дополнительные драйверы, ведь и консоль, и операционную систему разрабатывает Microsoft.

Поддержка XInput и DInput

XInput и DInput (DirectInput) — технологии, по которым геймпад передаёт информацию компьютеру. Если у геймпада есть поддержка XInput, то практически все современные игры сразу распознают его и подстроят свой интерфейс.

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

Обычно производители или интернет‑магазины указывают в описании товара, какие технологии поддерживает контроллер.

dinput и xinput что это

Некоторые устройства поддерживает сразу XInput и DInput. Обычно в них есть специальная кнопка для переключения между ними. Благодаря этому вы сможете использовать контроллер в новых и старых играх.

Расположение аналоговых стиков

dinput и xinput что этоwłodi/flickr.com

Для начала следует определиться, нужен ли вам контроллер с аналоговыми стиками. Если вы не собираетесь играть в новинки, а хотите купить несколько геймпадов для дружеских посиделок за Mortal Kombat 3, Tekken 2 и другой классикой, то вариант с «аналогами» будет для вас только лишней тратой денег. Устройства без стиков максимально доступные. В некоторых случаях менее чем за 600 рублей вы сможете купить комплект из четырёх экземпляров.

dinput и xinput что это

Геймпад OXION OGP01 без аналоговых стиков / oxion.ru

dinput и xinput что это

Геймпад Logitech F710 с аналоговыми стиками / logitech.com

Если вы всё-таки решили брать контроллер со стиками, то по этой характеристике можно выделить два основных вида устройств: с асимметричным расположением стиков (как у геймпада Xbox) и симметричным (как у геймпада Playion). По сути, все остальные производители копируют либо один, либо второй.

dinput и xinput что это

Геймпад Xbox One / xbox.com

Геймпад Playion 4 / playion.com

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

От себя могу добавить, что у меня есть два геймпада: от Xbox One и Genius MaxFire Blaze 5. «Аналоги» у них расположены по‑разному, но несмотря на это мне довольно комфортно переключаться с одного на другой.

Вибрация, акселерометр и другие функции

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

Акселерометр, тач‑панель и дополнительные программируемые кнопки также могут разнообразить или даже упростить геймплей. Но, как и в случае с вибрацией, сам разработчик должен добавить в игру возможность использовать эти функции.

До 1 500 рублей

Если вы играете несколько часов в месяц и не относитесь к геймингу как к основному хобби, то нет смысла приобретать слишком дорогое устройство. Для таких целей вполне достаточно геймпада примерно за 1 000 рублей. Сегодня за такие деньги вполне можно купить беспроводной контроллер с поддержкой XInput и DInput. Да, он будет не от крупного и известного бренда и не из самых дорогих материалов, но свою работу он выполнит.

В этой категории могу порекомендовать:

1. SVEN GC‑3050 — от 955 до 1 200 рублей

dinput и xinput что этоsven.fi

Беспроводной геймпад с поддержкой DInput и XInput, копирующий дизайн Sony DualShock 4. Оценка на «Яндекс.Маркете» — 4,5.

2. SVEN GC‑2040 — от 850 до 990 рублей

dinput и xinput что этоsven.fi

Также работает без проводов и поддерживает DInput и XInput. Отличается от старшей модели меньшим количеством кнопок и формой корпуса. Оценка на «Яндекс.Маркете» — 4.

3. CBR CBG 920 — от 540 до 780 рублей

dinput и xinput что этоcbr‑products.com

Самое доступное устройство в подборке. Работает без проводов, но не поддерживает XInput. По форме корпуса — полная копия Sony DualShock 3. Оценка на «Яндекс.Маркете» — 4.

От 1 500 до 4 000 рублей

Устройства из этой категории — выбор большинства геймеров. Такие геймпады, как правило, сделаны из более качественных материалов и лучше собраны. Поэтому они прослужат дольше своих более дешёвых собратьев. Также все контроллеры в этом ценовом диапазоне поддерживают XInput и DInput.

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

В этом сегменте советую приобрести:

1. Microsoft Xbox One Controller — от 2 999 до 4 990 рублей

dinput и xinput что этоxbox.com

Геймпад от последней консоли Microsoft. Поддерживается «из коробки» во всех современных играх. Оценка на «Яндекс.Маркете» — 4,5.

2. Xbox 360 Wireless Controller — от 1 650 до 2 990 рублей

dinput и xinput что этоxbox.com

Аксессуар от Xbox 360. Несмотря на то что после выхода консоли прошло уже 14 лет, многие геймеры до сих пор считают этот геймпад лучшим выбором. Оценка на «Яндекс.Маркете» — 4,5.

3. Logitech F710 — от 2 695 до 4 127 рублей

dinput и xinput что этоlogitech.com

Если вам не нравится асимметричное расположение стиков, но вы хотите получить качественный и удобный контроллер, обратите внимание на это устройство. Оценка на «Яндекс.Маркете» — 4,5.

От 4 000 рублей

Crème de la crème из мира геймпадов. В них используются самые дорогие и качественные материалы корпуса. Кроме того, у некоторых моделей есть возможность быстрой смены крестовины и стиков для подбора подходящей конфигурации, а также настройки дополнительных кнопок. Главное — не говорите жене, мужу или родителям, сколько вы на них потратили.

В этой категории рекомендую:

1. Microsoft Xbox Elite — от 9 838 до 12 490 рублей

dinput и xinput что этоxbox.com

Прокачанная версия обычного геймпада от Xbox One. В устройстве есть дополнительные клавиши. Также в нём поддерживается быстрая смена стиков и крестовины. Оценка на «Яндекс.Маркете» — 4,5.

2. Razer Wolverine Tournament — приблизительно 11 915 рублей

dinput и xinput что этоrazer.com

По форме полностью повторяет контроллер от Xbox. Устройство нацелено на профессиональных геймеров, поэтому для уменьшения задержки вывода («инпут‑лага») в нём используется проводное подключение. Оценка на «Яндекс.Маркете» — 4.

3. SteelSeries Stratus Duo — от 6 758 до 7 721 рублей

dinput и xinput что этоsteelseries.com

Как и Logitech, контроллер от SteelSeries — это альтернативный вариант для тех, кто хочет приобрести дорогое устройство с симметричным расположением стиков. Оценка на «Яндекс.Маркете» — 4,5.

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

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

В текущих реалия ПК-гейминга, современные игры поддерживают только XInput-совместимые геймпады, и только некоторые игры поддерживают DirectInput-устройства, и то, в основном применительно только к одному контроллеру — DUALSHOCK 4. Также стандарт DirectInput используется в различных гоночных и авиа-симуляторах, для работы игровых рулей и штурвалов.

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

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

RX 6600XT прибыли — цена радует

Самая дешевая 3060 снова в продаже

Недорогая RX 6600XT Gigabyte Gaming в продаже

-22000р на 3060 Ti Gigabyte = топ цена

-31 000р на 3080 MSI Gaming — дешевле нет нигде

Новейший Ryzen 5 5600G AM4 в Регарде

12Tb Toshiba: Регард скинул цену в полтора раза

RTX 3060 Ti за копейки в XPERT.RU

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

Вариант номер один — эмулятор x360ce.

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

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

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

x360ce.ini конфигурируете вы самостоятельно, конкретно под свой геймпад, с помощью утилиты из комплекта. После чего x360ce.ini и dll-файлы (как правило достаточно одного dll-файла — xinput1_3.dll) подбрасываются в папку с целевой игрой:

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

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

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

Вариант номер два — XOutput эмулятор.

В 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. Тут для полноценной работы потребуется другой пакет драйверов (вместо SCP) — ViGEm Bus:

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

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

И наконец вариант номер три — эмуляция XInput через Steam.

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

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

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

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

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

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

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

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

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

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

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

Источник

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

dinput и 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, ведь, как уже было упомянуто вше, все современные игры рассчитаны именно на него. Неплохим вариантом также послужат контроллеры, заточенные под оба протокола.

Источник

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

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