Установка драйвера для XBox PowerA Spectra Controller

У меня есть этот контроллер («www.bestbuy.com/site/power-a-spectra-controller-for-xbox-one-black/8685189.p?skuId=8685189»), который я пытаюсь приступить к работе над Ubuntu, но это вызывает огромные проблемы. Это во многом связано с моей неопытной работой с Linux.

Я установил драйвер для контроллеров xbox, используя этот форум здесь, но когда я проверил, узнал ли он мой контроллер, он дал мне следующую ошибку: [ ! d1] -- [ ERROR ] ------------------------------------------------------ No Xbox or Xbox360 controller found

Этот форум здесь упомянул, что мне нужно установить патч для xpad.c, чтобы заставить мой контроллер работать. Была дана рекомендация о том, как исправить документ как ответ на вопрос этого парня. Однако в этой команде мне нужно сохранить патч в том же месте, где, по-видимому, сохраняется xpad.c. Это приводит к моим вопросам:

Я на правильном пути? Это xpad и xboxdrv то же самое? Будет ли патч в вышеупомянутом форуме работать для моих целей? Где этот xpad.c? Он устанавливается с помощью xboxdrv? Я попытался найти его на своем компьютере, и у меня есть для него заголовочные файлы, но я не могу переместить патч в папку, где он находится. В общем, где файлы сохраняются при установке таких программ?

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

Обновление: я использую версию Ubuntu 16.04. Я пробовал варианты установки xpad-v0.4 и версии steamos. Я отметил, что программа jstest-gtk распознает контроллер, даже бренд (PowerA Spectra), но контроллер просто продолжает мигать светодиодом, и он остается невосприимчивым, когда я пытаюсь ввести элементы управления.

0
задан 16 May 2017 в 08:45

2 ответа

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

xpad и xboxdrv - это не одно и то же, это два разных подхода. Кажется, что xboxdrv работает лучше всего, но не совсем обновлен на Ubuntu.

Вам нужно загрузить, изменить и затем скомпилировать новейшую версию xboxdrv. [ ! d3]

Загрузить

Из github https://github.com/zerojay/xboxdrv нажмите зеленую кнопку Clone or Download, затем Download ZIP.

Извлеките загруженный файл в пустую папку.

Modify

Вот и сложная часть. В извлеченной папке найдите файл [...]/src/xpad_device.cpp. Откройте его, и вы найдете длинный список записей, таких как

{ GAMEPAD_XBOX, 0x0d2f, 0x0002, "Andamiro Pump It Up pad" },

Вы хотите добавить свой собственный контроллер в этот список. Он должен быть в форме

{ GAMEPAD_XBOXONE, 0x????, 0x????, "Your product description" },

И вам нужно найти два кода, которые идентифицируют его.

В https: / /github.com/zerojay/xboxdrv, введите

watch lsusb

Подключите ваш контроллер и запишите строку, которая отображается в списке. Это ваш контроллер. Mine был назван

Bus 002 Device 013: ID 0e6f:02b2 Logic3

В xpad_device.cpp убедитесь, что идентификатор вашего контроллера еще не включен в один контроллер xbox. Если это так, вы можете пропустить оставшуюся часть этого шага.

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

Mine становится

{ GAMEPAD_XBOXONE, 0x0e6f, 0x02b2, "@Play - Wired Controller for Xbox One" },

Сохраните файл и закройте это.

Скомпилировать

С терминала перейдите к извлеченной папке. Сначала вставьте

sudo apt-get install \ scons \ g++ \ libboost-dev \ scons \ pkg-config \ libusb-1.0-0-dev \ git-core \ libx11-dev \ libudev-dev \ x11proto-core-dev \ libdbus-glib-1-dev

для установки зависимостей. Фактическое компиляция может занять некоторое время. Тип

scons

then

make install

Запустить

С терминала,

sudo xboxdrv

Посмотрите, работает ли оно. Для фактической игры запустите

sudo xboxdrv --silent

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

Чтобы упростить запуск, попробуйте добавить его как ярлык с , перейдите к .

0
ответ дан 18 July 2018 в 13:13

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

xpad и xboxdrv - это не одно и то же, это два разных подхода. Кажется, что xboxdrv работает лучше всего, но не совсем обновлен на Ubuntu.

Вам нужно загрузить, изменить и затем скомпилировать новейшую версию xboxdrv. [ ! d3]

Загрузить

Из github https://github.com/zerojay/xboxdrv нажмите зеленую кнопку Clone or Download, затем Download ZIP.

Извлеките загруженный файл в пустую папку.

Modify

Вот и сложная часть. В извлеченной папке найдите файл [...]/src/xpad_device.cpp. Откройте его, и вы найдете длинный список записей, таких как

{ GAMEPAD_XBOX, 0x0d2f, 0x0002, "Andamiro Pump It Up pad" },

Вы хотите добавить свой собственный контроллер в этот список. Он должен быть в форме

{ GAMEPAD_XBOXONE, 0x????, 0x????, "Your product description" },

И вам нужно найти два кода, которые идентифицируют его.

В https: / /github.com/zerojay/xboxdrv, введите

watch lsusb

Подключите ваш контроллер и запишите строку, которая отображается в списке. Это ваш контроллер. Mine был назван

Bus 002 Device 013: ID 0e6f:02b2 Logic3

В xpad_device.cpp убедитесь, что идентификатор вашего контроллера еще не включен в один контроллер xbox. Если это так, вы можете пропустить оставшуюся часть этого шага.

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

Mine становится

{ GAMEPAD_XBOXONE, 0x0e6f, 0x02b2, "@Play - Wired Controller for Xbox One" },

Сохраните файл и закройте это.

Скомпилировать

С терминала перейдите к извлеченной папке. Сначала вставьте

sudo apt-get install \ scons \ g++ \ libboost-dev \ scons \ pkg-config \ libusb-1.0-0-dev \ git-core \ libx11-dev \ libudev-dev \ x11proto-core-dev \ libdbus-glib-1-dev

для установки зависимостей. Фактическое компиляция может занять некоторое время. Тип

scons

then

make install

Запустить

С терминала,

sudo xboxdrv

Посмотрите, работает ли оно. Для фактической игры запустите

sudo xboxdrv --silent

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

Чтобы упростить запуск, попробуйте добавить его как ярлык с , перейдите к .

0
ответ дан 24 July 2018 в 20:08

Другие вопросы по тегам:

Похожие вопросы: