Как нарисовать геймпад ps4

Обновлено: 04.07.2024

На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д… Это сильно влияет на погружение в игру:


На сайте игры выложен туториал по Arduino с описанием коммуникационного протокола для подобных контроллеров.

Я хочу создать то же самое для своей игры

В этом примере я потрачу примерно 40 долларов, чтобы добавить красивые, большие и тяжёлые переключатели на кокпит симулятора гонок. Основные затраты связаны с этими самыми переключателями — если бы я использовал простые переключатели/кнопки, то цена была в два раза ниже! Это настоящее оборудование, способное выдерживать 240 Вт мощности, а я буду пускать по ним только примерно 0,03 Вт.

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

Основные компоненты

    — $9
  • гоночная панель переключателей зажигания — $26
  • Куча соединительных проводов («male to male», «male to female», и т.д. ) — $2




Рекомендуемые инструменты

  • Паяльник (стоит выбирать хороший, но с работой справится и дешёвый)
  • Припой (с канифолью 60/40 — с ним легко работать, хотя он и вреден для окружающей среды..)
  • Термоусадочная трубка (и промышленный фен, фен для волос или зажигалка) или изолента
    (и стержни к нему), или какая-нибудь эпоксидная смола

  • Кусачки/плоскогубцы для зачистки проводов, или просто ножницы, если нужно сэкономить.

