mirror of
https://github.com/rustdesk/qemu-display.git
synced 2025-07-01 23:35:36 +00:00
28 lines
678 B
Rust
28 lines
678 B
Rust
use serde_repr::{Deserialize_repr, Serialize_repr};
|
|
use zbus::dbus_proxy;
|
|
use zvariant::derive::Type;
|
|
|
|
#[repr(u32)]
|
|
#[derive(Deserialize_repr, Serialize_repr, Type, Debug, PartialEq, Clone, Copy)]
|
|
pub enum MouseButton {
|
|
Left,
|
|
Middle,
|
|
Right,
|
|
WheelUp,
|
|
WheelDown,
|
|
Side,
|
|
Extra,
|
|
}
|
|
|
|
#[dbus_proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Mouse")]
|
|
pub trait Mouse {
|
|
/// Press method
|
|
fn press(&self, button: MouseButton) -> zbus::Result<()>;
|
|
|
|
/// Release method
|
|
fn release(&self, button: MouseButton) -> zbus::Result<()>;
|
|
|
|
/// SetAbsPosition method
|
|
fn set_abs_position(&self, x: u32, y: u32) -> zbus::Result<()>;
|
|
}
|