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

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

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

-- [ ERROR ] ------------------------------------------------------

No Xbox or Xbox360 controller found

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

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

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

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

0
задан 15 May 2017 в 22:45

2 ответа

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

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


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

Скачать

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

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

Изменить

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

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

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

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

И необходимо найти два кода, которые определяют его.

В Терминале ввести

watch lsusb

Включите свой контроллер и обратите внимание на строку, которая появляется в списке. Это - Ваш контроллер. Мой назвали

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

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

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

Мой становится

{ 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

затем

make install

Выполненный

От терминала,

sudo xboxdrv

Посмотрите, работает ли это. Для фактических игр, выполненных

sudo xboxdrv --silent

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

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

0
ответ дан 3 November 2019 в 06:05

Итак, я знаю, что это старый вопрос, но xboxdrv не требует перекомпиляции, чтобы получить клон контроллера xbox для Работа. В большинстве ситуаций достаточно просто проб и ошибок с параметрами CLI. Рекомендуемое чтение (серьезно, кто когда-либо писал это, как бог) https://retropie.org.uk/docs/Universal-Controller-Calibration-&-Mapping-Using-xboxdrv/

TLDR: в CLI

ls /dev/input/by-id/

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

У меня есть PowerA fusion Pro, и эта команда заставила его работать на Ubuntu 18.04. Ну, кнопка Xbox на контроллере не загорается, но мне все равно.

xboxdrv \
    --evdev /dev/input/by-id/usb-BDA_XB1_Fusion_Pro_00001B9C7FFF036A-event-joystick \
    --silent \
    --detach-kernel-driver \
    --deadzone 500 \
    --mimic-xpad \
    --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RX=x2,ABS_RY=y2,ABS_Z=lt,ABS_RZ=rt,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y \
    --evdev-keymap BTN_A=a,BTN_B=b,BTN_X=x,BTN_Y=y,BTN_TL=lb,BTN_TR=rb,BTN_THUMBL=tl,BTN_THUMBR=tr,BTN_MODE=guide,BTN_SELECT=back,BTN_START=start \
    --axismap -Y1=Y1,-Y2=Y2 \
0
ответ дан 17 September 2020 в 20:15

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

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