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

Granular Scrcpy inject mode settings #489

Closed
yume-chan opened this issue Feb 5, 2023 · 2 comments
Closed

Granular Scrcpy inject mode settings #489

yume-chan opened this issue Feb 5, 2023 · 2 comments
Labels
domain: scrcpy Issues about the Scrcpy implementation effort: high type:enhancement New feature or request
Milestone

Comments

@yume-chan
Copy link
Owner

yume-chan commented Feb 5, 2023

Mouse:

mode as device type coordination mode hover right/middle click scroll cursor shows on
software mouse absolute yes yes scroll wheel event host
software touch absolute no no emulate swipe host
hid mouse relative yes yes scroll wheel event device
hid touch absolute no no emulate swipe host

Keyboard:

mode inject type game compatible non-ASCII hide on-screen keyboard
software key event yes no no
software inject text no no no
software inject clipboard no yes no
hid key event yes no yes

Paste:

mode inject type non-ASCII change device clipboard
software inject text no no
software inject clipboard yes yes

Touch:

mode
software
hid

Gamepad:

mode require root
uinput yes
hid no
  • hid mode only available when connected over USB.
  • uinput mode not available on some devices unless rooted
@yume-chan yume-chan added type:enhancement New feature or request domain: scrcpy Issues about the Scrcpy implementation labels Feb 5, 2023
@yume-chan
Copy link
Owner Author

Generally, uinput ≈ hid > software

uinput requires Genymobile/scrcpy#2130 + mouse/keyboard/touchscreen support.

HID keyboard is better than software injection in all aspects except it requires USB, so it will always be used when possible.

HID mouse, on the other hand, requires mouse capture. The advantage of HID mouse is being able to use Android pointer capture API (from Android 8), for some games like Minecraft. But the integration is too complex, so postpone. Also mouse capture requires keyboard lock to intercept ESC key, and keyboard lock requires full screen, this further limits the usefulness.

@yume-chan yume-chan added this to the 0.0.19 milestone Mar 2, 2023
@yume-chan yume-chan modified the milestones: 0.0.19, 0.0.20 Apr 9, 2023
@yume-chan yume-chan modified the milestones: 0.0.20, Backlog Jun 5, 2023
@yume-chan
Copy link
Owner Author

This issue is originally about the (old) demo, because both software and AoA approaches are already implemented in the libraries.

@yume-chan yume-chan closed this as not planned Won't fix, can't repro, duplicate, stale Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: scrcpy Issues about the Scrcpy implementation effort: high type:enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant