Code Monkey home page Code Monkey logo

mousedroid's Introduction

Mousedroid

Use your android phone as a mouse & keyboard.


Description

Cross platform application that transforms your android phone in an input peripheral. Use it as a mouse (touchpad), keyboard or numpad. Wired or wirelessly, control your pc with your phone.

Supported platforms:

  • Windows
  • Linux
  • Android 8 (Oreo) and newer

How to use

  1. Download ( or build ) and install the server on your pc. How to build
  2. Download and install the APK on your phone from the.
  3. If you want to use the application in WIFI mode, make sure your phone is connected to the same network as the pc.
    If you want to use it wired, you must enable USB Debugging under Developer options on your phone. (See for more details)
  4. Start the server. ( If you start the server after connecting your phone via USB you need to restart ADB )
  5. For WIFI mode add the IP Address of your server and connect to it.

Gestures

Action Gesture
Click Tap the screen once
Double click Double tap the screen
Right click Tap the screen once with two fingers
Scroll Place two fingers on the screen and slide horizontally or vertically
Drag & drop Long press and drag

Notes

  • For Android versions greater than 31 ( Android 12L and newer ) the app requires bluetooth permission to display the bluetooth name set by the user. If the permission isn't allowed only the device model name is showed.
  • If you start the server after connecting your phone via USB you need to restart ADB.
  • On Wayland some features, like the taskbar icon may not be visible, switching to Xorg might solve the issue.

mousedroid's People

Contributors

hypertensiune avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

mousedroid's Issues

Rotate when android rotation is enabled

Hi!

I am using your application and I think that should be a good option to let the user control when he wants the application to rotate. If you dont want to add a configuration panel, you could use the android´s rotation setting.

Thank you!

Mouse central button or wheel

Hi!

It will be nice if the app has central button as a mouse wheel. I use it so much to open or close panes, open several instances of an app and so on.

Thank you!

Cannot start release 1.1 in Windows 10 Pro 10.0.19045

Hi!

I cannot start the Mousedroid server in Windows 10. I have downloaded the release and unzipped it on my filesystem. I have started it from this batch script that I have created in the unzipped folder:

setlocal
SET PATH=%PATH%;C:\MinGW\bin

%~dp0/Mousedroid.exe

This is the setup:
image

The restult was this popup:
image
Traduced to english this meams that libgcc_s_seh-1.dll is missing.

I have been looking for libgcc_s_seh-1.dll in the MinGW Installation Manager but I could not find it.

Could you help me?

Spanish charset

Hi!

I have Spanish configuration for my keyboard on Android. I is a little mess to know where are my special characters. Shold be nice if this app could be used in other charsets.

There are other apps that uses its own managed keyboard to achieve this, but letting the user use its own keyboard app is a big deal. I dowt know now ehare is the problem but should be nice to work with other charsets!

Thank you!

Directional arrows

Excellent application, mouse and keyboard in one place. I have a request, I don't know if this is the right place.

I would like the application's virtual keyboard to have directional arrows or the possibility to add them.

Personally, I use the application to manipulate the video players on the PC using the phone via WIFI while watching the videos on the TV (PC HDMI to TV), some directional keys would allow me to go back or forward the videos more easily.

Thanks

Missing DLLs

When launching the release v1.1 on windows 10 it promts me with 3 missing DLLs:

  • libwinpthread-1.dll
  • libgcc_s_seh-1.dll
  • libstdc++-6.dll

Android app crashes immediately on launch

Hello,
Your project looks intriguing, so I tried to get it running. However, when I launch the apk provided in releases, it immediately crashes.

Here is the adb logcat output (filtered to only display warnings and above because otherwise I had too much information)

05-15 00:18:23.230   657   657 E mple.mousedroid: Not starting debugger since process cannot load the jdwp agent.
05-15 00:18:23.274   657   684 W Adreno-AppProfiles: Could not find QSPM HAL service. Skipping adreno profile processing.
05-15 00:18:23.297   657   657 E AndroidRuntime: FATAL EXCEPTION: main
05-15 00:18:23.297   657   657 E AndroidRuntime: Process: com.example.mousedroid, PID: 657
05-15 00:18:23.297   657   657 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mousedroid/com.example.mousedroid.MainActivity}: java.lang.SecurityException: Settings key: <bluetooth_name> is only readable to apps with targetSdkVersion lower than or equal to: 31
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4169)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4325)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:226)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:313)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8757)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
05-15 00:18:23.297   657   657 E AndroidRuntime: Caused by: java.lang.SecurityException: Settings key: <bluetooth_name> is only readable to apps with targetSdkVersion lower than or equal to: 31
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:3323)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.provider.Settings$Secure.getStringForUser(Settings.java:9400)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.provider.Settings$Secure.getString(Settings.java:9356)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at com.example.mousedroid.MainActivity.onCreate(MainActivity.kt:32)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:8591)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:8570)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4150)
05-15 00:18:23.297   657   657 E AndroidRuntime: 	... 12 more
05-15 00:18:23.298  2490  6625 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1252 com.android.server.am.AppErrors.crashApplicationInner:722 com.android.server.am.AppErrors.crashApplication:598 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:10426 com.android.server.am.ActivityManagerService.handleApplicationCrash:10295 
05-15 00:18:23.298  2490  6625 W ActivityManager: crash : com.example.mousedroid,10344
05-15 00:18:23.298  2490  6625 W ActivityTaskManager:   Force finishing activity com.example.mousedroid/.MainActivity
05-15 00:18:23.298  2490  6625 W WindowManager: Prepare app transition: mNextAppTransitionRequests=[TRANSIT_CLOSE], mNextAppTransitionFlags=TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_WITH_IN_WINDOW_ANIMATIONS | TRANSIT_FLAG_APP_CRASHED, displayId: 0 Callers=com.android.server.wm.DisplayContent.prepareAppTransition:6493 com.android.server.wm.DisplayContent.requestTransitionAndLegacyPrepare:6509 com.android.server.wm.Task.finishTopCrashedActivityLocked:6795 com.android.server.wm.RootWindowContainer.lambda$finishTopCrashedActivities$19:2688 com.android.server.wm.RootWindowContainer.$r8$lambda$4nB35TzseTo6qyVD9NxDieoJN1Y:0 
05-15 00:18:23.300  2490  6625 W WindowManager: Prepare app transition: mNextAppTransitionRequests=[TRANSIT_CLOSE, TRANSIT_CLOSE], mNextAppTransitionFlags=TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_WITH_IN_WINDOW_ANIMATIONS | TRANSIT_FLAG_APP_CRASHED, displayId: 0 Callers=com.android.server.wm.DisplayContent.prepareAppTransition:6493 com.android.server.wm.DisplayContent.prepareAppTransition:6484 com.android.server.wm.ActivityRecord.finishIfPossible:4145 com.android.server.wm.ActivityRecord.finishIfPossible:3960 com.android.server.wm.Task.finishTopCrashedActivityLocked:6796 
05-15 00:18:23.310  2490  2655 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
05-15 00:18:23.310  2490  2655 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
05-15 00:18:23.313  6565  6565 W DMASA[D]: [a]This app does not allow 3rd-party FC detection: com.example.mousedroid
05-15 00:18:23.327  2490  4284 W WindowManager: Prepare app transition: mNextAppTransitionRequests=[TRANSIT_CLOSE, TRANSIT_CLOSE, TRANSIT_OPEN], mNextAppTransitionFlags=TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_WITH_IN_WINDOW_ANIMATIONS | TRANSIT_FLAG_APP_CRASHED, displayId: 0 Callers=com.android.server.wm.DisplayContent.prepareAppTransition:6493 com.android.server.wm.DisplayContent.prepareAppTransition:6484 com.android.server.wm.TaskFragment.resumeTopActivity:1583 com.android.server.wm.TaskFragment.resumeTopActivity:1307 com.android.server.wm.Task.resumeTopActivityInnerLocked:6449 
05-15 00:18:23.329  2490  4284 W WindowManager: Execute app transition: mNextAppTransitionRequests=[TRANSIT_CLOSE, TRANSIT_CLOSE, TRANSIT_OPEN], mNextAppTransitionFlags=TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_WITH_IN_WINDOW_ANIMATIONS | TRANSIT_FLAG_APP_CRASHED, displayId: 0 Callers=com.android.server.wm.RootWindowContainer.executeAppTransitionForAllDisplay:2580 com.android.server.wm.ActivityTaskSupervisor.reportResumedActivityLocked:2285 com.android.server.wm.ActivityRecord.completeResumeLocked:6981 com.android.server.wm.TaskFragment.resumeTopActivity:1743 com.android.server.wm.TaskFragment.resumeTopActivity:1307 
05-15 00:18:23.345  2490  4282 W ActivityTaskManager: Request to remove task ignored for non-existent task 7957
05-15 00:18:23.395  2490  4284 W InputManager-JNI: Input channel object 'd780ce4 Splash Screen com.example.mousedroid (client)' was disposed without first being removed with the input manager!
05-15 00:18:23.480  3991  4006 W System  : A resource failed to call release. 
05-15 00:18:23.480  3991  4006 W System  : A resource failed to call release. 
05-15 00:18:23.799  2490  2648 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{bf4cadd u0 com.example.mousedroid/.MainActivity} t-1 f}}

Drag and Drop

This is very nice app, although in pairing process need little bit tricky. I'm using my old phone, Redmi Note 5A (ugglite). It will be more nice if you add the drag and drop support just like the regular trackpad. Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.