- 21 4月, 2021 5 次提交
-
-
由 brunoais 提交于
Double-click on extra mouse button to open the settings panel (a single-click opens the notification panel). This is consistent with the keyboard shortcut MOD+n+n. PR #2264 <https://github.com/Genymobile/scrcpy/pull/2264> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 brunoais 提交于
PR #2260 <https://github.com/Genymobile/scrcpy/pull/2260> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 brunoais 提交于
PR #2260 <https://github.com/Genymobile/scrcpy/pull/2260> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 brunoais 提交于
This will allow shortcuts such as MOD+n+n to open the settings panel. PR #2260 <https://github.com/Genymobile/scrcpy/pull/2260> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 brunoais 提交于
The collapsing action collapses any panels. By the way, the Android method is named collapsePanels(). PR #2260 <https://github.com/Genymobile/scrcpy/pull/2260> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
- 20 4月, 2021 2 次提交
-
-
由 brunoais 提交于
Bind APP_SWITCH to button 4 and expand notification panel on button 5. PR #2258 <https://github.com/Genymobile/scrcpy/pull/2258> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 Romain Vimont 提交于
The shortcut "back on screen on" is a bit special: the control is requested by the client, but the actual event injection (POWER or BACK) is determined on the device. To properly inject DOWN and UP events for BACK, transmit the action as a control parameter. If the screen is off: - on DOWN, inject POWER (DOWN and UP) (wake up the device immediately) - on UP, do nothing If the screen is on: - on DOWN, inject BACK DOWN - on UP, inject BACK UP A corner case is when the screen turns off between the DOWN and UP event. In that case, a BACK UP event will be injected, so it's harmless. As a consequence of this change, the BACK button is now handled by Android on mouse released. This is consistent with the keyboard shortcut (Mod+b) behavior. PR #2259 <https://github.com/Genymobile/scrcpy/pull/2259> Refs #2258 <https://github.com/Genymobile/scrcpy/pull/2258>
-
- 18 4月, 2021 2 次提交
-
-
由 Romain Vimont 提交于
As a consequence of this change, the HOME button is now handled by Android on mouse released. This is consistent with the keyboard shortcut (MOD+h) behavior. PR #2259 <https://github.com/Genymobile/scrcpy/pull/2259> Refs #2258 <https://github.com/Genymobile/scrcpy/pull/2258>
-
由 Romain Vimont 提交于
Some mouse clicks DOWN are captured for shortcuts, but the matching UP events were still forwarded to the device. Instead, capture both DOWN and UP for shortcuts, and do nothing on UP. PR #2259 <https://github.com/Genymobile/scrcpy/pull/2259> Refs #2258 <https://github.com/Genymobile/scrcpy/pull/2258>
-
- 16 4月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
"verbosity" < "version"
-
- 14 4月, 2021 4 次提交
-
-
由 Romain Vimont 提交于
The event is handled by scrcpy.c, it is not necessary to send it to screen or input_manager.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
It is only used from screen.c now.
-
- 11 4月, 2021 6 次提交
-
-
由 Romain Vimont 提交于
The screen receives callbacks from the decoder, fed by the stream. The decoder is run from the stream thread, so waiting for the end of stream is sufficient to avoid possible use-after-destroy.
-
由 Romain Vimont 提交于
When --no-display was passed, screen_destroy() was called while screen_init() was never called. In practice, it did not crash because it just freed NULL pointers, but it was still incorrect.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
-
- 06 4月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
Commits cb9c42bd and 441d3fb1 updated the code only for the new decoding API.
-
- 04 4月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
Always enable HiDPI support, there is no reason to expose a compilation flag.
-
- 17 3月, 2021 3 次提交
-
-
由 Yu-Chen Lin 提交于
PR #824 <https://github.com/Genymobile/scrcpy/pull/824> Signed-off-by: NYu-Chen Lin <npes87184@gmail.com> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 Yu-Chen Lin 提交于
PR #824 <https://github.com/Genymobile/scrcpy/pull/824> Signed-off-by: NYu-Chen Lin <npes87184@gmail.com> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
由 slingmint 提交于
PR #2052 <https://github.com/Genymobile/scrcpy/pull/2052> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
- 16 3月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
BUTTON_PRIMARY must not be set for touch events: > This button constant is not set in response to simple touches with a > finger or stylus tip. The user must actually push a button. <https://developer.android.com/reference/android/view/MotionEvent#BUTTON_PRIMARY> Fixes #2169 <https://github.com/Genymobile/scrcpy/issues/2169>
-
- 15 3月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
Virtual device is only for keyboard sources, not mouse or touchscreen sources. Here is the value of InputDevice.getDevice(-1).toString(): Input Device -1: Virtual Descriptor: ... Generation: 2 Location: built-in Keyboard Type: alphabetic Has Vibrator: false Has mic: false Sources: 0x301 ( keyboard dpad ) InputDevice.getDeviceId() documentation says: > An id of zero indicates that the event didn't come from a physical > device and maps to the default keymap. <https://developer.android.com/reference/android/view/InputEvent#getDeviceId()> However, injecting events with a device id of 0 causes event.getDevice() to be null on the client-side. Commit 26529d37 used -1 as a workaround to avoid a NPE on a specific Android TV device. But this is a bug in the device system, which wrongly assumes that input device may not be null. A similar issue was present in Flutter, but it is now fixed: - <https://github.com/flutter/flutter/issues/30665> - <https://github.com/flutter/engine/pull/7986> On the other hand, using an id of -1 for touchscreen events (which is invalid) causes issues for some apps: <https://github.com/Genymobile/scrcpy/issues/2125#issuecomment-790535792> Therefore, use a device id of 0. An alternative could be to find an existing device matching the source, like "adb shell input" does. See getInputDeviceId(): <https://android.googlesource.com/platform/frameworks/base.git/+/master/cmds/input/src/com/android/commands/input/Input.java> But it seems better to indicate that the event didn't come from a physical device, and it would not solve #962 anyway, because an Android TV has no touchscreen. Refs #962 <https://github.com/Genymobile/scrcpy/issues/962> Fixes #2125 <https://github.com/Genymobile/scrcpy/issues/2125>
-
- 11 3月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
The option is --encoder, not --encoder-name.
-
- 09 3月, 2021 1 次提交
-
-
由 Biswapriyo Nath 提交于
This helps to use mingw toolchains which are not in /usr/bin path. PR #2185 <https://github.com/Genymobile/scrcpy/pull/2185> Signed-off-by: NRomain Vimont <rom@rom1v.com>
-
- 07 3月, 2021 10 次提交
-
-
由 Romain Vimont 提交于
During a frame swap, one of the two frames involved can be released.
-
由 Romain Vimont 提交于
-
由 Romain Vimont 提交于
Use a single function to initialize the screen instance.
-
由 Romain Vimont 提交于
The function screen_init_rendering had too many parameters.
-
由 Romain Vimont 提交于
Most of the fields are initialized dynamically.
-
由 Romain Vimont 提交于
A skipped frame is detected when the producer offers a frame while the current pending frame has not been consumed. However, the producer (in practice the decoder) is not interested in the fact that a frame has been skipped, only the consumer (the renderer) is. Therefore, notify frame skip via a consumer callback. This allows to manage the skipped and rendered frames count at the same place, and remove fps_counter from decoder.
-
由 Romain Vimont 提交于
Make the decoder independant of the SDL even mechanism, by making the consumer register a callback on the video_buffer.
-
由 Romain Vimont 提交于
As soon as the stream is started, the video buffer could notify a new frame available. In order to pass this event to the screen without race condition, the screen must be initialized before the screen is started.
-
由 Romain Vimont 提交于
Video buffer is a tool between a frame producer and a frame consumer. For now, it is used between a decoder and a renderer, but in the future another instance might be used to swscale decoded frames.
-
由 Romain Vimont 提交于
In order to make video buffer more generic, move out its specific responsibility to count the fps between the decoder and the renderer.
-
- 04 3月, 2021 1 次提交
-
-
由 Romain Vimont 提交于
A value of 1 means the "largest detectable size", a value of 0 means the "smallest detectable size". https://developer.android.com/reference/android/view/MotionEvent.PointerCoords#size https://developer.android.com/reference/android/view/MotionEvent#AXIS_SIZE Fixes #2125 <https://github.com/Genymobile/scrcpy/issues/2125>
-