Xinput что это: Сравнение функций XInput и DirectInput — Win32 apps

Содержание

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

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

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

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

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

рекомендации

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

Итак:

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

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

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

xinput1_4.dll
xinput1_3.dll
xinput1_2.dll
xinput1_1.dll
xinput9_1_0.dll 

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

x360ce.ini

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:

  1. ViGEm Bus Driver Installation 
  2. ViGEm Bus Driver Installation – caveman edition
  3. Virtual Gamepad Emulation Framework Documentation

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

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

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

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

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

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

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

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

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

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

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

На этом пока всё.

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

Как настроить геймпад на ПК: подключение и настройка джойстика

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

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

Содержание

Чем отличаются геймпады
Как проверить геймпад без игры?
Драйверы
Как игры взаимодействуют с геймпадами
Программы
Подключение и настройка джойстика
Как подключить любой геймпад к компьютеру
Заключение

Протоколы DirectInput и XInput

Для взаимодействия разных программ и устройств с компьютером придуманы API — программные интерфейсы, помогающие устройствам подружиться с ПК. DirectInput и XInput — именно такие API. Разница в том, что DirectInput был придуман в начале 2000-х и с тех пор особо не менялся, а XInput появился в конце 2005-го для подключения геймпада Xbox 360 и до сих пор используется в играх.

Разница тут в том, что XInput заточен под контроллеры стандарта Xbox — количество кнопок, осей и прочего строго зафиксировано, зато игры легко будут видеть геймпад и моментально под него подстроятся.

А вот DirectInput подразумевает, что управление в каждой игре придется настраивать вручную. С одной стороны, это дает гибкость и свободу пользователю, а с другой — это очень утомляющее занятие. Впрочем, найти в продаже такой геймпад несколько сложнее: обычно даже сторонние производители подстраиваются под XInput, а на ум из примеров приходят только контроллеры PlayStation, которые работают через DirectInput.

Такие разные кнопки

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

Самые частые обозначения — значки с Xbox: это зеленая кнопка A, красная B, желтая Y и синяя X.

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

Впрочем, при выборе геймпада для ПК вы увидите много Xbox-образных и всего несколько вариантов, совместимых с Nintendo. Например, таких, как Canyon CND-GPW3.

А вот символы для PlayStation хоть и более странные, но наверняка всем известны: это крест, круг, квадрат и треугольник.

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

Еще один устаревший формат изображения кнопок контроллера — цифры. Этот стандарт был популярен до изобретения XInput, когда еще не было ясно, что большинство игр будет использовать набор кнопок с Xbox.

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

Стики и их оси

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

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

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

Хоть то, как настроить джойстик на пк, зависит только от предпочтений пользователя, программы, API-интерфейсы и игры должны корректно отображать оси, которые нажимаются на геймпаде.

Триггеры

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

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

Стрелки (D-Pad, крестовина)

Еще одной важной составляющей геймпада являются кнопки направлений, известные как D-Pad, или крестовина. Эти кнопки используются как для самостоятельного управления движениями героев (чаще всего в двухмерных играх), так и как вспомогательные элементы.

Разные геймпады отличаются тем, насколько явно кнопки крестовины у них прожимаются. Часто разница состоит в том, есть ли четкий щелчок при нажатии того или иного направления. Этот аспект нельзя однозначно оценить, потому что разным людям нравятся разные ощущения от нажатий.

источник: venturebeat.com

Обратная отдача

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

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

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

Экзотика

Иногда встречаются и геймпады с необычным оформлением или дополнительными возможностями, выходящими за рамки стандарта. Например, некоторые контроллеры позволяют переставлять целые блоки клавиш на усмотрение пользователя или обладают подсветкой. Также встречаются геймпады с подсветкой, как, например, Sven GC-5070. Обязательными такие ухищрения не являются, поэтому необходимость их наличия определяется покупателем.

Геймпад
Sven GC-5070

2 799 р.*

Смотреть товар

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

