its getting cleaner

This commit is contained in:
Ferdinand Schober
2024-07-10 20:31:02 +02:00
parent 89ca9c3c0b
commit 8ba92ede34
9 changed files with 413 additions and 282 deletions

View File

@@ -20,26 +20,49 @@ pub fn run() -> Result<()> {
async fn input_capture_test(config: Config) -> Result<()> {
log::info!("creating input capture");
let backend = config.capture_backend.map(|b| b.into());
let mut input_capture = input_capture::create(backend).await?;
log::info!("creating clients");
input_capture.create(0, Position::Left)?;
input_capture.create(1, Position::Right)?;
input_capture.create(2, Position::Top)?;
input_capture.create(3, Position::Bottom)?;
loop {
let (client, event) = input_capture
.next()
.await
.ok_or(anyhow!("capture stream closed"))??;
let pos = match client {
0 => Position::Left,
1 => Position::Right,
2 => Position::Top,
_ => Position::Bottom,
};
log::info!("position: {pos}, event: {event}");
if let Event::Keyboard(KeyboardEvent::Key { key: 1, .. }) = event {
input_capture.release()?;
for _ in 0..2 {
let mut input_capture = Some(input_capture::create(backend).await?);
log::info!("creating clients");
input_capture
.as_mut()
.unwrap()
.create(0, Position::Left)
.await?;
input_capture
.as_mut()
.unwrap()
.create(1, Position::Right)
.await?;
input_capture
.as_mut()
.unwrap()
.create(2, Position::Top)
.await?;
input_capture
.as_mut()
.unwrap()
.create(3, Position::Bottom)
.await?;
loop {
let (client, event) = input_capture
.as_mut()
.unwrap()
.next()
.await
.ok_or(anyhow!("capture stream closed"))??;
let pos = match client {
0 => Position::Left,
1 => Position::Right,
2 => Position::Top,
_ => Position::Bottom,
};
log::info!("position: {pos}, event: {event}");
if let Event::Keyboard(KeyboardEvent::Key { key: 1, .. }) = event {
// input_capture.as_mut().unwrap().release()?;
break;
}
}
input_capture.take().unwrap().async_drop().await.unwrap();
}
Ok(())
}