fufesou
1e6bfa7bb1
fix(iPad): Magic Mouse, click ( #14188 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-01-29 15:25:44 +08:00
ThallesWS
45cab7f808
fix issue: #13911 'Double Click' bug on iPad with Magic Mouse ( #14086 )
...
* fix issue: #13911 'Double Click' bug on iPad with Magic Mouse
* remote_input.dart comments - gestures.dart organization and clean states of all interrupted gestures
2026-01-28 15:14:06 +08:00
fufesou
998b75856d
feat: Add relative mouse mode ( #13928 )
...
* feat: Add relative mouse mode
- Add "Relative Mouse Mode" toggle in desktop toolbar and bind to InputModel
- Implement relative mouse movement path: Flutter pointer deltas -> `type: move_relative` -> new `MOUSE_TYPE_MOVE_RELATIVE` in Rust
- In server input service, simulate relative movement via Enigo and keep latest cursor position in sync
- Track pointer-lock center in Flutter (local widget + screen coordinates) and re-center OS cursor after each relative move
- Update pointer-lock center on window move/resize/restore/maximize and when remote display geometry changes
- Hide local cursor when relative mouse mode is active (both Flutter cursor and OS cursor), restore on leave/disable
- On Windows, clip OS cursor to the window rect while in relative mode and release clip when leaving/turning off
- Implement platform helpers: `get_cursor_pos`, `set_cursor_pos`, `show_cursor`, `clip_cursor` (no-op clip/hide on Linux for now)
- Add keyboard shortcut Ctrl+Alt+Shift+M to toggle relative mode (enabled by default, works on all platforms)
- Remove `enable-relative-mouse-shortcut` config option - shortcut is now always available when keyboard permission is granted
- Handle window blur/focus/minimize events to properly release/restore cursor constraints
- Add MOUSE_TYPE_MASK constant and unit tests for mouse event constants
Note: Relative mouse mode state is NOT persisted to config (session-only).
Note: On Linux, show_cursor and clip_cursor are no-ops; cursor hiding is handled by Flutter side.
Signed-off-by: fufesou <linlong1266@gmail.com >
* feat(mouse): relative mouse mode, exit hint
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(relative mouse): shortcut
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-01-09 10:03:14 +08:00
fufesou
0f3a03aab7
feat: mobile, virtual mouse ( #12911 )
...
* feat: mobile, virtual mouse
Signed-off-by: fufesou <linlong1266@gmail.com >
* feat: mobile, virtual mouse, mouse mode
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: mobile, virtual mouse, mouse mode
Signed-off-by: fufesou <linlong1266@gmail.com >
* feat: mobile, virtual mouse mode
Signed-off-by: fufesou <linlong1266@gmail.com >
* feat: mobile virtual mouse, options
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-10-09 08:23:55 +08:00
fufesou
f26d2a7b84
feat: stylus support ( #12196 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-01 13:13:41 +08:00
21pages
f0f999dc27
view camera ( #11040 )
...
* view camera
Signed-off-by: 21pages <sunboeasy@gmail.com >
* `No cameras` prompt if no cameras available, `peerGetSessionsCount` use
connType as parameter
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix, use video_service_name rather than display_idx as key in qos,etc
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: Adwin White <adwinw01@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-03-10 21:06:53 +08:00
fufesou
a548e9c94d
fix: android, controlled side, gesture ( #10792 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-02-15 18:33:26 +08:00
fufesou
e9c5e0d26b
fix: android, mouse mode, right menu, unexpected click ( #10330 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-12-21 15:09:03 +08:00
fufesou
6f0cb3b8c2
fix: mobile, two fingers cale, no tapdown ( #9856 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-11-07 22:36:56 +08:00
fufesou
d0ef52e418
fix: touch input, ensure message orders ( #9855 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-11-07 21:23:41 +08:00
fufesou
5cfd1701fb
fix: mobile input, touch mode, in display ( #9827 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-11-05 17:55:38 +08:00
fufesou
697dd87383
Refact/mobile remove adjust 4 soft keyabord ( #9787 )
...
* refact: remove adjust for soft keyboard
Signed-off-by: fufesou <linlong1266@gmail.com >
* mobile, do not set the view style after scale end
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-10-31 10:11:00 +08:00
fufesou
a289eae07c
fix: mobile -> mobile, long press ( #9775 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-10-29 19:57:29 +08:00
fufesou
d4377a13c5
refact: peer card, orientation ( #9235 )
...
* refact: peer card, orientation
Signed-off-by: fufesou <linlong1266@gmail.com >
* Do not change landscape/portrait on Desktop
Signed-off-by: fufesou <linlong1266@gmail.com >
* comments
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-03 19:06:11 +08:00
fufesou
aa1e122532
fix: revert key events to raw key events on Linux ( #9161 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-25 00:03:31 +08:00
fufesou
1d416f6626
refact: flutter keyboard, map mode ( #9160 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-24 12:10:36 +08:00
fufesou
42394fcbdd
fix: android, two finger pan, scale ( #8429 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-21 09:07:32 +08:00
fufesou
a91f244f35
fix: android, touch mode, one finger pan, start pos ( #8427 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-20 22:21:14 +08:00
RustDesk
7956953669
Revert "fix: android, touch mode, move cursor ( #8419 )" ( #8421 )
...
This reverts commit dcba4615a2 .
2024-06-20 12:22:36 +08:00
fufesou
dcba4615a2
fix: android, touch mode, move cursor ( #8419 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-20 08:29:07 +08:00
fufesou
e50b72622c
fix: android, touch mode, soft keyboard, no pointer events ( #8409 )
...
* fix: android, touch mode, soft keyboard, no pointer events
Signed-off-by: fufesou <linlong1266@gmail.com >
* Reset lastIsBlocked on touch mode toggled
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: reset lastIsBlocked when updating keyHelpToolsRect
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-06-19 15:58:23 +08:00
fufesou
a6632632fa
fix: multi-window, click-move ( #7844 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-27 13:45:44 +08:00
fufesou
6e44a91d0b
Refact. Flutter web desktop ( #7539 )
...
* Refact. Flutter web desktop
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Flutter web, prevent default context menu
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-03-28 11:38:11 +08:00
fufesou
1589209567
release keys for flutter input source
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-11-29 21:05:21 +08:00
fufesou
315a2a695f
add comments
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-10-02 12:17:11 +08:00
fufesou
863c8de28e
fix, one tap results double tap event
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-10-02 10:30:51 +08:00
dignow
93a600a0a8
tmp commit
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-08-10 14:54:28 +08:00
dignow
96e3d9496d
fix, desktop touchscreen support long press
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-08-10 09:29:07 +08:00
dignow
033645a7e0
fix mobile mouse mode
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-07-25 22:09:42 +08:00
dignow
20cdb87e28
try fix android mouse mode
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-07-25 15:32:42 +08:00
dignow
b17c6983ce
win, touch scale, debug
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-07-19 01:26:43 +08:00
dignow
2badecba2a
debug, touch screen input
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-07-17 20:48:58 +08:00
dignow
c01c8d0afc
touch screen input
...
Signed-off-by: dignow <linlong1265@gmail.com >
2023-07-17 20:07:55 +08:00
fufesou
9dbd1f88f5
listen flutter key event when there's no input monitor permission
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-02-21 18:44:14 +08:00
csf
58f6748134
fix physical keyboard on mobile does not work
2023-02-09 23:14:24 +09:00
Kingtous
cbf0da6195
feat: add trackpad listener support based on flutter 3.3
2023-02-01 16:29:21 +08:00
fufesou
00867276ed
fix wayland input
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-01-10 14:18:25 +08:00
Kingtous
2ae38c93f0
opt: use whole focus instead to trigger session enter or leave
2022-12-21 22:47:41 +08:00
rustdesk
be9d04ff24
remove trackpad support in 3.0.5, will revert once upgrade to 3.3
2022-11-21 16:29:29 +08:00
xxrl
13fd55557b
feat: support track pad scroll on flutter
2022-11-20 23:47:15 +08:00
csf
77fcf2d4fa
refactor RawPointerMouseRegion & RawKeyFocusScope
2022-09-27 22:16:27 +08:00