[App][4.1+] DeskDock - Share computer's mouse & keyboard with Android (+ Drag & Drop)

Search This thread

FD_

Senior Member
Oct 16, 2012
241
390
[App][4.1+] DeskDock - Share computer's mouse & keyboard with Android (+ Drag & Drop)

Hi,
I constantly have my Android devices docked beside my computer, and I used to think how cool it would be if I could use the computer's mouse and keyboard to control the Android device, just by moving the mouse over the computer screen's border onto the Android device's screen. If I could quickly drag and drop files to the Android device.
I was a user of ShareKM some time ago, but unfortunately, it was abandoned and never worked with Mac computers.
Being a hobby app developer, I investigated ways of doing an app like ShareKM myself. Over the years, I had started several attempts at building such an app, but it wasn't until I had written an app called ReverseTethering that I had enough know-how to make my mouse and keyboard sharing app production-ready and to release it.
And here we are. I just released DeskDock to Google Play yesterday.

Features:
  • Use your computer's mouse with your Android devices
  • Share clipboard between computer and Android devices
  • Supports Windows, Linux and macOS
  • Works on all Android versions starting from 4.1
  • NO rooted device required
  • Shortcut for simulating multitouch
  • Connect multiple Android devices to one computer
  • Flexible arrangement of devices
  • Customizable mouse button actions
  • Customizable mouse pointer speed
  • Ready for Android Nougat

I invest huge parts of my leisure time into app development and support. To get something back in return, I created a PRO version with extra features that costs money.
Pro version comes with these extra features:
  • Use your computer's keyboard with your Android devices
  • Keyboard sharing supports international keyboards (eg Umlauts)
  • Drag and Drop: Urls will be opened automatically, APKs will be installed
  • Shortcuts for turning off screen, multitouch, quickly changing volume, screen brightness

Please keep in mind that this is the very first version of the application, so please report bugs you find instead of writing bad Play Store reviews:fingers-crossed:

Links:
Play Store: https://play.google.com/store/apps/details?id=com.floriandraschbacher.deskdock.free
PRO Version: https://play.google.com/store/apps/details?id=com.floriandraschbacher.deskdock.pro

Let me know if you have any questions or suggestions! Any feedback is highly appreciated :)!
 
Last edited:

WilderSu

Senior Member
Dec 26, 2014
58
18
THIS IS AMAZEBALLS!!!
I had two nice tablets with decent ips screens but with broken touch lying around , and with this app I have re-purposed them as additional screens , standing on both sides of my lappy, It is simply great...

Huge huge thanks

Mouse cursor is a bit laggy/slow though.
 
Last edited:
  • Like
Reactions: xodeus and tiboric

FD_

Senior Member
Oct 16, 2012
241
390
THIS IS AMAZEBALLS!!!
I had two nice tablets with decent ips screens but with broken touch lying around , and with this app I have re-purposed them as additional screens , standing on both sides of my lappy, It is simply great...

Huge huge thanks

Mouse cursor is a bit laggy/slow though.

Thanks for your feedback!
 

user442

Member
Aug 5, 2011
31
3
I can't get it to connect. The server app says device detected but the android app won't connect. I did get it working on a CM13 phone but no luck with a 4.4.2 tablet.

:edit: Scratch that, the CM13 phone was connected until it locked now it wont connect at all.

While it worked it was great! I'll buy it when it matures a bit.
 
Last edited:

FD_

Senior Member
Oct 16, 2012
241
390
I can't get it to connect. The server app says device detected but the android app won't connect. I did get it working on a CM13 phone but no luck with a 4.4.2 tablet.

:edit: Scratch that, the CM13 phone was connected until it locked now it wont connect at all.

While it worked it was great! I'll buy it when it matures a bit.
Did the phone say waiting for cable when the server detected it but it wouldn't connect?
 
K

krosmopolitan

Guest
Love the app, 10/10

Only complaint is that the cursor is a bit laggy but other than that its great, i used ShareKM before and now i found this amazing app.
 

TheXorg

Senior Member
Aug 22, 2013
663
332
Germany, Thüringen
just getting error messages in terminal running this on linux when trying to move the cursor to the phone

Code:
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
 

FD_

Senior Member
Oct 16, 2012
241
390
just getting error messages in terminal running this on linux when trying to move the cursor to the phone

Code:
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
What Linux distribution are you using?
 

FD_

Senior Member
Oct 16, 2012
241
390
Arch Linux
I see.

I will include the necessary checks in the next version, so that the exception will be handled.
However, this does not solve the root of the problem: For some reason, java on your system cannot set the window transparency, which leads to the main screen possibly being covered in solid white when the mouse cursor is on the Android screen.
Do you have an idea how window transparency is handled on your system?
I don't know much about Arch Linux. Does it come with a default Desktop Environment / Window Manager?
Your composition manager (Don't know exactly what this is, found it through web research) and your video drivers might also play into this.
It seems disabling visual effects in your system settings might also cause this problem.
 

Magissia

Senior Member
May 9, 2012
1,141
269
127.0.0.1
I see.

I will include the necessary checks in the next version, so that the exception will be handled.
However, this does not solve the root of the problem: For some reason, java on your system cannot set the window transparency, which leads to the main screen possibly being covered in solid white when the mouse cursor is on the Android screen.
Do you have an idea how window transparency is handled on your system?
I don't know much about Arch Linux. Does it come with a default Desktop Environment / Window Manager?
Your composition manager (Don't know exactly what this is, found it through web research) and your video drivers might also play into this.
It seems disabling visual effects in your system settings might also cause this problem.
Arch comes with almost nothing by default, it's up to the users to pick what they want to use.
 

FD_

Senior Member
Oct 16, 2012
241
390
just getting error messages in terminal running this on linux when trying to move the cursor to the phone

Code:
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exception in thread "JNativeHook Dispatch Thread" java.lang.UnsupportedOperationException: TRANSLUCENT translucency is not supported.
	at java.awt.Window.setOpacity(Window.java:3625)
	at java.awt.Dialog.setOpacity(Dialog.java:1333)
	at an.<init>(Unknown Source)
	at af.a(Unknown Source)
	at ah.a(Unknown Source)
	at ai.nativeMouseMoved(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.processMouseEvent(Unknown Source)
	at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

I released server version 1.0.4 that should improve the situation on Linux. Please try the new server version and let me know if it works for you now :fingers-crossed:.
 

FD_

Senior Member
Oct 16, 2012
241
390
I click connect, Plug in the Cable, start the Server and then the App crashes.
I need logs to tell what exactly is going wrong.
Please generate an app log by following these steps:

1) Enable logging in the app’s settings
2) Might have to reboot
3) Connect the USB cable again
4) Wait until the crash
5) Send me the log file from /sdcard/logs/DeskDock.txt

Send me an email with the txt file. The email address is listed with a link within the app or on Google Play.
 

FAAAAITH

Member
Aug 17, 2015
16
2
I need logs to tell what exactly is going wrong.
Please generate an app log by following these steps:

1) Enable logging in the app’s settings
2) Might have to reboot
3) Connect the USB cable again
4) Wait until the crash
5) Send me the log file from /sdcard/logs/DeskDock.txt

Send me an email with the txt file. The email address is listed with a link within the app or on Google Play.

After enabling logging and rebooting it just doesn't want to connect to the server. The server ist saying that it found one device, but even after pressing Connect a couple times it doesn't connect to it
 

FD_

Senior Member
Oct 16, 2012
241
390
After enabling logging and rebooting it just doesn't want to connect to the server. The server ist saying that it found one device, but even after pressing Connect a couple times it doesn't connect to it
You could try if rebooting the Android again and restarting the server program solves it.
If it doesn't, just send me the device logs, I should be able to tell the cause then.
Let me know if it works!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 16
    [App][4.1+] DeskDock - Share computer's mouse & keyboard with Android (+ Drag & Drop)

    Hi,
    I constantly have my Android devices docked beside my computer, and I used to think how cool it would be if I could use the computer's mouse and keyboard to control the Android device, just by moving the mouse over the computer screen's border onto the Android device's screen. If I could quickly drag and drop files to the Android device.
    I was a user of ShareKM some time ago, but unfortunately, it was abandoned and never worked with Mac computers.
    Being a hobby app developer, I investigated ways of doing an app like ShareKM myself. Over the years, I had started several attempts at building such an app, but it wasn't until I had written an app called ReverseTethering that I had enough know-how to make my mouse and keyboard sharing app production-ready and to release it.
    And here we are. I just released DeskDock to Google Play yesterday.

    Features:
    • Use your computer's mouse with your Android devices
    • Share clipboard between computer and Android devices
    • Supports Windows, Linux and macOS
    • Works on all Android versions starting from 4.1
    • NO rooted device required
    • Shortcut for simulating multitouch
    • Connect multiple Android devices to one computer
    • Flexible arrangement of devices
    • Customizable mouse button actions
    • Customizable mouse pointer speed
    • Ready for Android Nougat

    I invest huge parts of my leisure time into app development and support. To get something back in return, I created a PRO version with extra features that costs money.
    Pro version comes with these extra features:
    • Use your computer's keyboard with your Android devices
    • Keyboard sharing supports international keyboards (eg Umlauts)
    • Drag and Drop: Urls will be opened automatically, APKs will be installed
    • Shortcuts for turning off screen, multitouch, quickly changing volume, screen brightness

    Please keep in mind that this is the very first version of the application, so please report bugs you find instead of writing bad Play Store reviews:fingers-crossed:

    Links:
    Play Store: https://play.google.com/store/apps/details?id=com.floriandraschbacher.deskdock.free
    PRO Version: https://play.google.com/store/apps/details?id=com.floriandraschbacher.deskdock.pro

    Let me know if you have any questions or suggestions! Any feedback is highly appreciated :)!
    2
    THIS IS AMAZEBALLS!!!
    I had two nice tablets with decent ips screens but with broken touch lying around , and with this app I have re-purposed them as additional screens , standing on both sides of my lappy, It is simply great...

    Huge huge thanks

    Mouse cursor is a bit laggy/slow though.
    2
    DeskDock Wireless

    @FD_ anyway to use ADB over WiFi with DeskDock as a wireless solution?
    Interesting you ask this because I wanted to do the same thing and just got it working yesterday. It was pretty easy. There are wireless ADB apps in the play store. Since I am rooted I used this one https://play.google.com/store/apps/details?id=moe.haruue.wadb If you are not rooted you can use this one https://play.google.com/store/apps/details?id=za.co.henry.hsu.adbwirelessbyhenry

    Steps to get it working:
    1. Make sure your device and your PC are connected to the same network.
    2. Connect your phone via usb cable to your PC.
    3. From command prompt run "adb tcpip 5555"
    4. Run ADB Wireless app on your device.
    5. Connect to your device's ip address by entering the command "adb connect XXX.XXX.XX.X"
    6. Once connected you can unplug the usb cable.

    Once I did that DeskDock recognized my phone was connected and I was able to control it from my computer wirelessly. Let me know if you need help.

    *To revert back to using adb via usb run "adb usb" from command prompt.
    1
    Sorry for the (very) late reply. I'm not sure why I didn't get notified about it, but I was revisiting trying to get this working again and happened to see it. Thanks for the response!!

    My device is an Android TV box. Most of them don't have serial numbers because there's really no need to have one on a TV box. Is there a way I can work around your app requiring this? Or is there any chance you could release a version specific for aTV that doesn't require one?

    Hmm, interesting, I'm building a 3x3 video wall using AndroidTVs and really need Keyboard/Mouse functionality across the 'grid'. At this stage I'm stuck with a Logitech wireless mouse that I have to move from one TV to another all the time when using a non-AndroidTV sideloaded app. It's painful, on screen keyboard does work, but not with the attached mouse, only by the TVs remote. There is no onscreen 'back' button on AndroidTV so you have to use 'back' on the remote. So you have to two handedly work the apps with the TV remote in one hand and moving a mouse with the other, and once they are all mounted this won't even be possible, so I'd need to have 9 mice to do this, yea, um no.

    Not seeing how USB would really work either for 9 displays which are not really all that near a desktop. Near enough where some of the other solutions would've worked, but not so near that USB would work so well, I mean in the end it's nine 43" 4K displays in a grid making a 130" 12K display, so you don't need to be all that close.

    Anyway, Symetry's Android App, which is really some Alpha level app on Github, not supported by Symetry, that doesn't seem to get the concept of Android TV at all, it's basically a white on white text setup, totally blind, and then crashes as soon as you try to connect, boo!

    ShareKM apparently died at like Android 4, the TVs are Marshmallow (6).

    The dongles (I/O) Gear and MultiBlue became famous hackertools on Mr. Robot and got banned everywhere.

    I thought surely, given that multiple projects are around to turn a Raspberry Pi Zero (W) into a USB dongle that perhaps someone may have used this as an opportunity to make a Bluetooth or WiFi KM repeater of some sort, I mean seems like it'd really just be about taking a mouse and keyboard attached to a host and repeating it to a device connected --to-- a host as a device, which is exactly what the RPi0 dongles are doing, beyond my coding ability but seems pretty plausible. I mean RPi0w's are like $10, have Bluetooth and WiFi and there are pre-made dongle boards for another $10. Meanwhile, if you can find one at all, the I/O Gear dongles are selling for obscene sums, like hundreds of dollars. This solution were it to exist would have the benefit of being driver independent, I would think, as you'd just present it to the end host as a HID device.

    It just seems crazy to me that mice and keyboards are so universal, be it Bluetooth or USB and yet there isn't a plug and play solution to this problem. I can physically plug in just about any USB keyboard or mouse into just about any Android device, with just a fullsize to whatever size USB adapter, and it'll work as what it is, same for Bluetooth keyboards and mice, it's just a pair and go deal. Like I said even if it took some little network of Raspberry Pis to do it, it'd be a solution that doesn't die based on what version something is, why should that matter?
    1
    Then, after clicking "Download", the following error appears:
    "This site can’t be reached uc61ec15cf15e3d0161621744a5a.dl.dropboxusercontent.com’s server IP address could not be found.
    Try running Windows Network Diagnostics.
    DNS_PROBE_FINISHED_NXDOMAIN"

    I can normally open both bit.ly site and Dropbox plus I have tried downloading it from my Android phone as well but i get the same error, so the problem have to be on your side i guess.
    Well, I'm just using Dropbox, I have no idea how the problem can be on my side. I have no control over Dropbox servers obviously. I just tested the link again, and download just works for me.

    Anyway, if you send me an email, I'll try to send you the server program as an attachment.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone