[APP] DroidMote Server & Client - Wifi Control between Android Devices ++

Status
Not open for further replies.
Search This thread

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
Tested the Amazing Spider Man game with droidmote touch profile on the asus tf101, all work very very well.

this is my touch profile for asus tf101 (1280x800):

<?xml version="1.0" encoding="utf-8"?>
<profile>
<screen-size x="1280" y="800" orientation="0"></screen-size>
<left-stick x="164" y="621" radius="144"></left-stick>
<right-stick x="633" y="357" radius="333"></right-stick>
<button-x x="1194" y="606" swipe="none" sw-distance="0"></button-x>
<button-b x="1191" y="478" swipe="none" sw-distance="0"></button-b>
<button-circle x="1047" y="664" swipe="none" sw-distance="0"></button-circle>
<button-y x="1048" y="538" swipe="none" sw-distance="0"></button-y>
<button-triangle x="0" y="0" swipe="none" sw-distance="0"></button-triangle>
<button-z x="0" y="0" swipe="none" sw-distance="0"></button-z>
<button-square x="0" y="0" swipe="none" sw-distance="0"></button-square>
<button-a x="0" y="0" swipe="none" sw-distance="0"></button-a>
<arrow-up x="0" y="0" swipe="none" sw-distance="0"></arrow-up>
<arrow-down x="0" y="0" swipe="none" sw-distance="0"></arrow-down>
<arrow-left x="0" y="0" swipe="none" sw-distance="0"></arrow-left>
<arrow-right x="0" y="0" swipe="none" sw-distance="0"></arrow-right>
<arrow-nw x="0" y="0" swipe="none" sw-distance="0"></arrow-nw>
<arrow-ne x="0" y="0" swipe="none" sw-distance="0"></arrow-ne>
<arrow-sw x="0" y="0" swipe="none" sw-distance="0"></arrow-sw>
<arrow-se x="0" y="0" swipe="none" sw-distance="0"></arrow-se>
</profile>
 
Last edited:
  • Like
Reactions: leodfs

leodfs

Senior Member
Sep 8, 2011
277
71
Cool, I think the day people discover how droidmote unite the advantage of a small screen control and big screen visuals on games you will be rich.

Sent from my GT-P6210 using Tapatalk 2
 
  • Like
Reactions: zulu99

zogzerg

Member
Jul 26, 2009
25
0
Köln
Awesome work, thank you Zulu,

I'm currently using your app to control a Linux box (ubuntu),
How can I change the keymap under linux ? (I got an 'a' when I press 'q', etc.)

It's not working with my debian box ?? what lib(s) are used by the linux server ?

Zog².

I just hate forums, going through 550 (mostly useless) post to find some infos....
 

CelticSoul

Member
Aug 21, 2008
9
1
Got segfault on my Arch Linux x64

Code:
[ngochai@probook work]$ ./droidmote 2302 pass

Waiting for incoming connections on ip:
Segmentation fault (core dumped)

Code:
[ngochai@probook work]$ gdb droidmote core
GNU gdb (GDB) 7.4.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <...>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<...>...
Reading symbols from /mnt/data/tmp/work/droidmote...(no debugging symbols found)...done.
[New LWP 18804]

warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `./droidmote 2302 pass'.
Program terminated with signal 11, Segmentation fault.
#0  0x0804b668 in whaitmessage ()
(gdb) where
#0  0x0804b668 in whaitmessage ()
#1  0x0804b821 in CreateTCPServerSocket ()
#2  0x0804b92b in main ()
 

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
Awesome work, thank you Zulu,

I'm currently using your app to control a Linux box (ubuntu),
How can I change the keymap under linux ? (I got an 'a' when I press 'q', etc.)

It's not working with my debian box ?? what lib(s) are used by the linux server ?

Zog².

I just hate forums, going through 550 (mostly useless) post to find some infos....

DroidMote in Linux use the standard english keyboard, you can set this keyboard when use droidmote and all keys should work.
In linux you have a wide choice of tools to change keylayout, but same usefull tool are:
XKeyCaps - to change keyboard keys
jscal - for change buttons and axis of the gamepad
Joytokey - to assign key for gamepad actions
etc. etc. etc. goolge is your friend
 

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
Got segfault on my Arch Linux x64

DroidMote for Linux, for now was compiled and tested on the latest release of Ubuntu, Fedora, and the arm version of Ubuntu (more precisely for Lubuntu).
DroidMote for now it is oriented toward the more popular Linux systems for domestic use.
 
Last edited:

zogzerg

Member
Jul 26, 2009
25
0
Köln
@Zulu99 yes I know but I wish I'll be able to use all my keyboards at the same time without setting a new keymap each time (btw I personally use setxkbmap), any chance to have this function implemented ?

what about the dependency libraries ?

@CelticSoul
[ngochai@probook work]$ ./droidmote 2302 pass
droidmote should be run as root !!!!!!!
 

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
@Zulu99 yes I know but I wish I'll be able to use all my keyboards at the same time without setting a new keymap each time (btw I personally use setxkbmap), any chance to have this function implemented ?

what about the dependency libraries ?

@CelticSoul

droidmote should be run as root !!!!!!!

I'll see what we can do, for now you can use different account on the same machine.


no specific library, you must have only uinput in the kernel. all droidmote code is my personal work.
 

CelticSoul

Member
Aug 21, 2008
9
1
That happens even I am root:

Code:
[root@probook work]# ./droidmote 2356 password

Waiting for incoming connections on ip:
Segmentation fault
 

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
That happens even I am root:

Code:
[root@probook work]# ./droidmote 2356 password

Waiting for incoming connections on ip:
Segmentation fault

I repeat, this is not strange for me:

DroidMote for Linux, for now was compiled and tested on the latest release of Ubuntu, Fedora, and the arm version of Ubuntu (more precisely for Lubuntu).
DroidMote for now it is oriented toward the more popular Linux systems for domestic use. after august i port it for other linux distributions.

If you want test all the futures of droidmote try the android or the windows version, on linux, the multi touch features, are enabled, but for now not work, because the windows managers of linux not support well the multi touch. you can test the multitouch on linux with the tool mtview.
 
Last edited:

the_knarf

Member
Jul 9, 2012
10
0
droidmoteserver on a cherry M-728 (tablet)

I bought a M-728 to use as a media-player (with touchscreen) and remote control it with my android phone.
i installed busybox and droidmote server on my tablet,
i installed droidmote client on my phone.
they get connected oke.
the only button thats working is the on/off button.
Am i missing something, i read something about uinput, but i don't know know if this is the problem.

thanks in advanced,
Frank
 

leodfs

Senior Member
Sep 8, 2011
277
71
It IS the problem buddy. That is kind of common with some of those Chinese devices. That happened to me also. Fortunately someone helped with the uinput module.

Sent from my MB525 using Tapatalk 2
 

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
I bought a M-728 to use as a media-player (with touchscreen) and remote control it with my android phone.
i installed busybox and droidmote server on my tablet,
i installed droidmote client on my phone.
they get connected oke.
the only button thats working is the on/off button.
Am i missing something, i read something about uinput, but i don't know know if this is the problem.

thanks in advanced,
Frank

this is an allwinner a10 device. if your kernel version is 3.0.8+ try to download and load the uinput.ko of the mk802 that you can find in previous posts.
 
  • Like
Reactions: the_knarf

RaHoorKhuit

New member
Jul 10, 2012
3
0
This is a great tool. I'm using the linux server on a ubuntu install, running on a htpc to run XBMC. Droidmote is 'the missing piece', and I'm very thankful for your efforts to create this!

So far, I've encountered one issue I havn't been able to resolve yet:

The keyboard mappings all seem correct 'out of the box', save for one key.
On the 'd-pad' screen, the 'enter/return'(?) key in the center of the up,down,left,right directional arrow keys. That center key does not seem to have any affect.

On the server, it's consistently showing that 1 keypress as atleast 3 different keys? Is this expected and correct behavior?

sudo showkey
Code:
keycode   1 release
keycode 104 release
keycode 232 release

^one press of the center key results in keys 1, 104, and 232 - although it does not include 232 every time. seems random. very odd....

system keymap is default. all other droidmote keys work as expected.

My phone is not currently rooted - is that a requirement for making changes to droidmote.kl on the client side? Is that where I need to alter this behavior?

Any info to point me in the right direction would be much appreciated... thanks!
 
Last edited:

zulu99

Senior Member
Jan 6, 2009
2,348
1,482
This is a great tool. I'm using the linux server on a ubuntu install, running on a htpc to run XBMC. Droidmote is 'the missing piece', and I'm very thankful for your efforts to create this!

So far, I've encountered one issue I havn't been able to resolve yet:

The keyboard mappings all seem correct 'out of the box', save for one key.
On the 'd-pad' screen, the 'enter/return'(?) key in the center of the up,down,left,right directional arrow keys. That center key does not seem to have any affect.

On the server, it's consistently showing that 1 keypress as atleast 3 different keys? Is this expected and correct behavior?

sudo showkey
Code:
keycode   1 release
keycode 104 release
keycode 232 release

^one press of the center key results in keys 1, 104, and 232 - although it does not include 232 every time. seems random. very odd....

system keymap is default. all other droidmote keys work as expected.

My phone is not currently rooted - is that a requirement for making changes to droidmote.kl on the client side? Is that where I need to alter this behavior?

Any info to point me in the right direction would be much appreciated... thanks!

You can simply map the 232 scancode to the enter key with many tools on linux.
For example you can use XKeyCaps or setxkbmap toolls or find another.

But do not worry, in little time, i think 2 days, i put online another version of droidmote server for linux because i have a big surprise for all.
I managed to bring all the multitouch functions well also in linux.
With the new versions we can use multitouch actions, and play with apps and games that want touch screen.

a request for all, give me two days of total concentration to write these new functions.
 

the_knarf

Member
Jul 9, 2012
10
0
this is an allwinner a10 device. if your kernel version is 3.0.8+ try to download and load the uinput.ko of the mk802 that you can find in previous posts.

oke, its seems to be the same kernel.
Can someone tell me what the next step is, how do i activate this uinput.ko.
Do i need to put it somewhere on my tablet.

thanks in advance,
Frank
 

leodfs

Senior Member
Sep 8, 2011
277
71
You need root.

first put it somewhere on your sdcard(ex: /sdcard/modules), then with a terminal emulator do:
su
cd /sdcard/modules
insmod uinput.ko


If it shows no output, it was ok. If it gives your any error, the module is not for you device.

Sent from my GT-P6210 using Tapatalk 2
 

the_knarf

Member
Jul 9, 2012
10
0
You need root.

first put it somewhere on your sdcard(ex: /sdcard/modules), then with a terminal emulator do:
su
cd /sdcard/modules
insmod uinput.ko


If it shows no output, it was ok. If it gives your any error, the module is not for you device.

Sent from my GT-P6210 using Tapatalk 2

Thanks, i did, to bad i got error "(Exec format error)", does this mean the module is not for my tablet?

gr, Frank
 

leodfs

Senior Member
Sep 8, 2011
277
71
Not unless he can figure out how to use DroidServer without root...


Not only this, lots of people would require that droidmote would work only putting the two devices next to each other .




Thanks, i did, to bad i got error "(Exec format error)", does this mean the module is not for my tablet?

gr, Frank

Yes, unfortunately modules are very specific. Even with same kernel version you could have incompatibility for wrong settings used when compiling the kernel.


Sent from my GT-P6210 using Tapatalk 2
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 110
    Hi Androiders.
    With your android phone, with one application called Mod Edit link removed you can control another android Phone or Tablet, a Windows pc or a Linux pc, on wich you have installed Mod Edit link removed

    DroidMote is not only a remote mouse, a remote keyboard, a remote gamepad and a remote multi touch touchpad, but it is something more.
    In fact, with the Gamepad2Touch feature allows you to use all the applications and games that were developed to support only devices with touch screen. Imagine you want remote control a game, designed for touch screen devices on your large TV Full HD, with DroidMote you can.
    Just create, in a few simple steps, a "touch profile" with the application "Touch profile Creator" that you can download in the attachment.
    Mod Edit link removed
    DroidMote is fully customizable, in the Server part you can create your own file droidmote.kl to change the default action of the keyboard keys, of the buttons and axis of the gamepad. In the Client part you can create your own "touch profile" to simulate touch events on the remote screen.

    The client and the server to connect must be or on the same local network, or connected to the internet to control remote devices over long distances.
    If you not have a wifi router, you can connect the server and the client directly (point to point) by activating the function Tethering/portable hotspot on your phone or on your tablet. Connect the phone to the tablet or the tablet to the phone. Click start on server, get the ip and put it in the client.
    You do not need bluetooth,the bluetooth is slow and cover small distances.

    DroidMote Server must be installed on the device to be controlled.
    DroidMote Client must be installed on the device controller.

    ONLY THE DEVICE WITH THE SERVER INSTALLED NEEDS TO BE ROOT.
    IN THE SERVER DEVICE , MAKE SURE YOU HAVE BUSYBOX UPDATED AND YOU HAVE THE UINPUT MODULE IN THE KERNEL LIKE MOST ANDROID DEVICES.
    Mod Edit link removed

    Features:

    [✔] Remote Mouse
    [✔] Remote Multitouch Touchpad
    [✔] Two Fingers Scroll Zoom Rotate
    [✔] Remote Keyboard
    [✔] Remote Mediaplayer
    [✔] Remote Dpad
    [✔] Remote Multitouch Gamepad
    [✔] Remote Control with accelerometer
    [✔] Two virtual analog stick on screen
    [✔] Touch emulation allows you to map buttons and analog sticks to the screen. Play all your favourite games with full analog support, even those without built-in controller support!
    [✔] TouchMouse for games that not support a real mouse
    [✔] Voice dictation with android keyboard
    [✔] Gesture typing with android 4.2 keyboard

    For the Server part:
    Android versions > 2.2:
    support: mouse,keyboard,dpad,mediaplyer,gamepad to keyboard.
    Android versions > 3.2:
    support: mouse,keyboard,dpad,mediaplyer,real gamepad, multitouch touchpad,touch profiles.

    If you are satisfied with DroidMote is much appreciated a good vote/review on Google Play

    Video Playlist: Mod Edit link removed
    Mod Edit link removed
    For the DroidMote Basic gestures look this videos:
    Mod Edit link removed


    How to customize keyboard keys, buttons, and axes actions in DroidMote Server:
    Video Mod Edit link removed

    The folder location of droidmote.kl is /system/usr/keylayout ------> this file is for customization

    The folder location of droidmote.kcm is /system/usr/keychars

    This two files by default, in android version > 3.0, are automatically installed at first installation on the device with the server inside.

    To know which scan codes send the client you can install in the server part the free tool (Keyevent Dispaly in the android Market).

    Then follow these simple steps:

    1) connect the client to the server
    2) make sure everything works
    3) on the server start the tool Keyevent Dispaly
    4) click a button on the client
    5) read the scan code on the Keyevent Dispaly
    6) open the file /system/usr/keylayout/droidmote.kl
    7) put the scan code on the left and on the right the new custom action
    8) reboot the device with the server installed.

    You can find the list of custom action to this android developer page:
    http://developer.android.com/reference/android/view/KeyEvent.html.

    The default scan codes for droidmote buttons are:
    Arrow up is key 314
    Arrow down is key 316
    Arrow left is key 317
    Arrow right is key 318
    Arrow up-left is key 312
    Arrow up-right is key 313
    Arrow down-left is key 288
    Arrow down-right is key 306

    A button is key 304
    B button is key 305
    X button is key 307
    Y button is key 308
    Z button is key 309
    square button is key 310
    circle button is key 311
    triangle button is key 315


    Only honeycomb and later versions of Android include the use of buttons and axes:

    key 304 BUTTON_A
    key 305 BUTTON_B
    key 306 BUTTON_C
    key 307 BUTTON_X
    key 308 BUTTON_Y
    key 309 BUTTON_Z
    key 310 BUTTON_L1
    key 311 BUTTON_R1
    key 312 BUTTON_L2
    key 313 BUTTON_R2
    key 314 BUTTON_SELECT
    key 315 BUTTON_START
    key 316 BUTTON_MODE
    key 317 BUTTON_THUMBL
    key 318 BUTTON_THUMBR

    If you have the DroidMote Server installed on a version earlier than honeycomb but you want utilize the buttons, open the file querty.kl and add:

    key 304 A
    key 305 B
    key 306 C
    key 307 X
    key 308 Y
    key 309 Z
    key 310 D
    key 311 E
    key 312 F
    key 313 G
    key 314 H
    key 315 I
    key 316 L
    key 317 M
    key 318 N

    You can customize also the axes from honeycomb and later version of Android:

    left stick x is 0x00
    left stick y is 0x01

    right stick x is 0x02
    right stick y is 0x05

    accelerometer x is 0x10
    accelerometer y is 0x11

    In the default configuration you have:
    axis 0x00 X
    axis 0x01 Y
    axis 0x02 Z
    axis 0x03 LTRIGGER
    axis 0x04 RTRIGGER
    axis 0x05 RZ
    axis 0x10 HAT_X
    axis 0x11 HAT_Y
    in this configuration you use the left stick to move the avatar --> X and Y and the right stick to change view of the avatar --> Z and RZ

    If you want you can change this in:
    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
    in this configuration you use the left stick to change view of the avatar --> Z and RZ and the right stick to move the avatar --> X and Y

    Another useful configuration for the axes if you want use the analog LTRIGGER and RTRIGGER is:
    axis 0x00 X
    axis 0x01 Y
    axis 0x02 Z
    axis 0x03 LTRIGGER
    axis 0x04 RTRIGGER
    axis 0x05 split 0x00 RTRIGGER LTRIGGER
    axis 0x10 HAT_X
    axis 0x11 HAT_Y
    in this first configuration you use the left stick to move the avatar --> X and Y and the right stick to change view when you move left and right, instead if you move up and down you use the LTRIGGER and the RTRIGGER. (is useful to drive a car or generic racing game).

    If you have a racing game or you want move the character with the accelerometer, you can change the defaul axes 0x10 and 0x11 with all you want.


    For more information on the customization look at:
    http://source.android.com/tech/input/key-layout-files.html


    Games that support gamepad only for testing the "real gamepad" emulation future:

    - Shadowgun
    - Riptide Gp
    - Reckless Getaway
    - GTA 3
    - Onlive games with this patched apk link or mirror-1
    - Raging Thunder II
    - Cordy
    - Hockey Nations 2011
    - All Emulators

    Updated list:
    http://xdaforums.com/showthread.php?t=1542820

    Suggest a new game with the gamepad support !


    For games that do not natively support gamepads, you can create a touch profile with the app "Touch Profile Creator" and put the xml file created in the sd card of the device in which you have installed DroidMote Client.


    --------------------------------------------------------

    FREE WINDOWS, LINUX, ANDROID X86 DROIDMOTE SERVER

    Mod Edit link removed

    --------------------------------------------------------

    For Linux:

    Disable the firewall on port 2302
    chmod 777 ./droidmote
    sudo su


    For Windows:

    First install the drivers as specified in the drivers folder.
    Then launch the application droidmote with port and password.
    For games that require a mandatory Xbox 360 controller, put the xinput1_3.dll and x360ce.ini from xbox-emulator folder to the folder of the game whare is the main .exe file.
    Install c++ redist 32 also in 64 bit windows.
    DroidMote Windows Server Installation Tutorial:
    [ Mod Edit link removed

    For Android x86:
    For only users that have google market ready on the x86 devices:
    you can download the apk in the Attached Files.
    3
    HOW TO INSTALL DROIDMOTE SERVER ON MK802

    Premise:

    MK802 with DroidMote inside is an "economic special google tv".
    Special because, without touch screen you can use all apps and games that support only touch actions. (and not only...)
    The MK802 has sufficient hardware (my model is 512MB ram), but have inside a jung ROM.
    The Android community we're working on to improve.
    With this video i want only demonstrate how well run DroidMote with a mini device like this (i hope with better hardware), and how many things you can do.
    To install DroidMote on this device there is a little hack because the rom for now, lacks many basic components.
    In 99% of the Android devices the installation is automatic,and requires no actions.

    Video of DroidMote in action on MK802:

    http://www.youtube.com/watch?v=Keancvm07uo


    Workaround without changing the ROM:

    1) Download and install DroidMote Server from the Google Play.
    2) Start DroidMote and click with the mouse the ON button. (started well, but does not work do not worry).
    3) Download the uinput.ko in the attachment below.
    4) open terminal emulator (If you not have it, download from Google Play).
    5) In terminal emulator run the following commands:

    su
    mount -o remount,rw /system
    busybox cp /download-folder-of-uinput/uinput.ko /vendor/modules (change "download-folder-of-uinput" with your folder ex. /mnt/sdcard/Download)
    busybox mv /vendor/modules/mma7660.ko /vendor/modules/mma7660.ko.bak
    busybox mv /vendor/modules/uinput.ko /vendor/modules/mma7660.ko
    busybox chmod 644 /vendor/modules/mma7660.ko
    umount /system

    6) restart the MK802
    7) open DroidMote Server, go in the settings and enable the options "start on boot".
    8) restart the MK802 (If all goes well, after two minutes from the boot, DroidMote open and start automatically,
    and is ready to receive connections from your phone).



    p.s.
    the module uinput.ko below, is for the MK802 with the default kernel 3.0.8+ (in the next ROM, this module and other corrections,
    should already be included and thus will not have to do anything -look at miniand.com for the new firmware with uinput inside-).
    3
    This uinput.ko module with vermagic=3.0.36+ preempt mod_unload ARMv7 can work on all allwinner a10 devices with the CM10 ROM of Christian Troy :

    http://www.mediafire.com/?5ae5eqb7gv8banc

    * Mediacom 907c, Momo11 Bird, JXD S9000, Eken A90 (first revision) and clones
    * Visture V3 and clones
    * Mediacom 910i, Teclast A10t and clones
    * ICOO D90W and clones
    * CEMA10N7 "unknown" device
    * Bmorn V99
    * Mediacom 711i, Momo9 and clones
    * Protab2XXL
    * Sanei N83
    * Hyundai A7HD
    * MOMO9
    * Onda Vi40 V3
    * LY-F1 and clones
    * Protab2XXLv2
    * TNT Singularity and clones
    * Eken T01
    * Eken T02
    * Eken T05a V1
    * Eken T05a V2
    * Eken T05a V3
    * Eken T05a (unknown version)
    * Eken T10
    * Sanei N10
    * Onda Vi30 Deluxe V3
    * Onda Vi40 Ultimate
    * Onda Vi10 Elite
    * Ainol Novo7 Elf
    * Sanei N83 Deluxe
    * Ainol Novo7 Aurora v3
    2
    I'm going to try this....this is what I've been waiting for! Thanks!!

    ---------- Post added at 06:37 AM ---------- Previous post was at 06:26 AM ----------

    It didn't work with my unrooted TF.

    Unless I missed it, you need to state clearly that it's for rooted TF's.
    2
    Hui there,

    Is there a trial version? Would like to test

    Sent from my HTC Desire HD using Tapatalk