Ответить на тему  [ Сообщений: 10 ] 
Подключение Dualshock 3 к PC 
Автор Сообщение
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Задался целью на этих выходных подключить геймпад от PS3 к ПК с win10. Первое, что решил сделать - это то, что все и везде советуют: использовать Motionjoy + DS3 Tool. Мне хватило всего пару раз упереться в рекламный сайт без редиректа, чтобы послать этот способ на все возможные стороны. Погуглив еще немного, нашел на Kotaku статью по подключению разных геймпадов к ПК. Для Dualshock 3 там было два способа и оба они использовали драйвера Motionjoy. Но вот утилиты для работы с геймпадом были разные: DS3 Tool и прямо намекающее Better DS3.

Вариант с Better DS3 отложил на потом и принялся еще гуглить: ну вот было у меня чувство, что должен быть более интересный способ. В итоге набрел на свободный проект ScpToolkit (ранее ScpDriver). Почитал немного мануалов и подумалось, что это лучший вариант. Дело в том, что SCP помимо установки своего драйвера создает сервис в Windows, который подминает под себя bluetooth и драйвера Xbox 360 представляя компьютеру Dualshock 3 (и 4 тоже), как контроллер от 360-й коробишки. То есть, в тех играх, где есть полная поддержка Xbox 360 контроллера, то вы сможете полноценно играть там на Dualshock.

Ну, в общем забурился на целый день с этим Scp и чуть не посидел. Во-первых, проблема была в том, что проект свободный и поддерживаемый по сей день, а это значит, что мануалы и советы из интернета быстро устаревают. (А еще быстро фиксятся баги и появляются новые.) Во-вторых, офф. мануала нет. Есть только определенные доки, которые все же мне очень помогли. И в-третьих: мое оборудование, как оказалось, не поддерживается.

Да, у утилиты (скорее программного пакета) есть список поддерживаемого оборудования и он, честно говоря, маловат. Речь идет о bluetooth устройствах. Полный список есть тут: https://github.com/nefarius/ScpToolkit/ ... th-Devices. И вот моего bluetooth тут нет. Также мне удалось узнать, что есть проблемы у пользователей win10, т.к. она не дает полный доступ над оборудованием. К слову о первом способе (DS3 Tool + Motionjoy), в инете пишут, что она не дружит с Broadcom'овскими bluetooth, которые очень любит Lenovo.

Еще один момент по поводу поддержки оборудования, а именно контроллеров. Фейковые Dualshock'и не поддерживаются (есть в списке на будущее). Есть, конечно, патч для Scp, но там придется повозится к конфигами и 100% решения не обещают. У кого не офф. контроллер, то стоит почитать это: https://github.com/nefarius/ScpToolkit/issues/652.

-----

Отойдя немного от темы, напишу, что копаясь в конфигах смог заставить видеть свой bluetooth и он даже стал видеть мой контроллер в утилите ScpPair.exe, но хост не создавался. При этом, даже, ScpDriverInstaller.exe эмулировал установку драйвера для bluetooth, но при этом в списке Initialized он не появился. Может я шел верным путем и не добил до конца, но проверять не хочу ибо у меня сдали нервы и совсем нет настроения продолжать это. Может потом сорсы почитаю, но не уверен, что мне это поможет, т.к. не системщик.

-----

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

Итак, первое, что нужно сделать, так это скачать последнюю версию тулкита с офф. репы: https://github.com/nefarius/ScpToolkit/ ... .238.16010. Или отсюда тестовую версию: https://github.com/nefarius/ScpToolkit/releases. Установщики беты и стабильной версии отличаются. И писать буду, опираясь на бету 1.7.277, предполагая, что скоро таковой будет стабильная версия.

Ну и конечно же ставим пакеты. Из предложенного списка советую ставить все, кроме того, что unstable, т.к. может пригодиться при дебаге. После установки будет приблизительно такой список пакетов:
- ScpCleanWipe.exe (сброс геймпада - сбрасывает и для плойки тоже),
- ScpDebugInfoCollector.exe (создает логи),
- ScpDriverInstaller.exe (установщик необходимых пакетов),
- ScpGamepadAnalyzer.exe (так и не понял зачем оно),
- ScpMonitor.exe (мониторит подключенные геймпады из сервера Scp),
- ScpPair.exe (утилита для дебага (кажется дебага) bluetooth хоста),
- ScpServer.exe (сервер и основная вещица во всем ScpToolkit для работы с геймпадом после всех настроек),
- ScpService.exe (win-сервис, если правильно понял),
- ScpSettings.exe (ну, тут и так понятно),
- ScpTrayApp.exe (то, что должно убирать ScpServer в Tray, но не делает этого),
- ScpUpdater.exe (ну и тут, думаю, понятно).

Второе, что стоит сделать, так это запустить ScpDriverInstaller.exe, предварительно подключив геймпад по usb (можно и потом, но так вы можете случайно пропустить шаг установки драйвера под Dualshock) и bluetooth приемник. Эта утилита поможет нам установить все необходимые для работы пакеты:
- драйвер для контроллера x360 (лучше поставить ручками, если не стоит),
- драйвер для Dualshock (вот на этом шаге должен быть подключен геймпад),
- драйвер для установки хоста через bluetooth (то, из-за чего у меня не работает Scp - там даже warning надпись есть),
- драйвер для эмулирования контроллера от 360 коробочки,
- win-сервис.

После установки всех необходимых драйверов запускаем ScpServer.exe и ScpMonitor.exe. Подключаем Dualschok и радуемся :) , наверное. В ScpServer.exe можно потестить (вибрацией) подключенный геймпад, предварительно выбрав его, а в ScpMonitor.exe можно уже посмотреть на работу всех кнопочек. На приведенном ниже скриншоте видно в левом верхнем углу, что у меня написано "Host Address : Disconnected" - это и есть мой злополучный bluetooth.

Вложение
scptoolkit.png
scptoolkit.png (60.07 КиБ) Просмотров: 10434



Забавно, но один раз у меня в "Host Address" появлялся мой геймпад (или bluetooth - не запомнил какой там mac был) еще до установки на него драйверов. К сожалению повторить это не смог.

Еще одна забавность в том, что система опознает Dualshok 3 (при подключении по usb) как контроллер, но ничего далее сделать с ним нельзя.

В завершении, думаю, стоит упомянуть, что было в свое время много попыток реализовать драйвера для Dualshock 3 на ПК. Больше всего, как по мне кажется, подобрался к истине драйвер от tamamy, который сейчас уже, наверное, не найти.

Добавлено спустя 55 минут 58 секунд:
Попробовал просто поставить Motionjoy. Ставится на win10 только если установить системное время 2014 год (привет мой 2006-й). Геймпад теперь "нормально" определяется по USB как два геймпада, но оба стика хоть и определяются в тестере, но состояние свое не изменяют. Отлично вроде бы, но вот проблема теперь в том, что каждого USB-устройства у меня стало по два-три штуки в системе и постоянно что-то отключается и подключается - бесит. Но больше всего бесит то, что этот драйвер конфликтует с моей USB-мышью.

Далее запустил Better DS3 и понял, что мой bluetooth приемник не работает и здесь. В общем, то что в инете пишут для DS3 Tool + Motionjoy справедливо и для Better DS3 + Motionjoy.

В общем, думаю еще раз вернуться к ScpToolkit и выковырять bluetooth адаптер со старого ноутбука. А там посмотрим, может и Motionjoy буду использовать, ведь с Scp мой Dualshock не работал как xinput или directinput по кабелю, из-за чего настроить его как обычный геймпад не мог.

Добавлено спустя 5 минут 59 секунд:
Забыл добавить, что мышь лечится удалением ее драйвера (на нее цепляется Motionjoy driver, после подключения Dualshock) и перетыком. Но это после того, как будет удален из USB геймпад.

Добавлено спустя 11 часов 17 минут 54 секунды:
Посмотрел проблему с отваливанием мыши при использовании Motionjoy. Оказывается, мне еще и повезло, т.к. у народа бывает так, что все отваливается, включая клавиатуры. Это говорит о кривом подходе к реализации драйвера, т.к. все офф. геймпады от PS3 имеют один ID. И драйвер похоже подминает под себя устройства не по ID, а по какой-то совокупности параметров. Возможно, это попытка заставить работать фейковые геймпады.

Добавлено спустя 6 часов 7 минут 49 секунд:
Вот пару мануалов до кучи по ScpToolkit:
http://www.instructables.com/id/How-to- ... gh-Xinput/
http://kunmii.blogspot.com/2015/08/how- ... shodi.html

По второй ссылке предлагают использовать утилиту Zidag для решения проблем с bluetooth. Ее я тоже пробовал использовать, но в списке устройств моего приемника нет. Не знаю от чего это: отсутствия поддержки оного или из-за ограничений со стороны win10.


30 окт 2017, 04:31
Профиль
Случайный аватар
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 321
Регистрация: 13 апр 2012, 13:11
Модель 3DO: Panasonic FZ-10 NTSC-J
Ответить с цитатой

SCP-DS-Driver-Package-1.2.2.175 версия на которой, без броблем завёлся мой китайский DS3, CSR8510 A10 (блютуз свисток).
https://forums.pcsx2.net/Thread-XInput- ... Controller
вибрация работает только по кабелю


31 окт 2017, 08:38
Профиль
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

GEN13
А с остальными версиями как?

У меня то проблема не с геймпадом, а с bluetooth. Он не поддерживается в DS3 Tool, Better DS3 и ScpToolkit.

-----

Кстати о Motionjoy - а стики с ним не работают. В настройках геймпада они отображаются, но не работают.


31 окт 2017, 12:23
Профиль
Случайный аватар
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 321
Регистрация: 13 апр 2012, 13:11
Модель 3DO: Panasonic FZ-10 NTSC-J
Ответить с цитатой

