Commit Graph

44 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
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
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 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
SelfRef 4401ccd6fa Change icon location in Unix packages 2023-08-01 00:36:19 +02:00
rustdesk b543e6d143 fix #5119 2023-07-25 20:29:16 +08:00
rustdesk 21c1c06a20 change to 1.2.1 2023-07-10 14:38:13 +08:00
rustdesk 81f548b36e change back to oldest to fix #4373 2023-05-14 18:19:32 +08:00
rustdesk 8e58735243 fix #4333 2023-05-11 17:33:39 +08:00
rustdesk 084ca8e59d linux is_installed 2023-05-09 17:09:51 +08:00
rustdesk e3ee957370 ok to remove curl, because reqwest does not depend on openssl anymore, #4218 2023-05-04 17:24:58 +08:00
fufesou e35011da98 add deps for wayland
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-13 22:39:41 +08:00
Kingtous 1883c05b76 fix: remove comma in PKGBUILD 2023-04-10 16:27:21 +08:00
fufesou eba0ed6a38 add deps pam
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-04-09 14:45:42 +08:00
rustdesk d9b6c33de3 remove pipewire for the time being, because some old distro only have
pulseaudio, pipewire/pulseaudio seems to be installed already since
firefox requires it
2022-11-09 15:06:10 +08:00
Kingtous 400911f782 refactor: change ayaindicator to appindicator 2022-11-08 21:17:56 +08:00
rustdesk d465792d41 fix https://github.com/rustdesk/rustdesk/discussions/1859 2022-10-31 12:12:49 +08:00
Kingtous 2504ef7af7 feat: add nightly arch package 2022-10-22 12:41:37 +08:00
Kingtous 3d7736836f feat: add dbus and cli connect support 2022-10-11 23:22:57 +08:00
rustdesk 607bf33162 deb bug 2022-10-11 06:28:46 +08:00
rustdesk ab33ab3a50 pulseaudio -> pipewire https://github.com/rustdesk/rustdesk/issues/559 2022-09-29 10:51:50 +08:00
rustdesk 49491823c3 mv the other linux package files to res 2022-09-18 12:07:22 +08:00