Глобально способов подключить геймпад к компьютеру два: проводной и беспроводной. С первым все понятно: провод вставляется в usb-порт компьютера, и после этого уже начинается его непосредственная настройка.

С Bluetooth-соединением все сложнее. Во-первых, компьютер тоже должен обладать передатчиком в каком-то виде: либо внешним USB-«свистком», либо встроенным адаптером. Некоторые производители кладут к своим геймпадам такие адаптеры в комплекте, но, например, с геймпадами от игровых приставок Sony и Microsoft их в коробке нет. Для подключения необходимо ввести геймпад в режим обнаружения (обычно для этого есть отдельная кнопка или их сочетание), после чего компьютер обнаружит устройство bluetooth, установит соединение и начнет установку драйвера. В дальнейшем этот процесс будет проходить быстрее.

Впрочем, практически все беспроводные геймпады можно подключить к компьютеру по проводу.

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

Для этого достаточно нажать сочетание клавиш Win+R, а затем в открывшемся окне ввести команду joy.cpl. В открывшейся утилите Windows уже должно отображаться ваше устройство, что подтверждает как минимум наличие соединения с системой.

Выделив контроллер и нажав «Свойства», вы откроете окно, в котором можно будет протестировать нажатия клавиш и определение осей. Если при тестировании в этом окне возникают какие-то вопросы по работе кнопок или стиков, то, скорее всего, неполадки в самом устройстве.

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

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

Драйверы XInput-геймпадов

В большинстве случаев драйверы для XInput-геймпадов подгружаются автоматически и вмешательства пользователя не требуют. Однако иногда устройство не определяется должным образом, и в таком случае требуется вмешательство пользователя. Если геймпад поддерживает и XInput, и DirectInput, то имеет смысл загрузить утилиту XBOX 360 Accessories v1.2 и через нее переключить режим работы геймпада на нужную библиотеку.

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

Драйверы DirectInput-геймпадов

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

Клавиатуры и мыши

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

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

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

Эмулятор x360ce (версии 3.x)

Программа x360ce позволяет эмулировать геймпад Xbox 360 с помощью других устройств — это нужно, когда какая-нибудь старая игра отказывается корректно работать с новым геймпадом или когда вы подключаете DirectInput-геймпад к игре, которая не поддерживает эту систему. Также с помощью x360ce можно к играм подключать контроллеры другого типа, которые по умолчанию ими не воспринимаются — например, руль или авиационный штурвал.

Установка у программы достаточно простая: необходимо загрузить саму x360ce-версию 3.2.10.82, а затем запустить от имени администратора. Конкретно сам загруженный exe-файл сам по себе эмулятором не является — он лишь позволяет конфигурировать устройство под конкретную игру, с которой он будет использоваться. В программе можно настроить, как нажатия на вашем отличном от геймпада Xbox 360 устройстве будут маскироваться под этот геймпад. Также можно загрузить конфигурационные файлы из интернета.

После настройки или загрузки нужных файлов их нужно разместить в папке с игрой. Обычно это два файла: x360ce.ini и xinput1_3.dll, — которые и следует разместить в корневом каталоге.

Эмулятор x360ce (версии 4.x)

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

В целом подключение напоминает предыдущую версию: нужно скачать эмулятор, а затем настраивать управление в программе. Возможно, при первом включении программа предупредит об отсутствии виртуального драйвера — в таком случае нужно перейти во вкладку Issues и нажать кнопку Install, чтобы его установить. Затем предстоит в основном окне программы привязать кнопки вашего геймпада к кнопкам виртуального контроллера Xbox 360 — и все, настройка завершена. Теперь все игры будут видеть ваш контроллер как Xbox 360 Controller и воспринимать от него команды соответствующе.

XOutput

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

В первую очередь нужно установить драйвер оригинального геймпада Xbox 360 для Windows. Также нужны VIGEm Framework, ScpToolkit и Auto-Whitelister. После установки всего этого можно переходить к установке самой XOutput.

Затем нужно добавить контроллер в самой XOutput. После успешного добавления внутри программы геймпад нужно отключить от компьютера и перейти в панель управления. Там среди устройств геймпада быть не должно, и даже после его повторного подключения он не должен появляться в списке устройств. Впрочем, он должен определяться внутри самой программы XOutput, что для нас самое важное — иначе получится, что одно и то же устройство дублируется на компьютере под разными названиями.

Теперь можно наконец переходить к играм, где ваш контроллер должен определяться как Xbox 360 Controller.

Durazno

Это достаточно необычная программа, которая предназначена для переназначения кнопок на геймпадах Xbox, потому что сама она и работает через XInput. Принцип ее действия схож с x360ce и заключается в замене ini- и dll-файлов, поэтому использовать эти программы одновременно нельзя.

Настроить все довольно просто: нужно скачать и запустить программу, подключить свой геймпад Xbox или другой XInput-совместимый, переназначить нужным образом кнопки и движения стиков, сохранить файлы и переместить их в корневой каталог игры, с которой планируется использовать геймпад.

Steam

Не все знают, но популярный магазин игр для компьютера Steam тоже позволяет переназначить кнопки и использовать в играх XInput- и DirectInput-геймпады. Для этого нужно скачать и установить Steam на свой компьютер, перейти по меню Steam — «Настройки» — «Контроллер», выбрать «Основные настройки контроллера» и там уже выбрать тот тип геймпада, который предстоит настраивать.

Благодаря этому можно использовать в играх не только геймпад Xbox, но и эмулировать от него DirectInput-джойстики и контроллеры от консолей PlayStation и Nintendo. Правда, работать эта схема будет только при запуске купленных в Steam игр, да еще и через режим Big Picture, рассчитанный на управление интерфейсом программы с геймпада.

AntiMicro

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

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

DS4Windows

Контроллеры Sony — одни из немногих современных геймпадов, которые на ПК работают через DirectInput. Сейчас их уже полностью поддерживают современные игры, но чтобы играть в проекты, вышедшие до 2015 года, все равно придется эмулировать контроллер Xbox. Это удобнее делать не через рассмотренную ранее x360ce, а именно через DS4Windows, потому что она предназначена конкретно для PlayStation DualShock 4.

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

Геймпад PlayStation DualShock 4 Black

3 490 р.*

Смотреть товар

MotioninJoy

По аналогии с DS4Windows программа MotioninJoy призвана облегчить подключение геймпада от PlayStation 3 к ПК. Работает все по тому же принципу: нужно скачать, установить, подключить геймпад, выбрать профиль (или настроить кнопки самостоятельно) и играть.

Xpadder

Эта программа нужна, чтобы подключать геймпад от Xbox к старым играм и эмуляторам ретроприставок. Работает все по аналогии с другими похожими программами: после установки нужно добавить контроллер в программу и назначить ему клавиши, после чего нужные игры и программы сами начнут определять геймпад как совместимый.

JoyToKey

Любопытная программа, которая также позволяет эмулировать с геймпада использование клавиатуры и мыши, но не только в играх, а еще и в самой Windows. Если идея поуправлять Microsoft Office и браузером с контроллера кажется вам привлекательной, то можно попробовать установить и настроить эту программу.

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

Итак, вы решили поиграть в игру с помощью геймпада и уже приобрели устройство. Что стоит сделать после того, как контроллер вынут из коробки?

ШАГ 1: подключение, установка драйвера

Первым делом стоит подключить геймпад к компьютеру тем способом, через который вы планируете его в дальнейшем использовать: по проводу или через Bluetooth-соединение. В большинстве случаев устройство само определится системой и установит драйвер, но если этого не произошло (Windows сообщила о неудаче, или контроллер определяется в системе как «неопознанное устройство»), то стоит загрузить драйвер самостоятельно с сайта производителя или с идущего в комплекте компакт-диска.

ШАГ 2: проверка и калибровка

После того, как устройство определилось системой, и прежде чем запускать игру, стоит проверить, насколько точно геймпад отрабатывает нажатия. Для этого нужно запустить встроенную в Windows утилиту joy.cpl, о которой мы уже рассказывали, где можно посмотреть точность отработки нажатий.

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

ШАГ 3: что делать, если игра не видит джойстик

Предположим, вы установили и проверили геймпад — с ним все в порядке. Но вдруг игра на компе, ради которой все и затевалось, его не видит? Что делать? Однозначного ответа на этот вопрос нет, так что рассмотрим несколько причин.

Самый простой вариант — игра просто не умеет самостоятельно переключаться между устройствами, и способ управления нужно выбрать в настройках. Для этого в настройках необходимо найти пункт вроде «Управления» или «Устройства ввода» и выбрать там «Контроллер» или «Геймпад» вместо клавиатуры.

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

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

Геймпад от PlayStation 4 (DualShock 4)

Контроллер от PS4 является DirectInput-устройством, что создает проблемы с играми до 2015 года выхода. Новые проекты корректно работают с устройством, но для запуска старых имеет смысл использовать утилиту DS4Windows. Подключить геймпад к компьютеру можно как по проводу, так и через Bluetooth.

Геймпад от PlayStation 3 (DualShock 3)

С контроллером PS3 все несколько сложнее. Он тоже является DirectInput-устройством и тоже с определенного момента стал полностью поддерживаемым контроллером, но поддерживает его куда меньшее количество игр. Заставить его работать со всеми играми можно с помощью программы MotioninJoy, а подключать к компьютеру — по проводу.

Xbox One Controller

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

Не все модели геймпадов от Xbox One можно без проблем подключить к ПК через Bluetooth: некоторые будут работать только через USB-провод, или придется докупать отдельный адаптер. Хотя Elite-версия геймпада совместима как с консолью, так и с ПК.

Microsoft Xbox One
Elite v2

14 499 р. *

Смотреть товар

Xbox 360 Controller

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

Nintendo Switch Pro Controller

Pro Controller для Nintendo Switch иногда называют одним из самых удобных геймпадов, и с недавних пор его можно использовать с компьютером, но только на Windows 10 и выше. Полноценно его функции поддерживает очень небольшое количество игр, но благодаря внутренней эмуляции Steam геймпадом можно пользоваться во всех играх, где поддерживаются контроллеры Xbox.

Впрочем, есть и минусы: Steam работает с Pro Controller только через USB-провод, а вот при подключении геймпада к ПК через Bluetooth придется воспользоваться сторонним эмулятором вроде x360ce.

Контроллер Nintendo Switch Pro

7 199 р.*

Смотреть товар

Wii U Pro Controller

Подключение Wii U Pro Controller к ПК — одна из самых нетривиальных задач, которую мы сегодня рассматриваем. Официально подключить его к компьютеру нельзя, но энтузиасты все-таки нашли способ.

Для этого нужно загрузить и установить утилиты WiinUSoft 2.1 и Windows 10 Hotfix. Первым делом подключите контроллер к компьютеру по USB, а затем включите на компьютере Bluetooth (да, при проводном соединении). После этого нужно зажать красную кнопку с задней стороны геймпада и подключить к компьютеру. Затем из папки с Windows 10 Hotfix переместите файл Nintroller.dll в папку WiinUSoft 2.1 и запустите WiinUSoft.exe — после этого можно играть.

Геймпады от старых консолей (PS1, PS2, Xbox, Dreamcast)

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

Для самой комфортной игры на ПК с геймпадом стоит раздобыть контроллер от Xbox One или Xbox 360. Эти джойстики без проблем подключаются к компьютеру на Windows 7, 8, 8.1, 10 и 11, а также поддерживаются максимальным числом игр. С ними у пользователя будет меньше всего проблем.

При использовании различных экзотических вариантов, начиная от контроллера DualShock 3 или 4 и заканчивая геймпадами от старых приставок, придется подбирать эмулятор, подходящий под ваше устройство и конкретную игру, в которую вы хотите с ним играть. Учитывая, что интернет наполнен разными эмуляторами XInput и DirectInput, это не станет большой проблемой, но потребует времени на настройку.

Посмотреть все геймпады и выбрать свой

Выбрать

*Информация о товарах, размещенная на «Эльдоблоге», не является публичной офертой. Цена товаров приведена справочно. С актуальными ценами на товары в соответствующем регионе вы можете ознакомиться на сайте eldorado.ru

Присылайте нам свои обзоры техники и получайте до 1000 бонусов на карту «Эльдорадости»!

Reddit — Погрузитесь во что угодно

Итак, есть 2 типа людей: те, кто не знает, что такое Dinput и Xinput, и те, кто совершил ошибку, купив дешевый игровой USB-контроллер, чтобы играть в свои игры в Steam. Также я знаю, что официальное название «DirectInput», но мне нравится Dinput.

Таким образом, Dinput и Xinput — это два способа, с помощью которых игровой контроллер может взаимодействовать с ПК, Dinput был представлен в Windows 95 с поддержкой USB и с тех пор остается неизменным, Xinput был создан из-за популярности Xbox 360 и был добавлен для перепрофилирования избыток контроллеров Xbox 360 для компьютерных игр. Они оба должны делать одно и то же. Но делайте это совершенно по-другому, Dinput сообщает компьютеру некоторые характеристики контроллера (сколько кнопок и Axii, поддержка Rumble и т. д.) и сообщает компьютеру, когда они нажаты. Он может поддерживать практически неограниченное количество кнопок и неограниченное количество игроков. В то время как Xinput позволяет контроллерам сопоставлять себя с контроллером Virtual XBox. Это должно устранить необходимость настраивать каждую игру отдельно.

Теперь вы можете заметить, что это не сценарий xkcd/927. Оба протокола были сделаны Microsoft для Windows, и кроме перенастройки, какую пользу дает xinput? Стандарты обычно создаются для ДОБАВЛЕНИЯ функций. Посмотрите на USB C, это новый стандарт, созданный той же организацией, что и USB A. Но оно того стоит, USB C дает вам двойную скорость по сравнению с USB 3.1, цифровое видео, реверсивность и более стандартный разъем без дополнительных мини и микро формы без каких-либо реальных недостатков, кроме того факта, что стандарт все еще должен закрепиться (как и все стандарты).

Посмотрите на Xinput, да вам не нужно его переназначать. Но Dinput позволяет вам сделать любой контроллер, который вы хотите, от джойстика Atari к этому, в то время как Xinput требует, чтобы вы ограничились контроллером xbox. Конечно, контроллер xbox имеет много кнопок, но даже если у вас есть всего 1 дополнительная кнопка или даже 2 шляпы, такие как Virtual Boy, вы не можете играть ни в одну игру xinput. Также вы не можете играть ни в одну игру, для которой требуется более 4 игроков.

Не то чтобы Dinput не нуждался в улучшении. Он устарел, если вы посмотрите на входы, он принимает один из них — трекболы. Да… Xinput мог бы легко улучшить его. Она была сделана через 1 год после wii и через 3 года после DS. Почему он не поддерживает контроллеры движения и сенсорные панели или даже знаменитый Kinect (они могли бы добавить его с обновлением стандартов)? Почему он не поддерживает дополнительные дисплеи, такие как Dreamcast или Wii U? Эти факты становятся проблемой сейчас, когда для каждого VR-устройства необходимо создавать собственный драйвер. Также контроллеры DInput обычно дешевле.

Xinput просто искусственно ограничивает и дает сомнительную пользу. Он только что разделил программистов и создателей периферийных устройств. На рынке эмуляции обычно используется Dinput из-за его настраиваемости (удачи в поиске контроллера в стиле ретро с Xinput по разумной цене), если только вы не эмулируете Gamecube и не нуждаетесь в аналоговых триггерах Xinput. Симуляторы обычно Dinput из-за его способности позволять много кнопок. Игры Triple A используют Xinput, потому что он не требует сопоставления кнопок, инди-игры обычно используют Dinput, потому что это дешевле, если только они не используют движок 3D-игры, потому что движки 3D-игр обычно ориентированы на поддержку Xinput. Это безумие. Почему я не могу просто купить игровой контроллер и ожидать, что он будет работать? Тем более, что производители контроллеров часто не говорят, какой стандарт он поддерживает. А компьютерные геймеры в любом случае предпочитают клавиатуру и мышь для игр, в которые они играют.

Опять же, это не xkcd/927. Оба эти стандарта были созданы Microsoft для Microsoft. Xinput носит ограничительный характер и не дает реальной пользы. Единственная причина, по которой он популярен, заключается в том, что Microsoft протолкнула его со своими контроллерами XBox.

Я только что пробормотал 7 абзацев об игровых контроллерах USB. Я, вероятно, должен добавить TL; DR

Игровые контроллеры TL; DR USB имеют конфликтующие стандарты, один из которых — Dinput, который дает вам неограниченное количество комбинаций кнопок и джойстиков, а другой — Xinput, который основан на контроллере XBox 360 и ограничивает вас двумя джойстиками, 1 джойстиком, 4 кнопками лица. , 2 плечевых кнопки, 2 плечевых триггера, кнопки запуска и возврата и 4 игрока, хотя они дороже.


Это сноска от модераторов CMV. Мы хотели бы напомнить вам о нескольких вещах. Во-первых, пожалуйста, прочитайте наши правила. Если вы видите комментарий, который не работает, эффективнее сообщить об этом, чем отрицать его. Кстати говоря, минуса не меняют мнение ! Есть вопросы или опасения? Смело пишите нам на номер . Счастливого CMV!

xinput — ArchWiki

Эта статья или раздел нуждается в улучшении языка, синтаксиса вики или стиля. См. Help:Style для справки.

Причина: Не уверен, нужна ли нам эта страница. Многие примеры разбросаны по страницам, таким как libinput, Touchpad Synaptics, ускорение мыши, кнопки мыши или сенсорный экран. Они гораздо полезнее этой страницы и собирать все здесь, скорее всего, бесполезно. (Обсудите в Talk:Xinput#Future этой страницы)

xinput — это утилита для настройки и тестирования устройств ввода X, таких как мыши, клавиатуры и сенсорные панели. Он находится в пакете xorg-xinput.

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

Список устройств

Чтобы получить список доступных устройств xinput, используйте:

 $ список xinput 
 ⎡ Указатель виртуального ядра id=2 [мастер-указатель (3)]
⎜ ↳ Указатель виртуального ядра XTEST id=4 [ведомый указатель (2)]
⎜ ↳ DELL0ABC:DE F123:4567 Идентификатор мыши = 9 [ведомый указатель (2)]
⎜ ↳ DELL0ABC:DE F123:4567 Идентификатор сенсорной панели = 10 [ведомый указатель (2)]
⎜ ↳ PS/2 Generic Mouse id=16 [ведомый указатель (2)]
⎣ Идентификатор виртуальной основной клавиатуры = 3 [основная клавиатура (2)]
    ↳ Идентификатор виртуальной основной клавиатуры XTEST = 5 [подчиненная клавиатура (3)]
    ↳ Идентификатор видеошины = 6 [ведомая клавиатура (3)]
    ↳ Идентификатор кнопки питания = 7 [ведомая клавиатура (3)]
    . .. 

Устройство можно идентифицировать по его имени ( "DELL0ABC:DE F123:4567 Touchpad" ) или идентификатору ( 10 ).

При выполнении в сценарии запуска рекомендуется использовать имя, поскольку идентификатор может измениться после перезагрузки и привести к несоответствиям.

Список свойств

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

 $ xinput list-props  устройство 
 

Это может привести к таким результатам:

 $ xinput list-props "DELL0ABC:DE F123:4567 Сенсорная панель" 
 Устройство "DELL0ABC:DE F123:4567 Сенсорная панель":
Устройство включено (179): 1
Матрица преобразования координат (181): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Нажатие включено (336): 0
libinput Нажатие включено По умолчанию (337): 0
libinput Tapping Drag Enabled (338): 1
libinput Tapping Drag Enabled По умолчанию (339): 1
.

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

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