Commit Graph

51 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
21pages
2c088d3504 fix can't run from cmd on win7 (#13160)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-10-14 12:11:05 +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
fufesou
c626c2414d feat: take screenshot (#11591)
* feat: take screenshot

Signed-off-by: fufesou <linlong1266@gmail.com>

* screenshot, vram temp switch capturer

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: misspelling

Signed-off-by: fufesou <linlong1266@gmail.com>

* screenshot, taking

Signed-off-by: fufesou <linlong1266@gmail.com>

* screenshot, rgba stride

Signed-off-by: fufesou <linlong1266@gmail.com>

* Bumps 1.4.0

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2025-04-30 17:23:35 +08:00
rustdesk
bc3a58f6f4 1.3.9 2025-02-26 18:00:31 +08:00
fufesou
fbba8f0b34 refact: file copy&paste, cross platform (no macOS) (#10671)
* feat: unix, file copy&paste

Signed-off-by: fufesou <linlong1266@gmail.com>

* refact: unix file c&p, check peer version

Signed-off-by: fufesou <linlong1266@gmail.com>

* Update pubspec.yaml

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2025-02-04 20:33:02 +08:00
rustdesk
ce5f0d513f 2024 -> 2025 2025-01-31 16:54:57 +08:00
21pages
1f02bc9d3e bump to 1.3.7 (#10548)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-01-20 23:12:00 +08:00
Integral
49dabd3533 refactor: replace &PathBuf with &Path to enhance generality (#10332) 2024-12-23 20:28:04 +08:00
rustdesk
03999d900e 1.3.6 2024-12-21 15:00:16 +08:00
rustdesk
588103c6dc 1.3.5 2024-12-05 18:38:39 +08:00
rustdesk
f330953f4f bump to 1.3.4 2024-12-01 18:49:24 +08:00
rustdesk
a277b022ff bump to 1.3.3 2024-11-08 15:00:49 +08:00
rustdesk
d4184fd865 bump to 1.3.2 2024-09-26 23:07:53 +08:00
rustdesk
d400999b9c bump to 1.3.1 2024-08-24 19:02:04 +08:00
fufesou
541d9c6b86 feat: clipboard, multi formats (#8733)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-28 17:26:54 +08:00
21pages
3ae1638125 fix extracted forground window not foreground (#8521)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-28 22:36:29 +08:00
rustdesk
ed3fb1efa4 bump to 1.2.7 2024-06-28 09:59:10 +08:00
21pages
9c7d4ef1f7 not use nwg default features (#8492)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 12:11:08 +08:00
21pages
12d3c59172 windows portable loading ui (#8490)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 11:04:55 +08:00
rustdesk
2dcd9f02cd bump to 1.2.6 2024-06-03 21:01:41 +08:00
rustdesk
123a45149d bump to 1.2.5 2024-05-28 17:14:55 +08:00
fufesou
1b4a41b522 fix: portable, clear old files (#7802)
* fix: portable, clear old files

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-23 16:54:43 +08:00
rustdesk
a9b0bc0409 fix some minors of custom client 2024-03-15 00:26:53 +08:00
rustdesk
175f185cb1 fix https://github.com/rustdesk/rustdesk/discussions/7381 2024-03-14 20:38:57 +08:00
rustdesk
921ee34779 unify winres 2024-03-07 17:00:32 +08:00
rustdesk
fc149666d9 remove icon.rc and add compression level 2024-03-05 23:22:15 +08:00
rustdesk
c0128d86f4 fix ci 2024-03-04 22:55:25 +08:00
rustdesk
794636e208 use winres in portable 2024-03-04 22:19:18 +08:00
rustdesk
eff6ac254f improve generate.py 2024-03-04 21:16:14 +08:00
rustdesk
fa8e0ed27b brotli 3.4 2023-11-23 19:52:53 +08:00
fufesou
c23f377039 feat, topmost window, exclude from capture
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 07:41:04 +08:00
jxd1337
f61fd02ac7 build.py, generate.py improvements 2023-10-28 10:57:50 +02:00
deep-soft
3fab42b8d1 Update build.rs 2023-09-02 20:52:07 +03:00
deep-soft
e83a97349f Update build.rs
# if Runner.res not found compile icon.rc
2023-09-01 16:12:13 +03:00
dignow
1ff94d1035 fix, portable version, busy cursor last for a long time
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-17 09:51:43 +08:00
rustdesk
a3b0579e92 fix windows package low resolution icon 2023-06-29 11:37:09 +08:00
rustdesk
a1e7abbb70 fix ci 2023-06-05 21:41:22 +08:00
rustdesk
893273ff97 fix ci 2023-06-05 21:25:46 +08:00
rustdesk
b07ac438f5 working on windows service install/uninstall 2023-06-05 20:27:48 +08:00
fufesou
16ca7be2ea copy runtime broker on portable
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-05-24 19:54:44 +08:00
rustdesk
302f1c48d3 update crates, test on mac only 2023-05-11 12:04:38 +08:00
Josh Soref
5e4ca9ef92 spelling: valid
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-09 12:59:08 -05:00
rustdesk
6d95a66de3 remove some errors on mac 2022-12-26 11:25:55 +08:00
21pages
eb673c8c78 portable-service: enable quick_support by rename as xxxqs.exe
Signed-off-by: 21pages <pages21@163.com>
2022-11-19 13:12:21 +08:00
21pages
53e0c16857 fix command line support
Signed-off-by: 21pages <pages21@163.com>
2022-11-10 15:06:51 +08:00
21pages
e2924f0d41 build windows install
Signed-off-by: 21pages <pages21@163.com>
2022-10-11 15:14:14 +08:00