Меню Рубрики

Linux не видит геймпад

Установка и настройка джойстика и геймпада в Линукс

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

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

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

Определение устройства

Первым делом, после физического подключения устройства в USB-порт, стоит убедиться в том, что система видит устройство и создало файл устройства «jsN», где N — номер устройства, начиная с «0». Все файлы устройств, в Линуксе, лежат в папке «dev», а интересующее нас устройство, лежит в папке «input» (там же будет лежать ваша компьютерная мышь под названием «mouse0», про клавиатуру сказать сложнее, лично у меня это два файла «event6» и «event7» для usb-клавиатуры на ноутбуке).

Итак в терминале выполняем следующую команду, и если устройство у вас определяется, то результат команды будет, как на картинке ниже команды (см. 1 и 2).

Иначе говоря, на картинке выше представлено, следующее. Первый (см. 1) вариант, когда подключен один джостик/геймпад, второй (см. 2) — два устройства и третий (см.3), когда нету ни одного устройства или они не определены.

Если устройство не определяется, то значит у вас, либо нету драйвера для этого устройства в вашем дистрибутиве, либо оно требует специфичных драйверов (например, геймпад xbox360, требует установки пакета xboxdrv), либо устройство не исправно само по себе.

Примечание: В рамках данной статьи, на уровне новичка, я не могу осветить вопрос о поиске драйверов. Могу сказать лишь, что вам нужно искать по производителю и модели, также по специфике (например, аналоговый джойстик, джойстик, геймпад, геймпад xbox360, руль и т.д.). Если у вас возникла подобная ситуация, то рекомендую вам, либо обратиться в техподдержку производителя, либо к более опытным линуксоидам на форумы, в особенности по вашему дистрибутиву ГНУ/Линукс.

Настройка и калибровка

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

И запустить программу «fftest», после запуска достаточно применять джойстик и смотреть на реакцию программы. Также в этом пакете есть и возможность делать и другие тесты, а также есть калибровка. Однако, новичку сложно с этим работать, т.к. через графический интерфейс это делать гораздо легче, и при этом все понятней. Так что, в этом случае, рекомендую поставить пакет jstest-gtk. Для этого выполните команду ниже, либо найдите архив с исходниками и соберите его у себя.

Название программы в этом пакете такое же, как и у самого пакета, т.е. «jtest-gtk». После запуска вы увидите окно, как на картинке ниже.

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

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

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

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

Как видите, ничего сложного и фантастического в подключении и проверки работы джойстиков и геймпадов нету, в довесок привожу картинки игры X3: Terran Confliсt фирмы Egosoft, из которой видно, что оба устройства у меня поддерживаются игрой и видны ею.

В заключение

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

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

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

И еще раз, напомню, что когда вы делаете обдуманную покупку и приобретаете нормальное аппаратное обеспечение, а не всякий ширпотреб, то у вас, как правило не будет проблем с применением таких устройств в Линуксе. У меня, например, джойстик Logitech EXTREME 3D PRO и геймпад XEOX Speedlink SL-6566-BK pro analog gamepad usb.

Удачных, вам, времяпровождений за вашими играми и приятных впечатлений от игры через джойстик или геймпад.

6,829 просмотров всего, 2 просмотров сегодня

Источник

Подружить gamepad с linux.

Друзья, мне тут подарили геймпад. Называется strike gamepad black, производитель speedlink. Если нужны детали — уточню.

Поставил стим, скачал super meat boy (он клевый). Удивился, но геймпад не виден системе, судя по всему, вообще никак. Игре тоже, ясно-понятно. У него даже лампочка питания не загорается (это не совсем питание, но не суть, при нажатии одной из кнопок на паде должна загораться определенная лампочка; она не загорается; до этого я думал, что ОС тут ни при чем).

В Шиндовс работает без дополнительных телодвижений.

Что делать, куда копать? Можно ли подружить?

Официально поддерживается только неправославная ось.

Какой дистр? Такие вещи в ядре либо поддерживаются, либо нет.

Вот такой: Linux 3.8.0-34-generic #49

precise1-Ubuntu SMP Wed Nov 13 18:05:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Если в ядре не поддерживаются, вероятно, можно поставить mod. Только как, где брать.

В lts-ной бубунте 3.2 вроде. И почему 13 ноября?))

Твой геймпад поддерживает только DirectInput, XInput’a нет — отсюда все проблемы. Смотри суда — должно помочь.

нет, не 3.2, официально бекпортировано более свежее 3.8 ядро

потому что это время сборки ядра

Пользую этот геймпад, известные мне проблемы
Пара лишних осей, правится руками
trine 2 — работает только через прокладку xbox
bastion — перепутаны пара кнопок

конфигуратор steam — работает прекрасно, все оси и кнопки на своих местах, видимо пока не все игроделы осилили обертку стима.
Конфиг геймпада скидывал в стим, должен где-то валяться, поищи по номеру

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

не знаю, у меня на хинпуте вообще не работает, только на директе

Источник

Linux не видит геймпад

Здравствуйте все. Я разработчик игр, работаю над 3D-названием для Linux. (Сама игра еще не была раскрыта, и я сегодня ничего не раскрываю, мои искренние извинения.)

