67 Commits

Author SHA1 Message Date
rustdesk d49ae493b2 bump to 1.4.6 2026-02-27 20:53:40 +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
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
21pages f2473974b8 fix ci (#12387)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-07-23 17:10:26 +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
21pages 1f02bc9d3e bump to 1.3.7 (#10548)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2025-01-20 23:12:00 +08:00
rustdesk 03999d900e 1.3.6 2024-12-21 15:00:16 +08:00
fufesou b24551da7b refact: linux, move rustdesk into /usr/share (#10327)
* refact: linux, move rustdesk into /usr/share

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

* linux, upgrade, try remove old empty folders

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-12-21 14:53:28 +08:00
fufesou 7830a9e9f3 refact: linux, install path (#10316)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-12-19 15:05:24 +08:00
rustdesk 588103c6dc 1.3.5 2024-12-05 18:38:39 +08:00
21pages 3d17bf4990 linux dynamic load libva (#10171)
1. Linux dynamic load libva, which can fix lack of libva dependency for
   appimage or flatpak, also fix libva version mismatch between build
and run.
2. Remove libvdpau, it's not used, and add libva2 explicitly for deb and
   appimage
3. Print FFmpeg configure log to know the actual codecs.

Test
*  ubuntu 22.04 x64
  - [x] deb
  - [x] flatpak
  - [x] appimage
* ubuntu 18.04
  * deb: fcntl64 not found
  - [x]:appimage
  - [ ]: platpak
hwcodec example:
  - [x]: combination of lacking any of libva2, libva-x11-2, libva-drm2,
    intel-media-va-driver
- [ ] federa
- [ ] arch
- [ ] arm64: my ci can't finish arm64 building

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-12-04 17:10:10 +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
rustdesk 0a5fafb84f comment 2024-08-18 10:04:20 +08:00
rustdesk 4e084c5ee0 revert 2024-08-18 09:56:24 +08:00
rustdesk d1fe617670 fixing https://github.com/rustdesk/rustdesk/issues/9103, maybe 2024-08-18 09:30:53 +08:00
fufesou 541d9c6b86 feat: clipboard, multi formats (#8733)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-28 17:26:54 +08:00
rustdesk ed3fb1efa4 bump to 1.2.7 2024-06-28 09:59:10 +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
rustdesk 1b0a3e610e refactor flatpak/appimage deb path 2024-05-08 20:07:57 +08:00
rustdesk 29b13d19d6 modify GIO_MODULE_DIR 2024-05-05 23:33:58 +08:00
rustdesk b0ff74c799 fix appimage 2024-05-05 16:44:59 +08:00
rustdesk eacc840c54 to make server work on wayland, have to use host's gstreamer 2024-05-05 15:46:30 +08:00
rustdesk d18810b612 fix appimage --cm 2024-05-03 02:13:44 +08:00
rustdesk 3c17d713b3 try out APPIMAGE and ARGV0 2024-05-03 01:50:58 +08:00
rustdesk 115fb05c85 SPA_PLUGIN_DIR works for finding support/libspa-support.so, I tested
manually, though crash because used spa0.2
2024-05-02 22:41:13 +08:00
rustdesk 1e7e72883d fix libspa-support.so 2024-05-02 20:50:06 +08:00
rustdesk 1edb7639f6 try libspa-support again 2024-05-02 20:35:09 +08:00
rustdesk 33c5ceecec pibpipewire-0.2-1 2024-05-02 19:47:56 +08:00
rustdesk c3124314ef try to fix libspa-support.so not found in arm64 appimage when connection
started
2024-05-02 18:47:39 +08:00
rustdesk 7ce0b225ef remove linux_headless/appimage/flatpak feature 2024-05-02 13:23:32 +08:00
rustdesk 496eec17a1 add libc6:arm64 to same to x64 2024-04-29 15:43:57 +08:00
rustdesk 25eb67c582 try out ubuntu 20.04 for appimage arm64 2024-04-29 15:40:55 +08:00
rustdesk 96ec1e937f libnsl.so.1 is included in libc6(already added), but it did not work, we
still need to install libnsl in fedora, however, installing libnsl on
x64 works, but on arm64 crashed (though no librustdesk.so any more)
2024-04-28 23:06:37 +08:00
rustdesk b6616ed2cc change to libnsl 2024-04-28 21:12:04 +08:00
rustdesk b4c51f3d41 add libnsl2 for fedora 40 2024-04-28 20:24:39 +08:00
rustdesk 99d7752e25 try libcanberra-gtk3-module 2024-04-28 12:58:15 +08:00
rustdesk 3bbec4081a add gtk modules 2024-04-28 10:44:14 +08:00
rustdesk 5e616dd502 bump to 1.2.4 2023-10-14 11:07:08 +08:00
rustdesk 28c0e15058 bump to 1.2.3 2023-08-23 12:56:33 +08:00
SelfRef 8595d3e569 Add scalable icon for Unix packages 2023-08-01 00:54:21 +02:00
rustdesk b543e6d143 fix #5119 2023-07-25 20:29:16 +08:00