| Crates.io | lamco-rdp-input |
| lib.rs | lamco-rdp-input |
| version | 0.1.1 |
| created_at | 2025-12-15 22:21:05.942396+00 |
| updated_at | 2025-12-17 06:28:29.490185+00 |
| description | RDP input event translation - keyboard scancodes to evdev keycodes, mouse handling, multi-monitor coordinates |
| homepage | https://lamco.ai |
| repository | https://github.com/lamco-admin/lamco-rdp |
| max_upload_size | |
| id | 1986855 |
| size | 126,609 |
RDP input event translation for Rust - keyboard scancodes to evdev keycodes, mouse event handling, and multi-monitor coordinate transformation.
This crate provides complete input event translation for RDP server implementations. It handles the conversion from RDP protocol input events to Linux evdev keycodes, enabling seamless integration with Wayland compositors and other Linux input systems.
The translation layer supports standard keyboards, extended multimedia keys, international layouts, and complex multi-monitor configurations with per-monitor DPI scaling.
Complete Keyboard Support
Advanced Mouse Support
Multi-Monitor Coordinate Transformation
use lamco_rdp_input::{InputTranslator, RdpInputEvent, MonitorInfo};
// Configure monitors
let monitors = vec![
MonitorInfo {
id: 1,
name: "Primary".to_string(),
x: 0, y: 0,
width: 1920, height: 1080,
dpi: 96.0,
scale_factor: 1.0,
stream_x: 0, stream_y: 0,
stream_width: 1920, stream_height: 1080,
is_primary: true,
},
];
// Create translator
let mut translator = InputTranslator::new(monitors)?;
// Translate keyboard event
let event = RdpInputEvent::KeyboardScancode {
scancode: 0x1E, // 'A' key
extended: false,
e1_prefix: false,
pressed: true,
};
let linux_event = translator.translate_event(event)?;
Add to your Cargo.toml:
[dependencies]
lamco-rdp-input = "0.1"
See docs.rs/lamco-rdp-input for full API documentation.
This crate is part of the Lamco RDP project. Lamco develops RDP server solutions for Wayland/Linux.
Open source foundation: Protocol components, input translation, clipboard utilities Commercial products: Lamco RDP Portal Server, Lamco VDI
Learn more: lamco.ai
Licensed under either of:
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.