GEN13
А с остальными версиями как?

Остальные не смотрел.

Цитата:
У меня то проблема не с геймпадом, а с bluetooth. Он не поддерживается в DS3 Tool, Better DS3 и ScpToolkit.

На DS3 Tool, Better DS3, ScpToolkit и Motionjoy мой DS3 только по проводу работает, а с CSR8510 A10 не завёлся, хотя софт его видит.


31 окт 2017, 13:31
Профиль
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

GEN13 писал(а):
На DS3 Tool, Better DS3, ScpToolkit и Motionjoy мой DS3 только по проводу работает, а с CSR8510 A10 не завёлся, хотя софт его видит.

Тут проблема в самом геймпаде. У него другая реализация bluetooth (может просто id другие), поэтому он ко всем утилитам, кроме патченного Scp не подключается по bluetooth.


31 окт 2017, 17:16
Профиль
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

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

Вложение
motionjoy.png
motionjoy.png (42.15 КиБ) Просмотров: 10347



А по поводу Zadig оказалось все немного запутанным, но не сложным. По крайней мере не так, как в мануалах из инета. Дело в том, что ряд bluetooth устройств эта утилита может не видеть и для того, чтобы можно было его определить необходимо загрузить соответствующий пресет. (Такой Bluetooth.cfg лежит в архиве стабильной версии ScpToolkit в папке Zadig.) А потом в опциях выбрать List All Devices и заменить драйвер.

Вложение
zadig.png
zadig.png (21.51 КиБ) Просмотров: 10347



Таким образом bluetooth приемник перестает работать в системе по назначению (она его больше не определяет как bluetooth устройство), а проблемный DS3 Tool и Better DS3 все равно не видят его. Зато теперь bluetooth спокойно определяется в ScpToolkit и я безо всяких проблем смог подключить свой Dualshock 3 к ПК с win10. Но почему-то не пробрасывается путь от Dualshock к Xbox Accessories из-за чего контроллер хоть и подключен к компьютеру, но не определяется.

В общем зря я выковыривал bluetooth из старого ноутбука :) .


01 ноя 2017, 18:31
Профиль
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Нагуглил свою нынешнюю проблему с Dualshock буквально за минуту: https://github.com/nefarius/ScpToolkit/issues/266.

Проблема заключается в Secure Boot (EFI) на Windows 10. При включенной защите не стартует Scp Virtual Bus Driver, который как раз и занимается пробрасыванием шины меж подключенным Dualshock и утилитами Xbox Accessories.

Вложение
scptoolkit-2.png
scptoolkit-2.png (44.93 КиБ) Просмотров: 10335



Ближе к выходным попробую отключить EFI. Если заработает, то потом попробую верифицировать сервис, как предлагали по ссылке.


08 ноя 2017, 03:33
Профиль
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

Ну, вот и подкралась к финишу вся эта история. Действительно, проблема с Scp Virtual Bus была из-за включенного EFI. Позже буду пробовать верифицировать драйвер через утилиты системы. Может получится.

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

Кстати, на счет удобности. Dualshock 3 оказался плохим вариантом для хардкорных игр на вроде Mega Man. В первую очередь не за счет формы и расположения кнопок, а из-за того, как нажимаются эти кнопки.

В завершение добавлю видео по установке ScpTookit от разработчика утилит:


И ссылку на вики с подключением Dualshock 3 и 4: https://pcgamingwiki.com/wiki/Controller:DualShock_3. По ссылке кратко описываются разные способы подключения, пошаговая установки и настройка ScpToolkit, решение возникающих проблем и упоминание вариантов на Mac OS X и Linux.


09 ноя 2017, 01:05
Профиль
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 462
Регистрация: 04 дек 2009, 12:12
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

EmgrtE
Спасибо за подробный разбор вопроса.
В своё время прикупил DS 3, чтобы в дороге эмуляторы гонять на смарте, но в итоге так и не дошли руки до этого.
К компу подключал по кабелю Mini-USB, так как жалко было бт-приемник выделять под это дело, да и настраивать геморно (вообще bt-стек в windows это отдельная тема для разговора).
Ну сейчас может и еще раз попробую)

p.s.: напиши, какой ты использовал адаптер, на каком чипе?

Последний раз редактировалось _MOHAPX_ 28 янв 2018, 00:39, всего редактировалось 1 раз.



27 янв 2018, 23:26
Профиль
Аватара пользователя
Активный участник
Активный участник

Группа: Модераторы
Сообщения: 3207
Регистрация: 28 янв 2014, 01:32
Модель 3DO: Panasonic FZ-10 NTSC-U
Ответить с цитатой

_MOHAPX_
Да не за что.

Bluetooth от Broadcom (BCM20702A0), который поставлялся с ноутбуком. Для таких манипуляций самый проблемный, если верить интернету.


27 янв 2018, 23:56
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 10 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.093s | 21 Queries | GZIP : On
Valid XHTML 1.0!