Недавно во время разработки я наткнулся на что-то . невероятное, по крайней мере, в том смысле, в котором я должен был заметить давным-давно.

В Linux есть две системы, которые предоставляют джойстики программам: старая система «Joydev» (где устройства отображаются как / dev / input / js *) и более новая система «evdev» (где устройства отображаются как / dev / input / event *). ). Каждая из этих систем имеет отдельный набор параметров для калибровки джойстика. Затем настройки калибровки применяются ко всей системе для любых программ, которые используют этот джойстик через joydev или evdev (в зависимости от того, с какой системой вы калибровали джойстик).

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

Многие системы Linux теперь используют udev для функции «plug-and-play» — udev будет удалять и добавлять файлы в / dev /, когда они подключены и отключены от вашей системы. Если вы откалибруете свой контроллер, затем отключите / снова подключите его, udev с радостью уничтожит ваши настройки калибровки в процессе. Как вы можете себе представить, необходимость повторной калибровки контроллера каждый раз, когда вы подключаете его, создает неудобства для конечного пользователя.

Чтобы решить эту проблему, по крайней мере в Debian, я думаю, что пакет «джойстик» устанавливает правило udev (в Ubuntu 14.04 я нашел этот файл в /lib/udev/rules.d/60-joystick.rules), который восстановит ваши настройки калибровки джойстика используя jscal-restore (я полагаю, программа из пакета «джойстик»)

Однако . jscal-store и jscal-restore, jstest-gtk (графическая программа для калибровки джойстика) и правило udev, использующее jscal-restore, предназначены для использования в системе joydev.

Если программа использует более новую систему evdev . В пакет «джойстик» недавно была добавлена новая программа evdev-joystick, инструмент командной строки, который позволяет калибровать джойстики evdev. (Это не было в пакете «джойстика» Ubuntu 14.04, мне пришлось взять более новую версию пакета) Это хорошее начало . Однако, нет эквивалента jstest-gtk для evdev (нет графического интерфейса для калибровка джойстиков для evdev) . Ни правило udev для восстановления настроек калибровки джойстиков с помощью evdev, ни даже набор инструментов командной строки, таких как jscal-store и jscal-restore, для сохранения информации о калибровке джойстика для evdev (что необходимо по правилу удев!)

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

  1. Пользователь находит игру, в которую хочет играть. Он подключает свой джойстик, он хорошо отображается в игре, когда udev добавляет запись для джойстика в виде / dev / input / event *.
  2. Пользователь обнаруживает, что не может заставить своего персонажа бежать на полной скорости. Интересно, почему, он начинает копаться, чтобы выяснить, почему.
  3. Перебравшись, он надеется, что его контроллер еще не откалиброван для evdev.
  4. Устанавливая пакет «джойстик» и используя программу evdev-джойстик, с которой он поставляется, пользователь калибрует свой джойстик для evdev в командной строке.
  5. В какой-то момент пользователь отключает свой контроллер и снова подключает его. Он обнаруживает, что его настройки калибровки были стерты!
  6. Пользователь начинает копаться, выясняет, что ему нужно правило udev, чтобы запускать программу для восстановления настроек калибровки каждый раз, когда появляется устройство, и . пользователь, хотя, возможно, знаком с его операционной системой, не программист, поэтому он застревает здесь.

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

Если бы у меня было достаточно времени, я бы потратил время, чтобы внести свой вклад в разработку Linux, написав еще несколько инструментов и, возможно, даже графическую программу для evdev для решения этих проблем. Но, честно говоря, я пытаюсь создать игру, и я не уверен, что у меня будет много времени на разработку инструментов, независимых от игры для экосистемы Linux. Я думаю, время покажет, найду ли я решение этой проблемы в полном объеме или как еще один взлом.

Одной из причин, по которой я решил сделать этот пост, была проверка работоспособности для себя — мне просто кажется невероятным, что сейчас есть ряд программ, использующих evdev, но инструменты калибровки джойстика для evdev еще не созданы. Я надеюсь, что кто-то скажет мне: «Ты глуп, и вот почему» — я был бы намного счастливее прямо сейчас, если бы узнал, что я просто глуп, устал или что-то упустил. Так что, если вы знаете лучше меня, пожалуйста, говорите! Я бы очень хотел выставить себя дураком в Интернете сегодня, если это вообще возможно, пожалуйста, помогите мне сделать это.

Спасибо за чтение, и я с нетерпением жду ответа от всех вас!

tl; dr: evdev имеет только один инструмент для калибровки джойстика, evdev-джойстик, и он сам по себе не сохранит ваши настройки калибровки, если вы используете udev, поэтому, если вы отключите контроллер и снова включите его, калибровка будет продолжена. настройки. evdev нужен эквивалентный набор инструментов для того, что есть у joydev, чтобы геймеры могли один раз откалибровать свои джойстики с помощью графического интерфейса и покончить с этим!

Источник

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

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

  • Изменение сочетания клавиш переключения языка mac os
  • Изменение раскладки клавиатуры mac os
  • Изменение интерфейса windows 10 на mac os
  • Изменение ttl mac os
  • Изготовление загрузочной флешки mac os