Remove black borders on double-click
Resize the window to fit the device screen on click on black borders (same as Ctrl+x). Suggested-by: Guillaume Roche <groche@genymobile.com>
This commit is contained in:
parent
1038bad385
commit
b858204786
3 changed files with 27 additions and 15 deletions
31
README.md
31
README.md
|
@ -188,22 +188,23 @@ To run without installing:
|
||||||
|
|
||||||
## Shortcuts
|
## Shortcuts
|
||||||
|
|
||||||
| Action | Shortcut |
|
| Action | Shortcut |
|
||||||
| -------------------------------------- |:---------------------------- |
|
| -------------------------------------- |:---------------------------- |
|
||||||
| switch fullscreen mode | `Ctrl`+`f` |
|
| switch fullscreen mode | `Ctrl`+`f` |
|
||||||
| resize window to 1:1 (pixel-perfect) | `Ctrl`+`g` |
|
| resize window to 1:1 (pixel-perfect) | `Ctrl`+`g` |
|
||||||
| resize window to remove black borders | `Ctrl`+`x` |
|
| resize window to remove black borders | `Ctrl`+`x` \| _Double-click¹_ |
|
||||||
| click on `HOME` | `Ctrl`+`h` \| _Middle-click_ |
|
| click on `HOME` | `Ctrl`+`h` \| _Middle-click_ |
|
||||||
| click on `BACK` | `Ctrl`+`b` \| _Right-click¹_ |
|
| click on `BACK` | `Ctrl`+`b` \| _Right-click²_ |
|
||||||
| click on `APP_SWITCH` | `Ctrl`+`m` |
|
| click on `APP_SWITCH` | `Ctrl`+`m` |
|
||||||
| click on `VOLUME_UP` | `Ctrl`+`+` |
|
| click on `VOLUME_UP` | `Ctrl`+`+` |
|
||||||
| click on `VOLUME_DOWN` | `Ctrl`+`-` |
|
| click on `VOLUME_DOWN` | `Ctrl`+`-` |
|
||||||
| click on `POWER` | `Ctrl`+`p` |
|
| click on `POWER` | `Ctrl`+`p` |
|
||||||
| turn screen on | _Right-click¹_ |
|
| turn screen on | _Right-click¹_ |
|
||||||
| paste computer clipboard to device | `Ctrl`+`v` |
|
| paste computer clipboard to device | `Ctrl`+`v` |
|
||||||
| enable/disable FPS counter (on stdout) | `Ctrl`+`i` |
|
| enable/disable FPS counter (on stdout) | `Ctrl`+`i` |
|
||||||
|
|
||||||
_¹Right-click turns the screen on if it was off, presses BACK otherwise._
|
_¹Double-click on black borders to remove them._
|
||||||
|
_²Right-click turns the screen on if it was off, presses BACK otherwise._
|
||||||
|
|
||||||
|
|
||||||
## Why _scrcpy_?
|
## Why _scrcpy_?
|
||||||
|
|
|
@ -235,6 +235,16 @@ void input_manager_process_mouse_button(struct input_manager *input_manager,
|
||||||
action_home(input_manager->controller);
|
action_home(input_manager->controller);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// double-click on black borders resize to fit the device screen
|
||||||
|
if (event->button == SDL_BUTTON_LEFT && event->clicks == 2) {
|
||||||
|
SDL_bool outside_device_screen =
|
||||||
|
event->x < 0 || event->x >= input_manager->screen->frame_size.width ||
|
||||||
|
event->y < 0 || event->y >= input_manager->screen->frame_size.height;
|
||||||
|
if (outside_device_screen) {
|
||||||
|
screen_resize_to_fit(input_manager->screen);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
struct control_event control_event;
|
struct control_event control_event;
|
||||||
if (mouse_button_from_sdl_to_android(event, input_manager->screen->frame_size, &control_event)) {
|
if (mouse_button_from_sdl_to_android(event, input_manager->screen->frame_size, &control_event)) {
|
||||||
|
|
|
@ -57,6 +57,7 @@ static void usage(const char *arg0) {
|
||||||
" resize window to 1:1 (pixel-perfect)\n"
|
" resize window to 1:1 (pixel-perfect)\n"
|
||||||
"\n"
|
"\n"
|
||||||
" Ctrl+x\n"
|
" Ctrl+x\n"
|
||||||
|
" Double-click on black borders\n"
|
||||||
" resize window to remove black borders\n"
|
" resize window to remove black borders\n"
|
||||||
"\n"
|
"\n"
|
||||||
" Ctrl+h\n"
|
" Ctrl+h\n"
|
||||||
|
|
Loading…
Reference in a new issue