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
6c949a9602
feat: cursor, linux ( #12822 )
...
* feat: cursor, linux
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: cursor, text, white background
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-09-06 12:11:43 +08:00
fufesou
e2ec6a5be8
feat: whiteboard, macos ( #12780 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-30 22:16:35 +08:00
fufesou
d0e9c6dc57
feat: show my cursor ( #12745 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-28 15:20:01 +08:00
RustDesk
5faf0ad3cf
terminal works basically. ( #12189 )
...
* terminal works basically.
todo:
- persistent
- sessions restore
- web
- mobile
* missed terminal persistent option change
* android sdk 34 -> 35
* +#![cfg_attr(lt_1_77, feature(c_str_literals))]
* fixing ci
* fix ci
* fix ci for android
* try "Fix Android SDK Platform 35"
* fix android 34
* revert flutter_plugin_android_lifecycle to 2.0.17 which used in rustdesk 1.4.0
* refactor, but break something of desktop terminal (new tab showing loading)
* fix connecting...
2025-07-01 13:12:55 +08:00
rustdesk
7792ac1481
udp punch and ipv6 punch
2025-06-12 21:32:28 +08:00
fufesou
ca00706a38
feat, update, win, macos ( #11618 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-04 07:32:47 +08:00
fufesou
8b710f62c8
feat: android clipboard, multi-formats ( #9950 )
...
* feat: android clipboard, multi-formats
Signed-off-by: fufesou <linlong1266@gmail.com >
* Chore
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove unused code
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-11-18 15:43:41 +08:00
fufesou
e3f6829d02
refact: android ios, lan discovery ( #9207 )
...
* refact: android ios, lan discovery
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: build and runtime error
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-30 00:37:38 +08:00
rustdesk
e71d86c124
move clipboard in common.rs to clipboard.rs
2024-07-01 02:14:58 +08:00
fufesou
937cea5a01
refact: remove virtual_display_driver ( #7915 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-05-06 15:26:21 +08:00
Sahil Yeole
3811f41076
Feat: Follow remote cursor and window focus | Auto display switch ( #7717 )
...
* feat: auto switch display on follow remote cursor
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* feat: auto switch display on follow remote window focus
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build and remove unused imports
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix linux get_focused_window_id
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* lock show remote cursor when follow remote cursor is enabled
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix config
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* prevent auto display switch on show all display and displays as individual windows
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove unused function
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove unwraps and improve iterations
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* set updateCursorPos to false to avoid interrupting remote cursor
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* update lang
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix web build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* update checks for options and enable in view mode
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use focused display index for window focus service
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use window center for windows display focused
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove unused imports
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use libxdo instead of xdotool
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix multi monitor check
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* enable show cursor when follow cursor is default
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove show_all_displays,use runtime state instead
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix show cursor lock state on default
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove view mode with follow options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use separate message for follow current display
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* sciter support for follow remote cursor and window
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add check for ui session handlers count
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use cached displays and remove peer info write
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* No follow options when show all displays
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* No follow options when multi ui session
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* turn off follow options when not used|prevent msgs
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use window center for switch in linux
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* use subbed display count to prevent switch msgs
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix web build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* move subbed displays count
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* fix build
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add noperms for window focus
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add subscribe for window focus
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* remove window_focus message and unsub on multi ui
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
* add multi ui session field
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
---------
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-04-25 13:26:02 +08:00
rustdesk
c8392a714c
license.rs -> custom_server.rs to remove misunderstanding
2024-02-26 18:05:54 +08:00
rustdesk
44e6b7dbb0
2fa for unattended access
2024-01-19 15:35:58 +08:00
fufesou
90ac8b7b0b
feat/virtual_display_privacy_mode
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-11-14 12:11:38 +08:00
ClSlaid
30e85c8654
patch: make linux build ok
...
Signed-off-by: ClSlaid <cailue@bupt.edu.cn >
2023-10-29 23:42:04 +08:00
蔡略
a7bb90e7e6
Merge remote-tracking branch 'origin/master' into feat/x11/clipboard-file/init
...
Signed-off-by: 蔡略 <cailue@bupt.edu.cn >
2023-09-08 20:09:57 +08:00
蔡略
25cf36a948
feat: add x11 clipboard support
...
Signed-off-by: 蔡略 <cailue@bupt.edu.cn >
2023-09-08 19:39:00 +08:00
rustdesk
c9d19115e9
fix CI
2023-07-19 17:24:58 +08:00
rustdesk
f59ccb4da5
fix ci
2023-06-07 23:57:20 +08:00
rustdesk
b07ac438f5
working on windows service install/uninstall
2023-06-05 20:27:48 +08:00
Kingtous
c140bcfed6
feat: add native call
2023-04-28 13:49:58 +08:00
fufesou
6013725200
remove warns
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-19 12:06:01 +08:00
fufesou
ecf8c2664c
plugin, tmp commit
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-19 11:38:01 +08:00
Kingtous
f56fc6fdb0
fix: hook for pc only
2023-04-18 18:28:12 +08:00
fufesou
8f51e021c8
remove simple_rc
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-17 14:18:00 +08:00
fufesou
b7af404afa
fix build
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-17 13:01:38 +08:00
fufesou
9d8e7745e2
refact virtual display
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-17 12:06:32 +08:00
fufesou
042a4e575f
tmp commit
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-17 12:06:31 +08:00
fufesou
06a52e1b54
tmp commit
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-17 12:06:30 +08:00
Kingtous
f2f39e31a1
feat: change dummy c to a rust plugin example
2023-04-13 02:14:59 +08:00
Kingtous
0c049c585e
add: initial plugin manager
2023-04-10 00:07:45 +08:00
fufesou
0d5d073a43
trivial changes
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-08 20:28:34 +08:00
fufesou
f72593c281
tmp commit
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-08 19:49:11 +08:00
fufesou
d279588a64
fix build
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-05 14:54:23 +08:00
fufesou
2c25be346c
fix press/release single meta key
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2023-04-05 13:51:59 +08:00
rustdesk
7edb3e6e92
CI
2023-02-10 17:48:53 +08:00
rustdesk
be09728bf5
exclude ui module (sciter) for flutter
2023-02-10 17:09:31 +08:00
Asura
3b60304d14
refactor: keyboard of client
2022-12-08 09:03:41 +08:00
fufesou
3454454bd5
account oidc init rs
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2022-11-07 15:18:57 +08:00
Kingtous
220d056760
feat: implement tray in linux
2022-11-04 19:21:09 +08:00
rustdesk
f4871a992f
refactor core_main, also fix windows flutter restart repeated fatal
...
error crash
2022-09-15 17:41:10 +08:00
csf
7eeb0f7335
refactor cm -> ui_cm_interface for sciter and flutter
2022-09-05 19:41:09 +08:00
csf
bdcb848a75
refactor remote interface
2022-08-31 16:31:31 +08:00
Kingtous
3b9c62b05d
Merge remote-tracking branch 'rustdesk/master' into flutter_desktop
...
# Conflicts:
# .github/workflows/ci.yml
# Cargo.lock
# Cargo.toml
# flutter/lib/common.dart
# flutter/lib/mobile/pages/remote_page.dart
# flutter/lib/mobile/pages/server_page.dart
# flutter/lib/mobile/pages/settings_page.dart
# flutter/lib/mobile/widgets/dialog.dart
# flutter/lib/models/model.dart
# flutter/lib/models/server_model.dart
# src/client.rs
# src/common.rs
# src/ipc.rs
# src/mobile_ffi.rs
# src/rendezvous_mediator.rs
# src/ui.rs
2022-08-01 10:44:05 +08:00
fufesou
3613f27afc
lan_discovery_WOL: fix udp set_nonblocking twice and lan refactor
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2022-07-15 20:39:42 +08:00
Kingtous
4a89469b84
Merge remote-tracking branch 'rustdesk/master' into flutter_desktop
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# build.rs
# flutter/.gitignore
# flutter/lib/common.dart
# flutter/lib/mobile/pages/remote_page.dart
# flutter/lib/models/model.dart
# flutter/lib/models/native_model.dart
# flutter/lib/models/server_model.dart
# flutter/pubspec.lock
# flutter/pubspec.yaml
# src/client.rs
# src/client/file_trait.rs
# src/flutter.rs
# src/mobile_ffi.rs
# src/ui.rs
2022-06-27 11:18:53 +08:00
SoLongAndThanksForAllThePizza
7cd0940661
feat: insert core entry before launching flutter
2022-05-30 16:16:20 +08:00
fufesou
2081113bed
simple_rc: win init simple resource pack
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2022-05-30 13:06:48 +08:00
csf
699907eebd
fix build & create ui interface
2022-05-26 18:11:00 +08:00