@@ -13,7 +13,8 @@ use image::GenericImageView;
1313use log::info;
1414use rfb::encodings::RawEncoding;
1515use rfb::rfb::{
16- FramebufferUpdate, KeyEvent, PixelFormat, ProtoVersion, Rectangle, SecurityType, SecurityTypes,
16+ FramebufferUpdate, KeyEvent, PixelFormat, PointerEvent, ProtoVersion, Rectangle, SecurityType,
17+ SecurityTypes,
1718};
1819use rfb::{
1920 pixel_formats::rgb_888,
@@ -108,8 +109,8 @@ async fn main() -> Result<()> {
108109 name: "rfb-example-server".to_string(),
109110 };
110111 let data = VncServerData {
111- width: WIDTH as u16 ,
112- height: HEIGHT as u16 ,
112+ width: WIDTH as _ ,
113+ height: HEIGHT as _ ,
113114 input_pixel_format: pf.clone(),
114115 };
115116 let server = ExampleServer {
@@ -220,8 +221,8 @@ fn generate_pixels(img: Image, big_endian: bool, rgb_order: (u8, u8, u8)) -> Vec
220221#[async_trait]
221222impl Server for ExampleServer {
222223 async fn get_framebuffer_update(&self) -> FramebufferUpdate {
223- let pixels_width = 1024 ;
224- let pixels_height = 768 ;
224+ let pixels_width = WIDTH as _ ;
225+ let pixels_height = HEIGHT as _ ;
225226 let pixels = generate_pixels(self.display, self.big_endian, self.rgb_order);
226227 let r = Rectangle::new(
227228 0,
@@ -233,5 +234,23 @@ impl Server for ExampleServer {
233234 FramebufferUpdate::new(vec![r])
234235 }
235236
236- async fn key_event(&self, _ke: KeyEvent) {}
237+ async fn key_event(&self, ke: KeyEvent) {
238+ log::info!(
239+ "Key {:?} {}",
240+ ke.keysym(),
241+ if ke.is_pressed() {
242+ "pressed"
243+ } else {
244+ "reselased"
245+ }
246+ );
247+ }
248+
249+ async fn pointer_event(&self, pe: PointerEvent) {
250+ log::info!("Pointer {:?} {:?}", pe.position, pe.pressed);
251+ }
252+
253+ async fn cut_text(&self, t: String) {
254+ log::info!("Cut {:?}", t);
255+ }
237256}
0 commit comments