Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lan Mouse Mobile Server #231

Open
rohitsangwan01 opened this issue Nov 9, 2024 · 15 comments
Open

Lan Mouse Mobile Server #231

rohitsangwan01 opened this issue Nov 9, 2024 · 15 comments

Comments

@rohitsangwan01
Copy link

rohitsangwan01 commented Nov 9, 2024

As discussed in this comment, here is the LanMouse Mobile Server initial version:

LanMouse Mobile GitHub Repository

While a few features are still being worked on, it’s overall functioning well. I've tested it with the following setups:

  • Android <-> macOS
  • iOS <-> macOS

You can download the test APK from the Releases section.

Feel free to check it out!

@feschber
Copy link
Owner

feschber commented Nov 9, 2024

Very cool! Working out of the box 😃.

Scrolling is a bit weird (seems like on_scroll is activated after completing a scroll instead of immediately and for each "step").

I just merged encryption support so you are going to have to add support for DTLS in case you want to adapt this to the latest version.

@feschber
Copy link
Owner

feschber commented Nov 9, 2024

And one more suggestion:

Tap + drag would be a nice feature, as in keep mouse 1 pressed in case it is immediately (within maybe 250ms) followed by a drag action until the drag is finished.

@feschber
Copy link
Owner

feschber commented Nov 9, 2024

I added a link to your repo to the README

@rohitsangwan01
Copy link
Author

@feschber Thankyou for the feedbacks
Will try to apply the suggestions and add encryption support as well,
i have to check the code on how Encryption is implemented

@rohitsangwan01
Copy link
Author

Am having issue in implementing keyEvents, i tried implementing like this, but after sending these events
MacOs stucked in keyPressed state, and only option i had was to force restart Mac
Seems like KeyRelease event is somehow ignored or maybe some kind of race condition

@feschber
Copy link
Owner

feschber commented Nov 9, 2024

I recently fixed an issue with stuck keys on MacOS concerning modifier keys (CTRL / OPTION / CMD / CAPSLOCK / SHIFT).

Did you check the latest version?

Definitely possible there is still something wrong though

@feschber
Copy link
Owner

feschber commented Nov 9, 2024

For encryption you dont really need to know anything other than the fact that its using DTLS v1.2 and a sha256 fingerprint for certificate verification.

You can obtain a fingerprint through openssl using

openssl x509 -in lan-mouse.pem -noout -sha256 -fingerprint

where lan-mouse.pem is the file containing the ssl certificate.

@rohitsangwan01
Copy link
Author

Thankyou for the info, will implementing in new versions

@rohitsangwan01
Copy link
Author

@feschber Added Encryption support in V0.0.2
Udp and Encryption logic is now in Rust and UI part in Flutter

@feschber
Copy link
Owner

That was fast! I'm impressed. And it's working flawlessly as well! I updated the REAMDE accordingly

@rohitsangwan01
Copy link
Author

Glad to hear it's working smoothly! it's always great when everything comes together seamlessly. Let me know if there’s anything else I can help with!

@rohitsangwan01
Copy link
Author

@feschber do you think using Flutter for Frontend can be an option for LanMouse ?
There are plugins to easily integrate Flutter and Rust like flutter_rust_bridge, which i have also used in LanMouseMobile, and few Popular softwares like RustDesk is also using Rust + Flutter
I think its easy to build on every platform and more freedom in building UI

@feschber
Copy link
Owner

I intentionally designed lan-mouse in a way to make it easy to create new frontends. I don't want to replace the Gtk frontend, but I certainly dont have anything against a flutter frontend.

@feschber
Copy link
Owner

feschber commented Nov 16, 2024

lan-mouse-ipc is responsible for the communication, if you want to have a look

@rohitsangwan01
Copy link
Author

rohitsangwan01 commented Nov 16, 2024

I tried writing frontend in flutter,
It works fine but Issue is to maintain dart and lanMouse's rust communication protocols in sync
In case if anything changes in future

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants