To control a remote Android device you can install on it the app DroidMote Server
For an awesome experience you need a good Client device with a sensitive touch screen and a good wifi connection on both Client and Server devices. In case your wifi network connection is poor, you can use the ethernet port of your Server device. By default DroidMote don't have noticeable lags, if you experience lags, check your network connections or try with another Client device. Also an old Galaxy S1 is good to have an experience like in those videos:
Apps and Games on TV with DroidMote.
To have all functionalities of DroidMote, make sure that DroidMote Server for Android, at first start, install the configurations files. You can see if in the SERVER device you have this files after you have started DroidMote Server for the first time: ( valid only for the Android Server )
Read the F.A.Q. nr. 24 if you don't have this files.
Make sure you have the last Client and Server versions installed from Google Play.
To connect DroidMote Client to DroidMote Server, you can click Menu > Connect or a single tap on the touchpad and write the ip that you see in the DroidMote Server when it is started.
You can also automatically search the active servers in lan with the search button in the connection dialog box.
If you experience disconnections when the display turns off, this is not normal, check the Power Options of your device and do not allow the automatic killing of all background services when display turns off.
One finger to move the mouse, two fingers for multi touch gestures. The multi touch gestures are relative to the last mouse position.
To drag you can long press on an item and move one finger, a single tap on touchpad to release.
Two fingers very close to scroll up / down and left / right.
You can scroll also with the dedicated scroll button that active the mouse wheel. press the button and move one finger up / down, a single tap on touchpad to release.
In the settings ( Menu > Settings ) you can also enable the "Fast Scroll" function that i use daily. When you enable this checkbox, to activate the mouse wheel, you can long press on touchpad and move one finger up / down ( when you active the fastscroll, the drag mode is activable with a second long press ).
You can write on the remote device, with your preferred Android keyboard installed on the Client device. If you have problems try with the Google Keyboard. To open the keyboard press the dedicated keyboard button on the touchpad. A long press on the keyboard button to switch between installed keyboards. You can also use gesture typing and voice dictation with the dedicated mic button of DroidMote Client.
You can customize the keyboard to support many languages with the server side configurations files droidmote.kl and droidmote.kcm ( as explained by Google for the Key Layout and Key Character Map files, and you can use also unicode characters ) The keyboard languages supported by default are languages with Latin characters, Russian, Arabic and Greek. You can select your preferred language in Droidmote Server settings. If you want write in Chinese, in the client device you can use the english keyboard and in the Server device you can install the Google Pinyin keyboard and from Android Settings > Language and Input select Pinyin IME as default IME.
Volume up paste the Clipboard of the Client device on the remote device, and volume down act as CTRL key, in this way you can use also shortcut like CTRL + key
The Touch Mouse mode ( Setting > TouchMouse ) is an hybrid input device that instead of using the left mouse button, use a touch action. The Touch Mouse is the circular red pointer to not be confused with the normal mouse pointer. Can be used for some android games that not support an hardware mouse. Infact you can click on the buttons menu of the games only with the Touch Mouse. The Touch Mouse work only if you have selected a touch profile, because it need the remote screen resolution and the orientation that are fields stored inside the touch profile.
The TouchMouse is necessary and usable only in Android. In Windows and Linux not work.
The DroidMote Gamepad, work in two way.
The default mode is a standard controller simulation mode and the second is the Gamepad2Touch mode for games that don't support an external controller but only touch actions.
With the DroidMote soft Gamepad, you can play multi touch games and games that support an hardware controller.
The actions of the buttons and of the axes can be customized with the file droidmote.kl, but the graphic position of buttons can't be changed because when you play with a phone or a tablet you can use only your thumbs, therefore the current graphic layout is always the best solution to have two sticks and many buttons.
In the default mode the soft gamepad of DroidMote simulate a real controller, so if a game supports a real controller you can already play without create a touch profile.
The accelerometer can be used only in games that support a real controller and can be customized with the Server side configuration file droidmote.kl or with a dedicated menu inside the game for controller customization ( in this menu, after enabling the accelerometer in the Client Settings > Enable Accelerometer, you can map the accelerometer axes to some predefined game actions ).
If you want use the accelerometer, but your game don't have a dedicated menu for controller customization, look this post viewtopic.php?f=14&t=644
All the keyboard's keys, gamepad's buttons, the axes of the sticks and the axes of the accelerometer, can be customized with the Server configuration file droidmote.kl and you can load your custom keylayout in DroidMote Server > Settings > Change keylayout.
You can copy the default droidmote.kl file from the folder /data/system/devices/keylayout of the Server device and edit this to add your customizations.
In DroidMote Client settings, if you select "Directional Keys to Buttons", the directional keys around the left stick, become standard gamepad buttons.
In the Client settings, if you select "Square and Circle to Triggers", the buttons Square and Circle become an analog left trigger and an analog right trigger. The button 18 in the photo below, become also a supplementary analogic left trigger, useful when you want aim and fire at same time.
In the Gamepad Tab of DroidMote Client, the volume up / down are extra buttons for auto fire or other actions.
To play with a multi touch game, you can create a touch profile with the free Windows app "Touch Profile Creator" that you find in the download section of this forum or with Touch Profile Creator for Android.
Once you have created a touch profile, the resulting xml file can be copied on the device with DroidMote Client inside, in the internal sdcard folder, or in Download folder, or in a special folder called droidmote ( usefull if you want have all touch profiles in one place ).
To play with a multi touch game with the touch profile created by you, you can select it in DroidMote Client settings. Open Settings click on Gamepad2Touch and Select Touch Profile.
When you are in the Gamepad Tab or in Touchpad Tab and you have an hardware controller connected to the phone ( bluetooth, wired or wireless, e.g. PS3 controller or XBOX controller ), the commands of the hardware controller are forwarded to DroidMote Server.
In this way you can play the Android games also with your hardware controller.
This function is usefull if you want play multi touch games with an hardware controller and the touch profiles of DroidMote, or you want transform a wired controller in a wireless controller or one of your android devices don't support your hardware controller.
This feature works on Android, Windows and Linux. Is implied that the hardware controller must be already compatible with the client device, regardless from DroidMote Client.
From Android 4.3 in DroidMote Client you can have another usefull feature, the droidmoteIME.
One of the functionalities that you can do with the droidmoteIME is to run on the same android device both the Client and the Server and connect via the loopback address 127.0.0.1
In this way you can use the touch profiles of DroidMote to play multi touch games also with an hardware controller connected directly to the Android TV box.
When you have an hardware controller connected directly to the Android Box and you use the droidmoteIME, you can control the Mouse or the Touch Mouse with the right stick of your hardware controller and click with the Left Trigger. Very useful because when you play with multi touch games, you can do everything with the hardware controller, also Mouse or Touch Mouse and because you can have also the normal controller mode in combination with a Mouse or Touch Mouse on every app.
To switch between mouse mode and normal mode, you can press the START button of your hardware controller.
When you are in mouse mode, if you have previously selected a touch profile, you can switch between Mouse and Touch Mouse, by pressing the R1 button of your hardware controller.
When you are in mouse mode, if you have previously selected a touch profile, you can switch between Gamepad2Touch and normal Controller mode, by pressing the ThumbR button of your hardware controller.
To switch between input method editors ( IME ) you can long press on the keyboard icon of DroidMote Client or from Android settings.
The droidmoteIME opens useful scenarios also when you want play Windows games on your android device because you can run the client in background and utilize in foreground your preferred remote desktop app but the beauty is that you can use your preferred hardware controller connected to your android device and not to Windows. ( for nomal games and multi touch games )
With the droidmoteIME you can use also VR apps or games. Infact you can put your phone inside a VR headset and with the hardware controller in your hands, you can have Mouse and Touch Mouse to easly navigate the UI of the OS or the menus and at same time you can play with VR games but also with multi touch apps or games inside your VR headset.