Программное обеспечение

  • Arduino IDE для программирования процессора Arduino
  • Для создания контроллера, отображающегося как настоящий аппаратный USB-контроллер/джойстик:
    • FLIP для прошивки нового firmware в USB-контроллер Arduino
    • Библиотека arduino-usb на github
    • Моя библиотека ois_protocol на github
      , если вы хотите использовать контроллер как виртуальный USB-контроллер/джойстик.

    Предупреждение

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

    Для меня это был обучающий проект, поэтому в нём могут быть плохие советы или ошибки!

    Работаем с переключателями без документации.

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

    Простая двухконтактная кнопка/переключатель

    С кнопкой всё просто — в ней нет светодиодов и всего два контакта. Переключаем мультиметр в режим непрерывности/прозвонки () и касаемся щупами разных контактов — на экране будет отображаться OL (open loop, разомкнутая цепь): это означает, что между двумя щупами нет соединения. Затем нажимаем на кнопку, по-прежнему касаясь щупами контактов — на экране теперь должно отобразиться что-то типа 0.1Ω и мультиметр начнёт пищать (сообщая о том, что между щупами присутствует очень низкое сопротивление — замкнутая цепь).


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

    Подключаем переключатель к Arduino

    Найдите на плате Arduino два контакта: помеченный GND и помеченный «2» (или любым другим произвольным числом — это контакты ввода-вывода общего назначения, которыми мы можем управлять через ПО).

    Если мы подключим переключатель таким образом, а потом прикажем Arduino сконфигурировать контакт «2» как контакт INPUT, то получим цепь, показанную слева (на рисунке ниже). При нажатии кнопки контакт 2 будет напрямую соединяться с землёй / 0V, а при отжатии контакт 2 не будет соединён ни с чем. Это состояние (ни с чем не соединён) называется «floating» (состояние с высоким импедансом) и, к сожалению, это не очень хорошее состояние для наших целей. Когда мы считываем данные с контакта в ПО (с помощью digitalRead(2)), получаем LOW, если контакт заземлён, и непредсказуемый результат (LOW или HIGH), если контакт находится в состоянии floating!


    Разработчикам ПО порядок может показаться обратным — при нажатии кнопки мы считываем false / LOW, а при отжатии — true / HIGH.

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

    Простейшая программа для Arduino, которая считывает состояние переключателя и сообщает PC о его состоянии, выглядит примерно так, как показано ниже. Вы можете нажать кнопку загрузки в Arduino IDE, а затем открыть Serial Monitor (в меню Tools), чтобы увидеть результаты.

    Другие переключатели почти без документации.

    Светодиодный переключатель с тремя контактами

    К счастью, на основных переключателях моей панели есть пометки трёх контактов:


    Я не полностью уверен, как он работает, поэтому мы снова переключим мультиметр в режим непрерывности и коснёмся всех пар контактов при включенном и отключенном переключателе… однако на этот раз мультиметр вообще не пищит, когда мы касаемся щупами [GND] и [+] при «включенном» переключателе! Единственная конфигурация, при которой мультиметр пищит (обнаруживает соединение) — когда переключатель «включен», а щупы находятся на [+] и [lamp].


    Светодиод внутри переключателя блокирует измерения непрерывности, поэтому из проведённых выше проверок мы можем предположить, что LED подключен непосредственно к контакту [GND], а не к контактам [+] и [lamp]. Далее мы переключим мультиметр в режим проверки диодов (символ ) и снова проверим пары контактов, но на этот раз важна полярность (красный и чёрный щуп). Теперь если мы соединим красный щуп с [lamp], а чёрный — с [GND], то светодиод загорится, а на мультиметре отобразится 2.25V. Это прямое напряжение диода, или минимальное напряжение, необходимое для его включения. Вне зависимости от положения переключателя, 2.25V от [lamp] к [GND] заставляет LED загореться. Если мы соединим красный щуп с [+], а чёрный — с [GND], то светодиод загорится только при включённом переключателе.

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

    1. [+] и [lamp] замыкаются накоротко, когда переключатель включен/замкнут.
    2. Положительное напряжение от [lamp] к [GND] всегда зажигает светодиод.
    3. Положительное напряжение от [+] к [GND] зажигает светодиод только при включенном/замкнутом переключателе.


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

    Подключаем переключатель к Arduino

    Проще всего использовать переключатель с Arduino, проигнорировав контакт [lamp]: подключить [GND] к GND в Arduino и соединить [+] с одним из пронумерованных контактов Arduino, например 3.

    Если мы сконфигурируем контакт 3 как INPUT_PULLUP (так же, как и для предыдущей кнопки), то придём к показанному ниже результату. Слева вверху показано значение, которое мы будем получать, выполнив «digitalRead(3)» в коде Arduino.

    Когда переключатель включен/замкнут, мы считываем LOW и светодиод загорается! Для использования такого переключателя в данной конфигурации мы можем использовать тот же код Arduino, что и в примере с кнопкой.


    Проблемы этого решения

    После подключения к Arduino полная цепь выглядит так:


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

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

    Можно посмотреть, что случится, если мы подключим контакт [lamp] или к 0V, или к +5V.

    Если [lamp] подключен к 0V, то светодиод постоянно отключен (вне зависимости от позиции переключателя), а распознавание позиции Arduino всё равно выполняется. Это позволяет нам при желании программно отключать LED!


    Если [lamp] подключен к +5V, то светодиод постоянно включен (вне зависимости от позиции переключателя), однако распознавание позиции Arduino поломано — с контакта всегда будет считываться HIGH.


    Подключаем этот переключатель к Arduino правильно

    Мы можем преодолеть описанные выше ограничения (низкий ток/яркость светодиода и отсутствие программного контроля над светодиодом), написав больше кода! Чтобы разрешить конфликт между возможностью управления светодиодом и сломанным из-за него распознаванием позиции, мы можем разделить две задачи по времени, то есть временно отключать LED при считывании контакта датчика (3).

    Сначала подключим контакт [lamp] к ещё одному контакту Arduino общего назначения, например, к 4, чтобы можно было управлять lamp.

    Чтобы создать программу, которая будет правильно считывать позицию переключателя и управлять светодиодом (мы заставим его мигать), нам достаточно просто отключать светодиод перед считыванием состояния переключателя. Светодиод будет отключаться всего на доли миллисекунд, поэтому мерцание не должно быть заметно:


    В Arduino Mega контакты 2-13 и 44-46 могут использовать функцию analogWrite, которая на самом деле не создаёт напряжения от 0V до +5V, а аппроксимирует его при помощи прямоугольной волны. При желании можно использовать её для управления яркостью светодиода! Этот код заставит свет пульсировать, а не просто мерцать:

    Подсказки по сборке

    Пост и так уже довольно большой, так что я не буду добавлять ещё и туториал по пайке, можете его загуглить!

    Однако приведу самые базовые советы:

    • При соединении проводов с большими металлическим контактами сначала убедитесь, что паяльник нагрелся и какое-то время нагревайте и металлический контакт. Смысл пайки заключается в образовании постоянного соединения созданием сплава, но если горячей является только одна часть соединения, то у вас запросто может получиться «холодное соединение», которое выглядит как соединение, но на самом деле не соединено.
    • При соединении двух проводов наденьте сначала на один из них кусок термоусадочной трубки — после соединения трубку надеть будет нельзя. Это кажется очевидным, но я постоянно это забываю и мне приходится использовать вместо трубки изоленту… Протяните термоусадочную трубку подальше от соединения, чтобы она не нагрелась раньше времени. Проверив паянное соединение сдвиньте на него трубку и нагрейте её.
    • Тонкие маленькие соединительные провода, которые я упоминал в начале, хорошо подходят для соединений без пайки (например, при подключении к Arduino!), но довольно хрупкие. После пайки используйте для их закрепления клеевой пистолет и устраните из самого соединения все напряжения. Например, красные провода на показанном ниже снимке при работе можно случайно потянуть, поэтому после пайки я зафиксировал их каплей горячего клея:


    Но после заливки этого firmware в Arduino устройство становится USB-джойстиком и перестаёт быть Arduino. Поэтому чтобы перепрограммировать его, нужно заново перепрошить исходную firmware Arduino. Эти итерации довольно мучительны — загружаем код Arduino, прошиваем firmware джойстика, тестируем, прошиваем firmware arduino, повторяем…

    Пример программы для Arduino, которую можно использовать с этим firmware, показан ниже — он конфигурирует три кнопки в качестве вводов, считывает их значения, копирует значения в структуру данных, ожидаемую этим firmware, а затем отправляет данные. Смыть, намылить, повторить.

    Если у вас есть контроль над игрой, с которой должно взаимодействовать устройство, то в качестве альтернативы можно общаться с контроллером напрямую — нет необходимости делать его видимым для ОС как джойстик! В начале поста я упомянул Objects In Space; именно такой подход использовали её разработчики. Они создали простой коммуникационный ASCII-протокол, позволяющий контроллеру и игре общаться друг с другом. Достаточно просто перечислить последовательные порты системы (они же COM-порты в Windows; кстати, посмотрите, как ужасно это выглядит на C), найти порт, к которому подключено устройство с названием «Arduino», и начать считывать/записывать ASCII по этой ссылке.

    На стороне Arduino мы просто используем функции Serial.print, которые применялись в показанных выше примерах.

    Она содержит код на C++, который можно интегрировать в игру и использовать её в качестве «сервера», и код Arduino, который можно выполнять в контроллере, чтобы использовать его в качестве «клиента».

    Настраиваем Arduino

    В example_hardware.h я создал классы, чтобы абстрагировать отдельные кнопки/переключатели; например, «Switch» — это простая кнопка из первого примера., а «LedSwitch2Pin» — переключатель с управляемым светодиодом из второго примера.

    Код примера для моей панели кнопок находится в example.ino.

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

    Настраиваем игру

    Код игры написан в стиле «single header». Для импорта библиотеки включим в игру oisdevice.h.

    Для перечисления COM-портов и создания соединения с конкретным устройством можно использовать такой код:


    Получив экземпляр OisDevice, нужно регулярно вызывать его функцию-член Poll (например, в каждом кадре), можно получать текущее состояние вывода контроллера с помощью DeviceOutputs(), использовать события устройства с помощью PopEvents() и отправлять устройству значения с помощью SetInput().

    Пример приложения, делающего всё это, можно найти здесь: example_ois2vjoy/main.cpp.

    Чтобы контроллер мог работать в других играх (часть 2), нужно установить собственное firmware и одну программу Arduino, но чтобы контроллер полностью программировался игрой, мы использовали стандартное firmware Arduino и другую программу Arduino. Но что если мы хотим иметь обе возможности одновременно?

    Пример приложения, на который я давал ссылку выше (ois2vjoy), решает эту проблему.

    Это приложение общается с OIS-устройством (программа из части 3), а затем на PC преобразует эти данные в обычные данные контроллера/джойстика, которые потом передаются в виртуальное устройство контроллера/джойстика. Это означает, что можно позволить своему контроллеру постоянно использовать библиотеку OIS (другое firmware не требуется), а если мы захотим использовать его как обычный контроллер/джойстик, то просто запустим на PC приложение ois2vjoy, выполняющее преобразование.

    Надеюсь, кому-то эта статья показалась полезной или интересной. Спасибо, что дочитали до конца!

    Если вам стало любопытно, то я приглашаю вас поучаствовать в развитии библиотеки ois_protocol! Думаю, будет здорово разработать единый протокол для поддержки всевозможных самодельных контроллеров в играх и стимулировать игры к прямой поддержке самодельных контроллеров!

    Бытует мнение, что лучшие геймпады — это геймпады от игровых консолей. С одной стороны мнение дискуссионное. С другой поколения геймеров, которые выросли на «рогатом» DualShock от PlayStation не дадут соврать, что это один из самых удобных геймпадов в истории, после которого не хочется брать в руки ничего другого. И если у вас есть консоль от Sony, то никаких проблем, бери и играй. А вот если вы захотите подключить его к компьютеру, то придется немного повозиться, так как в Windows нет нативной поддержки DualShock. Что именно нужно будет сделать — читайте в нашем большом гайде.


    В чем разница между DualShock 4 первой и второй версии


    В 2016 году Sony выпустила Pro версию PlayStation 4 и заодно обновила геймпад DualShock 4 до второй версии. Внешне нововведения получились чисто косметическими: верхняя поверхность стала полностью матовой, без глянцевых вставок, а световая панель теперь видна не только с торца, но и подсвечивает тачпад. С точки зрения тактильных ощущений никаких существенных отличий от старого геймпада не обнаружилось. Внутри тоже поменялось не так уж много, по сути добавилась возможность передачи дополнительных данных по USB. Проще говоря, при подключении по проводу новый геймпад научился выводить звук напрямую с подключенной гарнитуры. Также немного увеличилось время автономной работы, хотя встроенный аккумулятор остался тем же.

    Как подключить


    В некоторых играх поддержка DS4 реализована «из коробки», т. е. не требуются никакие эмуляторы. Но таких игр мало, поэтому для варианта «включил, настроил, забыл» придется немного поиграть с тонкими материями. Вариантов тут несколько — добавление геймпада через официальный клиент Steam, подключение с помощью популярной утилиты DS4Windows и использование официального Bluetooth-адаптера от Sony (об этом дальше). Каждый вариант имеет свои плюсы и минусы, которые мы разберем дальше.

    Подключение в Steam

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


    Настройки почему-то спрятали в недра Steam, поэтому найти их с непривычки не так-то просто.

    • Перед запуском Steam сначала подключите сам DualShock 4 иначе программа может его не увидеть.
    • Дальше нужно переключиться в режим Big Picture (иконка геймпада в правом верхнем углу)
    • Кликнуть на настройки (иконка шестеренки).
    • В появившемся меню ищем вкладку «Контроллер» и пункт «Настройки контроллера».
    • В открывшемся меню ставим галочку около пункта «Поддержка контроллера PS4».

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

    Подключение с помощью сторонних утилит


    Как альтернатива Steam на ПК есть популярные софтины DS4Windows или InputMapper, которые решают все проблемы совместимости c ПК и даже больше. С помощью этих программ геймпад будет четко работать во всех играх, где есть поддержка XInput. Также они позволяют использовать встроенный тачпад в качестве мыши (для DS4 V2), регулировать подсветку, использовать гироскоп для назначения на него различных действий.

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

    • Для начала скачиваем нужную версию DS4Windows (x64 или x86 В зависимости от разрядности системы).
    • При новом запуске в окне DS4Windows должен появиться подключенный геймпад. Если он не обнаруживается, то подключаем его заново его и перезапускаем программу.
    • Открываем меню настроек (Settings) и смотрим, чтобы напротив пункта «Hide DS4 Controller» стоит галочка. Это предотвратит конфликт DS4Windows с дефолтными настройками контроллера в некоторых играх.

    В принципе это все. Теперь Dualshock 4 будет виден любой игре, как XInput контроллер вроде дефолтного Xbox 360 геймпада. Дальше при желании можно добавить DS4Windows в автозапуск Windows, чтобы не включать его каждый раз, и в случае необходимости поменять базовое управление геймпада. Также можно включить подсветку, добавить автоотключение неактивного джойстика, настроить сенсорную панель (для DS4 V2) и т. д. И что еще лучше, для разных игр можно сделать различные профили с настройками и моментально переключаться между ними. В Steam, к сожалению, нет таких углубленных возможностей для настройки.

    Подключение с помощью официального адаптера от Sony


    Беспроводное подключение одновременно и проще, и сложнее. Проще, потому что Sony в 2017 году выпустила фирменный Bluetooth-адаптер Sony DualShock 4 USB Wireless Adapter, с которым геймпад сразу же подхватывается компьютером и работает на все 100%. То есть и тачпад, и датчик движения, и подсветка, и вывод звука тут работают так же, как при подключении к консоли. Большим его плюсом стала надежная работа без возни с драйверами и проблем с подключением, как у дешевых китайских Bluetooth-адаптеров.

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

    Сам процесс подключения довольно прост

    • Втыкаем Sony Wireless Adaptor в ПК,
    • Нажимаем кнопку включения на адаптере
    • Зажимаем на геймпаде кнопки PS и Share на несколько секунд.
    • Обычно через 3 секунды световая панель начинает мигать, сигнализируя о подключении, а затем просто засветиться не моргая бледно-голубым светом.
    • Готово

    Подключение с помощью любого Bluetooth-адаптера


    У решения от Sony есть 2 проблемы. Первая — его сложно найти в продаже. Вторая — он дорогой, почти в полцены от самого DualShock и в 4 – 5 раз дороже обычного Bluetooth-адаптера. Не знаем, что тут причина, а что следствие, но на профильных форумах игроки обсуждают именно простые адаптеры. С их помощью можно подключить до четырех геймпадов (но без звука на гарнитуре), зато качество связи остается на совести производителя свистка.

    Если у вас в ПК или ноутбуке есть встроенный беспроводной модуль, то можно попробовать начать с него. Главное, чтобы там были нормальные драйвера и сами модули имели зону уверенного приема хотя бы в пару метров. Если нет, то для Windows младше десятой версии лучше всего заходят варианты с Bluetooth не ниже 2.1 и чипом от Broadcom. Как правило в недорогих моделях чаще всего встречаются чипы BCM2070 и BCM20702. Например, Asus USB-BT400. Если у вас Windows 10, то сойдет любой адаптер, с любым чипом, но не младше Bluetooth 2.1 + EDR.


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

    • Идем в настройки Windows
    • Ищем вкладку «Bluetooth и другие устройства»
    • Кликаем «добавить новое устройство».
    • Зажимаем на геймпаде кнопки PS и Share на несколько секунд пока в меню на компьютере не появится «Wireless Controller».
    • Кликаем «подключить» и вуаля.

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

    Подключаем через кабель:

    Настройки bluetooth

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

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

    На этом проводная настройка завершена. Если хотите играть без проводов, читайте дальше 🙂

    Как подключить геймпад от PS4 к ПК через Bluetooth:

    Для беспроводного подключения вам понадобится фирменный Bluetooh-модуль Sony, либо любой другой приемник Bluetooth. Если у вас ноутбук со встроенным Bluetooth, то он тоже подойдет.

    Как подключить геймпад от PS4 к ПК

    Держим несколько секунд, до тех пор, пока подсветка не начнет вспыхивать белым цветом по 2 коротких вспышки с интервалом примерно в секунду.

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

    Трей bluetooth

    Добавление bluetooth устройства

    Поиск bluetooth устройств

    Добавление bluetooth устройства

    Как подключить DualShock к Windows

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

    Кстати, клиент Steam распознает геймпад PlayStation 4, и при первом включении даже предлагает его настроить:

    Настройки геймпада в Steam

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

    Продвинутый способ:

    Если вы не готовы довольствоваться малым, можно пойти дальше, и заставить работать вибрацию и сенсорную панель. Для этого нам понадобится специальный драйвер DS4Windows. Сенсорная панель будет использоваться вместо мыши, что очень удобно.

    После скачивания распаковываем содержимое архива в удобную для вас папку и запускаем DS4Windows.exe. Появляется такое окно:

    Сохранение профиля

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

    Далее видим такое окно:

    Установка драйвера

    В этом окне нажимаем следующие кнопки:

    Если это окно по какой-то причине не открывается, в окне программы переходим на вкладку Settings и нажимаем синюю ссылку Controller/Driver setup

    Если вы все сделали правильно, в окне программы на вкладке Controllers вы увидите такую строчку:

    Подключенные контроллеры

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

    Настройки драйвера

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

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

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

    Читайте также: