Commit Graph

15 Commits

Author SHA1 Message Date
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
rustdesk
017a10e8c8 1.4.4 2025-11-07 15:16:59 +08:00
rustdesk
182e35adc7 1.4.3 2025-10-17 13:58:08 +08:00
fufesou
f4fb31d7a1 feat: file transfer, resume (#12626)
Signed-off-by: fufesou <linlong1266@gmail.com>
2025-08-25 14:34:03 +08:00
rustdesk
50fc6d691f 1.4.1 2025-07-23 15:51:44 +08:00
RustDesk
cee69bb8b4 Update winget.yml 2025-05-14 01:33:08 +08:00
RustDesk
43501b663e Update winget.yml 2025-05-14 01:21:04 +08:00
RustDesk
9c0711e1db Update winget.yml 2025-05-14 01:18:54 +08:00
Vedant
1e400d2a64 Update winget-releaser to latest (#8532) 2024-06-29 21:17:10 +08:00
rustdesk
416d57bec6 https://github.com/rustdesk/rustdesk/pull/7971 2024-06-03 13:40:14 +08:00
RustDesk
35832f8f7f Revert "fix: bump winget releaser version & add dependabot (#4848)" (#7971)
This reverts commit 7466d8cb3a.
2024-05-08 14:19:09 +08:00
sitiom
7466d8cb3a fix: bump winget releaser version & add dependabot (#4848)
* fix: bump winget releaser version

* ci: add dependabot
2024-05-08 14:13:55 +08:00
Vedant
0b01cba502 Update winget.yml 2022-09-30 23:45:14 +05:30
Vedant
3239ef525c Update winget.yml 2022-06-18 23:55:31 +05:30
Vedant
47d8b2b03d Create winget.yml 2022-06-15 18:35:36 +05:30