Лучшие игровые контроллеры для Android. Лучшие игровые контроллеры для Android-устройств

Всем привет! В данной статье я хочу рассказать о том, как можно сделать из своего Adndroid смартфона игровой контроллер (в простонародье - джойстик) для обычного ПК, а именно руль .

Описание задачи

Поведение руля будет эмулироваться с помощью акселерометра. Для этого ведется непрерывное сканирование пространственных координат и эмпирическим путем подбираются границы для каждого направления движения. Исходя из этих данных в реальном времени генерируются сочетания игровых клавиш. Например: W - вперед, WA - вперед и влево и т. д.

Для доставки этих данных на ПК должен быть запущен сервер, который принимает входящие команды и эмулирует нажатия соответствующих клавиш. Сервер можно сделать однопоточным, чтобы подключался только один смартфон. Соединение будет осуществляться по Wi-Fi.

А теперь самое интересное…

Сервер

Сервер реализован на C++ под Windows. Основная его задача - непрерывно принимать входящие сообщения и нажимать клавиши. Ниже приведен основной и простой код для данной задачи:
Copy Source | Copy HTML
  1. while (true ) {
  2. std::cout << "Wait for connection...\n" ;
  3. try {
  4. socket = server.Accept();
  5. } catch (const char *error ) {
  6. std::cout << error << std::endl ;
  7. exit( 0 );
  8. bool keepAlive = true;
  9. int timeout = 10000 ;
  10. setsockopt(server.getSocket(), SOL_SOCKET, SO_KEEPALIVE, (char* )&keepAlive, size of(bool ));
  11. setsockopt(server.getSocket(), SOL_SOCKET, SO_RCVTIMEO, (char* )&timeout, size of(int ));
  12. std::cout << "Connected!\n" ;
  13. while (true ) {
  14. std::string msg = socket->ReceiveLine();
  15. if (msg.empty())
  16. break;
  17. processKeys(msg.c_str());
  18. std::cout << "Disconnected.\n\n\n" ;

Нажатие клавиш:

Copy Source | Copy HTML
  1. void pressKeys(char key1, char key2 ) {
  2. // отжать предыдущие клавиши
  3. for (std::map::iterator it = scanCodes.begin() ; it != scanCodes.end(); it++) {
  4. char curKey = it->first;
  5. if (curKey != key1 && curKey != key2 )
  6. upKey(curKey );
  7. downKey(key1 );
  8. downKey(key2 );
  9. void downKey(char key ) {
  10. keybd_event(VkKeyScan(key ), scanCodes, 0 , 0 );
  11. void upKey(char key ) {
  12. keybd_event(VkKeyScan(key ), scanCodes, KEYEVENTF_KEYUP, 0 );

Клиент

Задача клиента - подключится к серверу и посылать комбинации клавиш для нажатия. Для этого используется акселерометр. Наша задача - получить пространственные координаты телефона. Это делается так:
Copy Source | Copy HTML
  1. public class MainActivity extends Activity implements SensorEventListener {
  2. @Override
  3. public void onCreate(Bundle savedInstanceState) {
  4. // ...
  5. sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
  6. accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
  7. //...
  8. @Override
  9. public void onSensorChanged(SensorEvent event ) {
  10. if (event .sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
  11. long curTime = System.currentTimeMillis();
  12. // считывание данных раз в 100 мс, иначе телефон загнется от сборщика мусора
  13. if (lastUpdate == -1 || (curTime - lastUpdate) > 100 ) {
  14. lastUpdate = curTime;
  15. x = event .values;
  16. y = event .values;
  17. z = event .values;
  18. xLabel.setText(String.format("X: %+2.5f" , x));
  19. yLabel.setText(String.format("Y: %+2.5f" , y));
  20. zLabel.setText(String.format("Z: %+2.5f" , z));
  21. try {
  22. sendKeys(); // анализ координат для отправки клавиш на сервер
  23. } catch (Exception e) {
  24. e.printStackTrace();

Важный момент - считывать данные с акселерометра надо с определенным интервалом, иначе ваша программа моментально подвесится от непрерывных запросов к сенсору. Также при сворачивании надо отвязывать listener от акселерометра, чтобы ресурсы системы и батареи не тратились зря. Для этого в методах onResume и onPause делается следующее:

Copy Source | Copy HTML
  1. @Override
  2. protected void onResume() {
  3. super.onResume();
  4. sensorManager.registerListener(this , accelerometer, SENSOR_DELAY_NORMAL);
  5. @Override
  6. protected void onPause() {
  7. super.onPause();
  8. sensorManager.unregisterListener(this );

Код для генерации клавиш очень прост. Все границы определялись экспериментальным путем.

Copy Source | Copy HTML
  1. private String getKeys() {
  2. String keys = "" ;
  3. if (z > 7 .5 )
  4. keys += "W" ;
  5. else
  6. keys += "S" ;
  7. if (y < -3 )
  8. keys += "A" ;
  9. else if (y > 3 )
  10. keys += "D" ;
  11. return keys;

Как это все работает

Испытывал я это все на Need For Speed Most Wanted. По ощущениям, конечно, не как настоящий руль, но играть можно.К сожалению, видео снять не получилось - в доме одна камера, и то на испытуемом телефоне. В ближайшее время обязательно выложу. Вот как это выглядит на ПК и на смартфоне:

Заключение

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

Кто не коротал время в автобусе или метро, играя на телефоне в какой-нибудь модный шутер? И все, наверное, сталкивались с неудобством встроенного виртуального джойстика: нет тактильного ощущения кнопок, нет полноценного контроля. Теперь, с появлением Bluetooth-геймпад для Android, все будет иначе. Наша задача – рассказать в этом обзоре о тех устройствах, которые являются самыми популярными. Ответить на вопрос, какой лучший Bluetooth-контроллер для Android, мы предоставим читателю.

Варианты выбора

В этой теме есть две стороны:

  • джойстик, подключаемый к телефону по Bluetooth;
  • приложение для смартфона, превращающее телефон в джойстик.

Здесь пойдет речь об обоих вариантах.

Джойстик, подключаемый по Bluetooth

На сегодняшний день в этом сегменте существует весьма обширный выбор. Это неудивительно, ведь обладателей смартфонов на ОС Android становится все больше с каждым днем. А вслед за этим увеличивается количество приложений развлекательного предназначения.
SteelSeries Free – это джойстик, совместимый с практически любыми игровыми устройствами, начиная от смартфонов или планшетов и заканчивая стационарными компьютерами и ноутбуками. Он имеет небольшие размеры и мощную батарею для продолжительной автономной игры. Также имеется функция Plug-n-play. Для усиления игровых ощущений встроена функция вибро. Из недостатков отметим отсутствие держателя для смартфона.

Еще один Bluetooth контроллер для Android – Moga Pro. Этот прибор имеет узнаваемый внешний вид. Корпус сделан из приятных на ощупь материалов, что позволит провести много времени с джойстиком в руках: этот эффект усиливается благодаря форме с удобными для удерживания рогами. Moga Pro имеет один из наиболее полных для подобных устройств наборов кнопок.
Приятной особенностью является наличие держателя, который позволяет фиксировать смартфоны шириной до 82 мм. В комплекте идет подставка для планшетов.

Ну и последний Bluetooth игровой контроллер для Android, о котором мы расскажем, это PhoneJoy. Он имеет очень интересную особенность. В сложенном состоянии устройство совсем небольших размеров, сопоставимых с размером бумажника. Но в разложенном состоянии PhoneJoy превращается в полноценную игровую консоль. Если потянуть за боковые края джойстика, он раздвигается и в нем открывается место для крепления смартфона. Запаса хватает для очень больших смартфонов, таких, как Galaxy Note 4, например.

Из минусов можно упомянуть о недостаточно жесткой конструкции: любителям давить на кнопки от всей души не подойдет. Также сравнительно слабая батарея.
Итак, какой лучший Android контроллер Bluetooth, решать вам. При выборе устройства мы рекомендуем обратить внимание на универсальность, практичность и надежность. Также немаловажным фактором выбора станет цена.
Теперь перейдем ко второй части нашего обзора.

Приложение, превращающее телефон в джойстик

Если вы, вспомнив былые времена, установили на свой компьютер любимую игру, в которую удобнее играть с помощью джойстика, то его отсутствие под рукой наверняка огорчает. Теперь эта проблема решается быстро и бесплатно. Для этого существует приложение, выполняющее функцию контроллера и подключающееся к Android по Bluetooth. Об этом и поговорим подробнее.

Нужно сказать, что выбор ПО для этой цели огромен. Причем в большинстве своем оно является бесплатным. Мы использовали программу Monect PC Remote. Особенность этого приложения – широкие возможности, далеко выходящие за пределы простого джойстика.

Это приложение является условно бесплатным. То есть, скачать его, установить и пользоваться можно без оплаты. Нет также ограничений во времени пользования (отсутствует триальный период). Платными являются некоторые дополнительные возможности, как, например, регулировка чувствительности контроллера. Но и без этого пользоваться приложением можно без труда.
Чтобы приступить к использованию, приложение нужно скачать из Google Play и установить. Для взаимодействия с компьютером копию приложения скачиваем с официального сайта и устанавливаем на ПК. Если все готово, то запускаем программу нажатием ее ярлыков на рабочих столах компьютера и телефона.

В первом окне меню нам доступен на выбор тип подключения: по Wi-Fi или Bluetooth. Ниже этих кнопок есть поле, в котором отображаются доступные для подключения устройства. В самом низу кнопка сканирования. Выбираем Bluetooth и жмем ее.

Находим в появившемся списке наш компьютер и выбираем его.

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

Мы вплотную приблизились к тому моменту, когда наши карманные устройства по производительности не сильно уступают настольным, а крупные издательские компании делают уникальные для мобильных платформ релизы игр. Да, игры на iOS и — это уже не просто «змейка». Для хорошей игры не помешает хороший игровой контроллер. TechNews подобрали несколько лучших, совместимых с Android-смартфонами и планшетами.

MAD CATZ L.Y.N.X 9


Этот модульный игровой контроллер был представлен в рамках CES 2015. Он предназначен для работы с Android-устройствами и комфортней всего будет владельцам устройств с диагональю экрана до 7 дюймов, ведь именно для них рассчитаны крепления. Специальное приложение поможет детально настроить аксессуар, который, кстати, при желании может быть использован и с компьютером под управлением Windows. Сейчас L.Y.N.X 9 доступен для предзаказа на по цене в 299 долларов.


Этот аксессуар выглядит совсем не так агрессивно, как предыдущий. Он компактный, и, возможно, кто-то даже назовет его несерьезным, но точно не его владелец. Качество сборки и материалов этого игрового контроллера способно удивить инженеров Sony. Он совместим с Android, iOS, Windows, Mac и Linux, при стоимости в 50 долларов. Первое впечатление обманчиво.

iCADE 8-BITTY


Этот игровой контроллер создан для того, чтобы вернуть вас в прошлое. Он компактный, беспроводной, работает на батарейках AAA, стоит всего 30 долларов и дарит непередаваемые ностальгические чувства.

MOGA


Этот игровой контроллер превратит ваш смартфон в продвинутый GameBoy. Он подходит для работы с Android-смартфонами любого размера и класса. Необходимое для его работы ПО поддерживает все версии Android, начиная с 2.3. Аксессуар также работает на двух батарейках AAA, а стоит всего 45 долларов.


Это потрясающее решение. Компактный, легкий, невероятно удобный контроллер с аналоговым джойстиком и тремя идеально расположенными клавишами, работающий по Bluetooth, питающийся от AAA-батареек, по цене в 13 долларов. Разве возможно отказаться от этого удовольствия? К сожалению, у устройства проблемы с поддержкой разработчиками.

iDROID


Если же вы вдруг считаете, что контроллер для мобильного устройства должен соответствовать стандартам, заданным консолями, тогда этот аксессуар для вас. Он отлично ляжет в ваши руки после контроллеров от PlayStation или Xbox, он работает на аккумуляторе, он совместим как с Android, так и с iOS, и обойдется в 40 долларов.

Геймпад для Андроид уже давно превратился из дополнительного аксессуара в обязательный атрибут всех любителей мобильных игр. Современные смартфоны и планшеты стали настолько мощными, что разработчики приложений все больше уделяют внимания технологически сложным играм с красивой графикой. Играть на сенсорном экране удобно только в игры типа Фруктового ниндзя и Angry Birds. А игры в стиле RPG, шутеры от первого лица или гонки подарят Вам гораздо больше положительных эмоций, если вы будете использовать джойстик для Android.

Как работает джойстик для Андроид

Наиболее распространенным и удобным вариантом считается подключение по технологии Bluetooth. Рабочий диапазон блютуз джойстика составляет 6-8 метров, что очень актуально для телевизоров на ОС Android. Для подключения контроллера по технологии Bluetooth, геймпад должен войти в режим «сопряжения» с вашим мобильным устройством. Этот процесс может проходить не совсем гладко и зависеть напрямую от производителя игрового контроллера и версии ОС.

Крупнейшие производители манипуляторов позаботились об официальных приложениях для Андроид, которые доступны для скачивания бесплатно в on-line магазине. Программы представляют из себя набор драйверов, с помощью которых просто и быстро определится и «подцепится» устройством Ваш блютуз геймпад. Также эти приложения содержат каталог игр, которые официально поддерживает производитель, давая гарантию, что Ваш контроллер для Андроид будет с ними работать.

Зачем покупать блютуз джойстик для Андроид

  • комфортный игровой процесс «на ходу»: в транспорте, на отдыхе, в поезде, самолете и тп.;
  • контроллер для Андроид имеет специальное крепление для телефона, есть модели с креплениями для планшетов. В результате у вас в руках оказывается мини-приставка, настоящий полноценный игровой центр, в котором надежно будет размещен экран;
  • купить совсем не сложно. Цены на хорошие манипуляторы для Андроид вполне демократичны, а разнообразие моделей и набор функций удовлетворит даже самого требовательного геймера.

Наш компания, работая напрямую с производителями, застрахована от подделок и активно способствует в части обеспечения гарантийных обязательств. В интернет магазине VHS Вы сможете купить по оптимальным ценам джойстики для планшетов и смартфонов таких мировых брендов как Moga, iPega, 8bitdo, Wamo, Mad Catz, Mocute, Phonejoy, GameSir. В наличии также есть небольшие универсальные беспроводные VR контроллеры – самые простые и доступные из всех имеющихся вариантов.

Sixaxis Controller - приложение, которое позволяет играть в игры с джойстиком на Андроид. Причем Вы сможете подключить, как беспроводной геймпад, так и аналоговый джойстик. Что касается переназначения клавиш, то это не проблема, поскольку в самой программе предусмотрена подобная возможность.


  • Жанр: подключение джойстика
  • Платформа: Android 2.2-5.0
  • Язык интерфейса: русский

Из можно скачать приложение Sixaxis Compatibility Checker для проверки совместимости вашего устройства и Sixaxis Controller. Проверочное приложение - бесплатное.

1. Скачайте и установите SixaxisPairTool. Запустите его и подключите контроллер к компьютеру USB-шнурком. После автоматической установки драйвера высветится MAC-адрес в формате xx:xx:xx:xx:xx:xx
2. Теперь запустите Sixaxis Controller на телефоне.
Нажмите на Start. Программа запросит рут права и внизу вы увидите Local Bluetooth Address, тоже в формате xx:xx:xx:xx:xx:xx - впишите его в SixaxisPairTool на компьютере, в поле Change Master и нажмите Update. Потом отключите контроллер от компьютера.
3. Включите контроллер кнопкой PS (круглая посередине). Если на контроллере горит одна лампочка - все получилось! :clap:
Если пишет Connection Failed - ваше устройство не поддерживается:(
4. Теперь осталось только нажать Change Input Method в программе и выбрать Sixaxis Controller.
Eсли вы хотите джойстик потом снова подключать к приставке, достаточно будет подключить его шнуром к PS3 и включить сначала приставку потом геймпад, они схватятся сами.

Гарантированно работает ТОЛЬКО с оригинальными Sixaxis и Dualshock 3! Другие PS3-геймпады и китайские подделки МОГУТ НЕ РАБОТАТЬ
- Во избежание проблем с геймпадом рекомендуется заряжать ТОЛЬКО от компьютера /ориг. зарядки /ps3
- Работоспособность на стоковых прошивках (особенно с Sense) не гарантируется.
- Программа,начиная с версии 0.7.1 , совместима с процессорами МТК, все ошибки и предложения отправляем автору

DNS AirTab M101w
3Q TS1010c
Acer Iconia 500
Acer Iconia Tab A101 (сток 4.0.3)
Acer Iconia Tab A110
Acer Iconia Tab a211
Acer Iconia Tab A511
Acer Iconia Tab A1-810
Acer Liquid
Asus EEE Pad Transformer
Asus PadFone 2 A68
Asus Memo Pad HD 7
Asus Nexus 7 2013
Asus Nexus 7 2012
Asus tf 300 tg
Ainol Novo 7 Advanced (n7a_4.03_feiyu_mod_(0429) + ICS 4.0.4 (IVI) CyanogemMod 9)
Alcatel OT990 (прошивка Perfomix)
Alcatel OT-5036D POP C5
CECHZC2H
CUBE U30GT
Cube u39gt
DNS m100gw
Dell Streak 7
Docomo F-10D
Explay Golf
Fly 446 magic
Fly IQ441 Radiance
Fly IQ451 Vista
Fujitsu STYLISTIC M532
Fly Flylife Connect 10.1 3G
Fly IQ4404 (Spark) - сток,4.2,sw17
Galaxy Nexus
Gigabyte GSmart G1345
Gigabyte GSmart Aku A1
HTC One S
HTC One(M7) GPE
HTC One e8
HTC One X
HTC Desire HD CM7 или MIUI
HTC Desire S CM7, CM9, Virtuous Quattro, IceColdSandwich 6.1
HTC Desire CM
HTC EVO 3D CyanogenMod (7,9,10)
HTC Explorer
HTC Incredible S MIUI
HTC HD2 CM
HTC Sensation CM7
HP Touchpad CM
Highscreen boost 2
Highscreen Alpha Tab.
Higscreen Explosion
Huawei Honor 2
Huawei Media Pad 4.0.3
Huawei Honor 3C на МТК6582
HYUNDAI ROCK X800
Hyundai T7s
IconBIT NetTAB SPACE II (cток 4.1.1) СЕCHZC2Ua1
Icou Farry 2 (на офф прошивке 4.1 с джойстиком Nitho Neo)
iWing WTD2
Jiayu G2F
Lg G Pro (E988) с CM10
LG Optimus 2X
LG Optimus Black
LG Optimus G
LG Nexus 4
LG Nexus 5
LG E425
LG L90
Lenovo LePhone GW100 + MIUI 2.5.4 или CyanogenMod
Lenovo k1
Lenovo s650
Lenovo a820
lenovo k910 vibe z
Megafon Login
Minix NEO x7 (прошивка 006с)
Minix 8
MegaFon Login+
Motorola Quench XT5
Motorola Milestone CM7 или MIUI
Motorola Milestone 2
Motorola Atrix 4G 2.3.4
Motorola Defy CM7
Motorola Droid 3
Motorola Droid X
Motorola Xoom MZ604 wifi AOSP 1.0.0
Motorola RAZR / DROID RAZR
Motorola Razr M
Motorola Moto G
Motorola Moto X
Newman N2 (Freelander I20)
Nexus One CM7
Nexus S
Oneplus One
Onda 975m
OYSTERS T34
Philips W732
Philips w6610
Philips Xenium w8510
Prestigio pmp 5101D3G 10.1 ОП 4.2
PocketBook SurfPad 3 10.1
Samsung Galaxy S Advance CyanogenMod 10.1
Samsung galaxy s III mini
Samsung Galaxy Ace
Samsung galaxy ace 2 оф 4.1.2
Samsung Galaxy S CM7
Samsung Galaxy S CM10.1
Samsung Galaxy S II CM7 или MIUI или стоковая прошивка с рутом
Samsung GT-I9100G GALAXY S II Cyanogenmod 11, Android 4.4.2
Samsung Galaxy S3
Samsung GT-I9500 Galaxy S IV
Samsung Galaxy s4 (at&t)
Samsung Galaxy S Plus I9001 CyanogenMod 9
Samsung Galaxy Tab CM7
Samsung Galaxy Tab 7.0+
Samsung GT-I9003 KPH
Samsung Galaxy 5 CM7
Samsung Galaxy Note
Samsung Galaxy Note 2
Samsung Galaxy Note 3 n900 (Сток 4.4.2 с рутом)
Samsung Galaxy Note 10.1 android 4.1 jelly bean
Samsung Galaxy Wonder (CM10)
Samsung Galaxy Tab Pro 8.4
Samsung Galaxy 2 10.1
SmartQ W1 Z Watch
SONY Xperia V
Sony Ericsson X8 miniCM
Sony Ericsson X10 2.3.3
Sony Ericsson Xperia Active 4.0.4
Sony Ericsson Xperia Arc S 4.0.4
SONY XPERIA ION 4.1.2
SONY TABLET Z 4.3
Sony Xperia P 4.1.2
Sony XPERIA S 4.0.4
Sony XPERIA Sola 4.1.2
Sony Xperia Z1 Compact
Sony Xperia Z3 Compact
Sony Xperia M2(D2303)
Sony Xperia Z3 Tablet
TV BOX Rikomagic Quad Core MK802IV
TV Box M8 Amlogic S802 прошивка Finless 1.8, на версии 0.8 работает
Tronsmart Vega S89-H (0.8.1)
Ramos W30
Pantech Vega Racer II / Кастом от 9.16
Pegatron Chagall
Pipo M1
Pipo m7
Pipo Max M9
Toshiba AC100 (CyanogenMod_9.0_Android_4.0_beta3_zombah)
Teclast P89 mini S
Teclast p89 mini s
ViewSonic VIEWPAD 10S
Xiaomi Mi-2
Xiaomi Mi2a
Xiaomi MI-3
Xiaomi Red Rice
Xiaomi MiPad
Yuandao Window N101
Zopo C2
МТС 972
ZTE V967s
ZTE Grand X Quad
Texet X-Basic
Cubeboard 3
Prestigio 4500 DUO



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: