Андроид руль для компьютера

Используйте Android как джойстик или рулевое колесо на вашем компьютере

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

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

С помощью Monect вы сможете на определенной дистанции управлять вашим ПК и даже играть в игры, применяя при этом устройство, работающее на ОС Android. Осуществить это можно с помощью Bluetooth или же Wi-Fi, которые имеются на любом таком устройстве. Monect позволяет использовать ваше устройство Android в качестве рулевого колеса, джойстика, работающих на акселерометре. А также сможете прицеливаться в различных 3D FPS шутерах, если в вашем девайсе есть гироскоп.

Ваш android девайс превратится, при помощи Monect, в мышь/клавиатуру/джойстик. Устройство, работающее на Android, естественно может использоваться в качестве беспроводной клавиатуры или мыши, как и множество иных идентичных приложений. Особенностью данного приложения выступает то, что оно имеет возможность использоваться в роли контроллера для разнообразных жанров игр: FPS, гонки, RPG и так далее. Monect использует абсолютно все датчики устройства работающего на ОС Android: гироскоп, акселерометр, G-сенсор и так далее, для обеспечения полноценной возможности играть, без лагов и задержек. К примеру, с помощью гироскопа можно осуществить режим FPS. А для того чтобы прицелиться или поиграть полноценно в гонки — G-сенсор.

Функции приложения Monect для android:

RaceMode — наслаждайтесь играми в гонки на ПК, такими как NFS, а также управляйте рулевым колесом, с помощью девайса, имеющего G-сенсор.

Джойстик — играйте в разнообразные приключенческие игры: Prince of persia, Street fighter и другие, благодаря полноценной имитации джойстика.

FPS mode — используйте гироскоп своего устройства для прицеливания, чувствуя при этом оружие в руках. Стоит отметить, что отлично поддерживается в Call of Duty!

TouchPad — это своеобразный симулятор сенсорной панели, который поддерживает различные жесты, прямо как на устройстве трекпад от Apple.

My Computer — просматривайте и используйте файлы, находящиеся на вашем ПК, прямо на своем девайсе.

Keyboards — а это симулятор цифровой и буквенной клавиатуры, а также функциональных клавиш.

Text transfer — вы сможете набрать текст, прямо на смартфоне, а после этого, при помощи одного нажатия, передать его на свой ПК.

PPT mode — с помощью этого режима, вы сможете присутствовать на совещании или на важной лекции.

Browser, Media Control — вы сможете легко управлять браузером, а также медиа-плеером.

Источник

Игровой контроллер для ПК на Android

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

Читайте также:  Bq сенсорный бронированный андроид

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

Поведение руля будет эмулироваться с помощью акселерометра. Для этого ведется непрерывное сканирование пространственных координат и эмпирическим путем подбираются границы для каждого направления движения. Исходя из этих данных в реальном времени генерируются сочетания игровых клавиш. Например: 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 endl ;
  7. exit( 0 );
  8. >
  9. bool keepAlive = true;
  10. int timeout = 10000 ;
  11. setsockopt( server.getSocket( ), SOL_SOCKET, SO_KEEPALIVE, ( char* )&keepAlive, size of( bool ));
  12. setsockopt( server.getSocket( ), SOL_SOCKET, SO_RCVTIMEO, ( char* )&timeout, size of( int ));
  13. std::cout «Connected!\n» ;
  14. while ( true ) <
  15. std: :string msg = socket->ReceiveLine();
  16. if ( msg.empty( ))
  17. break;
  18. processKeys( msg.c_str( ));
  19. >
  20. std::cout «Disconnected.\n\n\n» ;
  21. >

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. >
  8. downKey( key1 );
  9. downKey( key2 );
  10. >
  11. void downKey( char key ) <
  12. keybd_event( VkKeyScan(key ), scanCodesАндроид руль для компьютера, 0 , 0 );
  13. >
  14. void upKey( char key ) <
  15. keybd_event( VkKeyScan(key ), scanCodesАндроид руль для компьютера, KEYEVENTF_KEYUP, 0 );
  16. >

Клиент

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. >
  9. @Override
  10. public void onSensorChanged(SensorEvent event ) <
  11. if ( event .sensor.getType() == Sensor.TYPE_ACCELEROMETER) <
  12. long curTime = System.currentTimeMillis();
  13. // считывание данных раз в 100 мс, иначе телефон загнется от сборщика мусора
  14. if (lastUpdate == — 1 || (curTime — lastUpdate) > 100 ) <
  15. lastUpdate = curTime;
  16. x = event .values[DATA_X];
  17. y = event .values[DATA_Y];
  18. z = event .values[DATA_Z];
  19. xLabel.setText(String.format( «X: %+2.5f» , x));
  20. yLabel.setText(String.format( «Y: %+2.5f» , y));
  21. zLabel.setText(String.format( «Z: %+2.5f» , z));
  22. try <
  23. sendKeys(); // анализ координат для отправки клавиш на сервер
  24. > catch (Exception e) <
  25. e.printStackTrace();
  26. >
  27. >
  28. >
  29. >
  30. >

Важный момент — считывать данные с акселерометра надо с определенным интервалом, иначе ваша программа моментально подвесится от непрерывных запросов к сенсору. Также при сворачивании надо отвязывать 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. >
  6. @Override
  7. protected void onPause() <
  8. super.onPause();
  9. sensorManager.unregisterListener( this );
  10. >

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

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;
  12. >

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

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

Читайте также:  Крейзи такси для андроид

Заключение

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

Источник

Использование телефона Android в качестве ПК GamePad или рулевого колеса

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

В этой статье я собираюсь показать вам, как настроить свой телефон Android в качестве геймпада или руля для игр на ПК.

Используйте устройство Android в качестве руля ПК

Большинство современных устройств Android имеют встроенные гироскопы и акселерометры, что в основном означает, что они точно обнаруживают наклон направления. Таким образом, использование телефона в качестве руля для гоночных игр вполне возможно, с минимальными настройками. Ваш телефон Android и ваш компьютер должны быть подключены к одной сети Wi-Fi или через Bluetooth.

Существует множество приложений для этого, и мы перечислим несколько, но для целей данного руководства мы будем использовать Touch Racer, который вы можете получить. Вот в Google Play. Touch Racer очень прост в настройке, к сожалению, он предлагает только кнопки ускорения и торможения, но другие приложения могут предлагать дополнительные кнопки для переключения, просмотра камеры и т. Д.

  1. После установки Touch Racer на телефон Android также необходимо загрузить клиент для ПК.
  2. Запустите Touch Racer на своем телефоне Android, а также откройте его на своем ПК. Если ваш телефон и ПК подключены к одной и той же сети Wi-Fi или подключены по Bluetooth, клиент ПК должен автоматически определить ваше устройство и изменить статус подключения на «подключен» без дополнительных действий.
  3. В приложении Touch Racer на телефоне перейдите в «Настройки». Различные настройки полностью на ваше усмотрение, но они в основном имеют дело с чувствительностью рулевого управления. Чувствительность рулевого управления не требует пояснений, в то время как чувствительность акселератора и тормоза указывает, сколько вам нужно провести пальцем по экрану вверх или вниз для достижения максимального ускорения / торможения.
  4. Одной настройкой, которую вы можете изменить, является датчик рулевого управления — измените его с «Просто акселерометр» на «Акселерометр + гироскоп». Приложение утверждает, что это дает более точное управление за счет задержки, но я не заметил никакой задержки.
  5. После того, как вы настроили приложение, просто нажмите «Начать игру», а затем запустите гоночные игры по вашему выбору на вашем ПК. В опциях игры вам может потребоваться настроить элементы управления на «рулевом колесе».
Читайте также:  Что такое батник андроид

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

Используйте устройство Android как геймпад для ПК

Существует множество различных приложений для управления устройством на вашем Android-устройстве, в том числе в качестве геймпада, но мы хотим иметь приложение с настраиваемой раскладкой кнопок, эмуляцией большого пальца и хорошим временем отклика.

  1. Для этого мы будем использовать DroidJoy, поскольку он поддерживает как XInput, так и DInput, но есть и другие подобные приложения, если вы просматриваете Play Store.
  2. Установите приложение DroidJoy на свое устройство, а также DroidJoy настольный клиент,
  3. Запустите настольный клиент на своем ПК и убедитесь, что ваше Android-устройство и ПК подключены к одной и той же сети Wi-Fi или используют соединение Bluetooth.
  4. Запустите приложение DroidJoy на вашем Android-устройстве и нажмите «Поисковый сервер» в окне «Подключиться». Затем просто подключитесь к клиенту ПК, и все готово.
  5. В меню «Настройки» приложения Android вы можете настроить макет кнопки по своему вкусу или выбрать предварительно настроенный макет в раскрывающемся меню.

Источник

Андроид руль для компьютера

Руль для ПК, OpenTrack, Android, XInput

Руль для ПК, эмулирующий Xbox геймпад, с использованием Android смартфона (с гироскопом) и OpenTrack, по Wi-Fi или USB. Эмулируются левый и правый триггеры, а также левый стик, обычно этого достаточно для гонок. Наклон вперед активирует правый триггер (движение вперед), а наклон назад левый триггер (движение назад). Наклонами влево и вправо активируется левый стик (движения влево, вправо). Наклоны плавно изменяют значения триггеров и стика.

Загрузите и установите последнюю версию OpenTrack и запустите её. Установите FreePie IMU на Android из архива.

В настройках OpenTrack необходимо выбрать источник данных: «FreePie UDP receiver», а выходной интерфейс: «freetrack 2.0 Enhanced». Далее нажать кнопку «Запустить».

Запустите приложение «XInputTest.exe» для проверки, из загруженного архива. Попробуйте наклонить смартфон в разные стороны.

Значение Pitch («Игровые данные» в OpenTrack) отвечает за поворот руля влево и вправо. Значение Roll («Игровые данные» в OpenTrack) отвечает за движение вперед и назад. Возможно, что вам придется обменять местами Yaw, Pitch или Roll, в настройках профиля OpenTrack.

В «WheelSetup.ini» можно изменить слепую зону (для отсутствия какого-либо движения), максимальные и минимальные углы для активирования триггеров. Более подробно описано в конфигурационном файле. Углы можно посмотреть в OpenTrack («Игровые данные»).

После настройки необходимо скопировать файлы «xinput1_3.dll» (для 32 битных игр, а для 64 битных скопировать «xinput1_3x64.dll» и переименовать в «xinput1_3.dll») и «WheelSetup.ini» в папку с игрой, и запустить игру. Возможно, для некоторых старых игр, придется переименовать «xinput1_3.dll» в одно из названий: «xinput1_4.dll» (Windows 8 / metro apps only), «xinput1_2.dll», «xinput1_1.dll» или «xinput9_1_0.dll».

После запуска игры нажать «F9» и запустить приложение FreePie для Android, ввести IP адрес компьютера и нажать кнопку. Кнопка «F10» отключит руль.

Источник

Оцените статью