Как сделать телефон джойстиком
Андроид как джойстик для ПК
Андроид можно использовать как джойстик для игр. Вы можете играть в любимые гонки, авиасимуляторы, шутеры, используя свой андроид девайс как полноценный беспроводной джойстик, по совместительству и пульт управления компьютером!
Проделывать все мы будем с помощью приложения PC Remote. Гениальнейшее приложение с большими возможностями китайского происхождения. Итак, сначала нужно скачать приложение и установить на компьютер.
Мы будем рассматривать установку и настройку с помощью Wi-Fi – это максимально удобно и нет проводов (можно подключиться еще по Usb, но тогда основная задумка – удобство – теряется).
Само приложение и ПК клиент вы можете скачать тут:
Поздравляю, устройства связаны и готовы к использованию, теперь остается выбрать режим джойстика и приступать к игре. Программа предлагает много вариантов управления:
Запускаем любимую игру и заходим в настройки управления. Многие современные игры предлагают сразу выбрать управление клавиатурой и мышкой или джойстиком. В таком варианте выбираем джойстик и, если есть варианты, выбираем Monect. После этого нужно настроить под себя каждую кнопку джойстика на выполнение определенных действий. В каждой игре это индивидуально, поэтому останавливаться на этом не будем.
Если игра не предусматривает управление геймпадом, то можно попробовать в настройках клавиатуры задать наклоны и кнопки для каждого действия. Также есть дополнительные сервисы, которые преобразуют действия джойстика на соответствующие кнопки клавиатуры.
В этой статье мы узнали, что андроид можно использовать как джойстик для игр. Вы можете играть в любимые гонки, авиасимуляторы, шутеры,используя свой телефон или планшет на андроид как джойстик, руль или геймпад.
Если статья для вас была интересной, нажимайте на кнопочки социальных сетей, для того, чтоб рассказать о ней своим друзьям.
Как превратить Android смартфон в беспроводной игровой контроллер для планшета.
В предыдущей статье на тему дистанционного управления Andorid устройствами я рассказывал вам, о программе Tablet Remote, которое позволяет превратить смартфон или планшет в пульт дистанционно управления и управлять им через Bluetooth другим Android устройством.
Отличная идея для организации прослушивания музыки, просмотра фильмов и фотографий на подключенном ко второму устройству телевизоре. Вот если бы еще таким образом можно было бы и играть на большом экране. Оказывается можно. Но уже с помощью другого приложения – DroidMote, которое превратит ваш Android телефон в полноценный беспроводной игровой контроллер, и вы сможете, например, погонять в вашу любимую GTA3 на огромном экране телевизора, лежа на диване в 2 метрах от него.
DroidMote позволяет подключить смартфон к планшету или другому смартфону через WiFi и использвать первый из них как игровой контроллер с возможностью управления с помощью виртуального D-Pad, двух виртуальных аналоговых джостиков, мультитач геймпада и даже виртуального джойстика, который использует акселерометр смартфона для управления играми. Скажите, где вы еще найдете такой беспроводной игровой контроллер?
Кроме того, как и Tablet Remote, DroidMote позволяет использовать первое Android устройство в качестве беспроводной клавиатуры или мыши, для управления вторым устройством.
Программа состоит из двух частей: клиентской, которая устанавливается на управляющее устройство и серверной, которая работает на втором устройстве.
Вот как, например, работает DroidMote с игрой Grand Theft Auto 3, где смартфон используется в качестве игрового контроллера :
Впечатляет, не правда ли?
Чтобы организовать такой же игровой контроллер на своем телефоне, вам нужно будет немного
подправить файл droidmote.kl, который находится в папке /system/usr/keylayout
В оригинальном файле вы найдете такие строки:
axis 0x00 Z
axis 0x01 RZ
axis 0x02 X
axis 0x03 LTRIGGER
axis 0x04 RTRIGGER
axis 0x05 Y
axis 0x10 HAT_X
axis 0x11 HAT_Y
Вам нужно будет исправить их на:
axis 0?00 X
axis 0?01 Y
axis 0?02 Z
axis 0?03 LTRIGGER
axis 0?04 RTRIGGER
axis 0?05 split 0?00 RTRIGGER LTRIGGER
axis 0?10 HAT_X
axis 0?11 HAT_Y
Другие конфигурации этого файла вы можете найти в этой ветке форуме xda.
Обе части программы работают как на планшетах, так и на телефонах, и единственное ограничение, которое в ней имеется – это то, что устройство, которым вы хотите управлять, должно иметь права доступа root.
Скачать обе части приложения вы можете в Android Market. Клиентская часть распространяется бесплатно, а за серверную вам придется заплатить около 2 долларов, что как я считаю, совсем недорого для такой великолепной программы:
Нативная поддержка для устройств ввода в Android своими руками
Многие владельцы Android-устройств сталкивались с тем, что подключаемые по USB устройства ввода, такие как джойстики, клавиатуры, мышки и т.д., не всегда работают, как положено. То кнопки джойстика перепутаны, то медиаклавиши на клавиатуре или мышке не работают и т.п. В моём случае геймпад определялся, как клавиатура, и приходилось использовать программный «костыль», типа USB BT Joystick center или Tincore keymapper. Которые, используя свой IME (метод ввода в Android), позволяют переназначить кнопки. Также использовалась программа PerApp, которая может автоматически переключать IME в зависимости от активного приложения. Данный способ меня раздражал тем, что при включении всего этого хозяйства я не мог пользоваться любимой клавиатурой, а при выключении нельзя было перемещаться джойстиком по интерфейсу системы. Выход я видел только один: сделать нативную поддержку своего геймпада в системе или, грубо говоря, «драйвер».
key 297 BUTTON_START
key 296 BUTTON_SELECT
Да-да, это настройки кнопок для джойстика от Nintendo (Денди). Просмотрев соседние файлы, я обнаружил конфиги для различных устройств. В основном игровые контроллеры (Play Station 3, X-box, ASUS gamepad и другие), но есть и клавиатуры.
Исходя из вышесказанного, уже можно понять, что для добавления поддержки устройства на уровне системы нужно создать файл с VID и PID устройства в названии и прописать в нем значения кнопок.
От теории к практике
1. Создание файла с VID и PID
Подключаем наше устройство ввода и запускаем приложение USB Device Info. Нас интересует вкладка Linux, в которой выбираем своё устройство (у меня оно было последним в списке) и ищем значения строчек Vendor ID и Product ID. В моём случае это были 0c45 и 7700 соответственно.
Копируем любой файл из /system/usr/keylayout на sdcard и переименовываем его в соответствии с полученными данными, для моего джойстика название получилось таким: Vendor_0c45_Product_7700.kl. (Обратите внимание, что регистр букв имеет значение)
2. Получение кодов кнопок
Запускаем приложение KeyTest и, вооружившись бумагой и карандашом, начинаем поочерёдно нажимать кнопки на устройстве, записывая цифры, высвечивающиеся после scanCode=. Я записывал коды, располагая их на бумаге, как кнопки на геймпаде. Из программы можно выйти только по кнопке «Домой».
3. Маппинг кнопок
Теперь, когда стали известны коды всех клавиш, необходимо прописать их функции. Тут есть два пути:
а) найти среди имеющихся в Android конфигов устройство, максимально приближенное к вашему, и просто изменить в нём коды кнопок, скопировав содержимое в свой файл;
б) прописать все самому.
Я пошёл по второму пути, ибо мой джойстик имеет только крестовину управления и четыре кнопки. Для начала нужно понять синтаксис файла раскладки, он очень прост:
key код_кнопки действие_кнопки
Но тут возник вопрос: а какие действия кнопок писать в конфиге? За много лет использования различных геймпадов на Android я для себя определил, что самый универсальный конфиг — это раскладка от Sony Xperia Play, она одинаково хорошо ведёт себя как в играх, так и в интерфейсе системы.
Ok Google, key mapping for Xperia Play
X 23 KEYCODE_DPAD_CENTER 304
circle 4 KEYCODE_BACK 305
square 99 KEYCODE_BUTTON_X 307
triangle 100 KEYCODE_BUTTON_Y 308
up 19 KEYCODE_DPAD_UP 106
down 20 KEYCODE_DPAD_DOWN 105
left 21 KEYCODE_DPAD_LEFT 103
right 22 KEYCODE_DPAD_RIGHT 108
select 109 KEYCODE_BUTTON_SELECT 314
start 108 KEYCODE_BUTTON_START 28
L trigger 102 KEYCODE_BUTTON_L1 310
R trigger 103 KEYCODE_BUTTON_R1 311
Нас интересует третья колонка, но запись действий в ней немного отличается от тех, что были найдены в системе — это не помеха, просто убираем KEYCODE_.
Прописываю свои кнопки (помните листок с карандашными записями? Самое время найти его. ):
key 156 DPAD_RIGHT
Но и тут не обошлось без нюансов. У Sony на кнопку «круг» (circle) назначено действие KEYCODE_BACK (привычная нам кнопка «назад»). Несложно догадаться, что нажатие такой кнопки в игре может вызвать нервный срыв. А всё дело в том, что во время игры на Xplay эта кнопка принимает альтернативное значение — KEYCODE_BUTTON_B. Вот её мы и пропишем.
4. Момент истины
Подключаем наше устройство, и если всё сделали правильно, тут же сможете «крестовиной» перемещаться по меню Android. Кнопка, на которую назначили DPAD_CENTER, будет кнопкой выбора, а BUTTON_B — кнопкой «назад».
Итоги
Полезная информация
Настроить можно не только нажатие, но и смещение по осям (аналоговые контроллеры, мышки).
Настройка геймпада на Android
Этап 1: Подключение
Начать настройку стоит, разумеется, с подключения гаджета к смартфону или планшету. Процедура в целом типовая, но отличается для устройств USB и Bluetooth.
Проводные и беспроводные USB
Для USB-вариантов понадобится использовать соответствующий переходник, который чаще всего выглядит так:
К этому адаптеру нужно подключать и радиомодуль беспроводных геймпадов, не использующих Bluetooth. После соединения с телефоном никаких дополнительных действий выполнять не нужно, переходите к следующему этапу.
Bluetooth-решения
Геймпады, работающие по протоколу Блютуз, требуется предварительно подключить. Делается это так:
Далее активируйте переключатель.
С чисто мобильными геймпадами ситуация немного другая — они нередко имеют несколько режимов работы (например, отдельные для iOS и Android), и для соединения с «зелёным роботом» требуется выбирать соответствующий. Как правило, метод включения нужного режима описан либо в инструкции к гаджету, либо на стикере, наклеенном на задней части его корпуса.
Если на этом этапе вы столкнулись с проблемами, обратитесь к соответствующему разделу настоящей статьи.
Этап 2: Настройка
Конфигурирование контроллера в Android зависит от того, поддерживает ли работу с ним то или иное приложение. Если эта возможность официально заявлена, настройка совершается напрямую через него. В противном случае придётся использовать специальную оболочку. Процедура что в одном, что в другом варианте имеет тот же принцип, поэтому для примера покажем её для мультисистемного эмулятора RetroArch.
Для установки отдельных пунктов прокрутите страницу чуть ниже, затем тапните по желаемому и выполните предложенное действие.
Как видим, ничего сложного нет.
Решение возможных проблем
К сожалению, не всегда геймпад получается настроить и использовать – порой можно столкнуться с одной или несколькими проблемами. Рассмотрим самые распространённые и методы их устранения.
Андроид не распознаёт геймпад
Данный сбой является одним из самых частых, с множеством причин происхождения. Выполните шаги далее для диагностики и решения проблемы:
Часть кнопок геймпада не работают или нажимаются вместе с другими
С этой проблемой сталкиваются владельцы мобильных геймпадов с несколькими режимами работы, и она означает неправильно выбранный. Следовательно, для устранения надо отключить девайс и переподключить его с подходящим для Андроида вариантом. В случае же компьютерных контроллеров такое поведение свидетельствует об аппаратной неисправности.
Игра реагирует на нажатия с задержкой
Проблема присутствует исключительно у беспроводных вариантов геймпадов, и в большинстве случаев не исправима собственными силами – лучшим решением в такой ситуации будет уведомить разработчиков игры о проблеме и подождать выпуска обновления.
Как подключить джойстик к телефону (Android)
Доброго времени суток!
Вообще, сейчас можно встретить два типа джойстиков:
Если вы еще не купили геймпад — для телефона рекомендую выбрать версию со спец. адаптером (они наиболее удобны при использовании как на ПК, так и на телефонах). Пример такого геймпада по «бросовой» цене тут (см. п.10): https://ocomp.info/podborka-tovaryi-iz-kitaya.html
Теперь о некоторых нюансах и мелочах по подключению.
Подключение джойстика
Беспроводная модель
Джойстик (вид сзади)
3) Далее вставьте USB-адаптер в OTG-адаптер (это «добро» идет в комплекте к беспроводному джойстику; как оно выглядит представлено на фото ниже) и подключите его к MicroUSB телефона.
Как правило, сопряжение происходит в 1-2 клика по экрану.
Подключение Bluetooth устройств (Android 9)
4) После запустите игру и зайдите в раздел «Settings» (настроек управления): в нем укажите какие кнопки и за что будут отвечать. Мой пример ниже.
USB-джойстик
1) Подключение аналогично вышесказанному (также через OTG-адаптер).
Джойстик подключен через OTG-адаптер к телефону
2) Дальше очень многое зависит от модели вашего джойстика, телефона и той игры, в которую вы хотите сыграть.
Ссылка на 4PDA (тут есть в т.ч. инструкции по работе с приложением) : https://4pda.ru/forum/index.php?showtopic=471293
Это спец. приложение, позволяющее передавать на экран нажатия с геймпада, мышки, клавиатуры и любых других устройств ввода. Незаменимая штука для устройств, подключаемых по USB и Bluetooth к телефону/планшету.
После установки и запуска Tincore Keymapper — джойстик, как правило, определяется и можно начинать игру (отмечу, что часто недоступна работа стиков). Пожалуй, только есть один существенный минус этого ПО — наличие раздражающей рекламы.
Устройство подключено Tincore Keymapper
Если телефон не видит джойстик
2) Удостоверьтесь, что с джойстиком все в порядке. Попробуйте перепроверить его работу на другом устройстве: ПК, ноутбуке и пр. О том, как это сделать, см. тут — https://ocomp.info/kak-podklyuchit-i-nastroit-dzhoystik.html
3) Если вы взяли джойстик от какой-нибудь приставки, ПК (USB-вариант) — и подключили его к телефону, то скорее всего для его корректной работы вам понадобиться спец. приложение: Joystick Center, Tincore Keymapper и др.
4) Если у вас проводной джойстик: попробуйте сначала подключить его к MicroUSB порту телефона, а после перезагрузить устройство и снова перепроверить его работу.