server updates
This commit is contained in:
parent
d5fe1898a4
commit
24fb41a0d5
@ -92,7 +92,7 @@ impl KeyboardAggregator {
|
||||
self.dev_log(|| debug!(?report, "Keyboard HID report"));
|
||||
self.send_report(report);
|
||||
if self.is_magic_chord() {
|
||||
self.dev_log(|| warn!("Magic chord pressed => AVADA KEDAVA!!!"));
|
||||
self.dev_log(|| warn!("Magic chord pressed => 🧙♂️🪄💥 AVADA KEDAVRA!!! 💀"));
|
||||
std::process::exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,44 +37,45 @@ impl Relay for Handler {
|
||||
|
||||
tokio::spawn(async move {
|
||||
while let Some(msg) = in_stream.next().await.transpose()? {
|
||||
info!("📥 packet received");
|
||||
match msg.kind {
|
||||
/* ───────────── KEYBOARD ───────────── */
|
||||
/* ───── KEYBOARD ───── */
|
||||
Some(hid_report::Kind::KeyboardReport(ref v)) if v.len() == 8 => {
|
||||
let mut f = kb.lock().await;
|
||||
match f.write_all(v).await {
|
||||
Ok(()) => info!("⌨️ HID report forwarded → /dev/hidg0"),
|
||||
match kb.lock().await.write_all(v).await {
|
||||
Ok(_) => info!("⌨️ → /dev/hidg0 (8 B)"),
|
||||
Err(e) if e.kind() == std::io::ErrorKind::WouldBlock => {
|
||||
trace!("⌨️ /dev/hidg0 busy ({e}); dropped packet");
|
||||
trace!("⌨️ /dev/hidg0 busy, dropped packet");
|
||||
continue;
|
||||
}
|
||||
Err(e) => {
|
||||
error!("⌨️ write error to /dev/hidg0: {e}");
|
||||
continue; // drop this packet, keep stream alive
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ─────────────── MOUSE ─────────────── */
|
||||
Some(hid_report::Kind::MouseReport(ref v)) if v.len() == 4 => {
|
||||
let mut f = ms.lock().await;
|
||||
match f.write_all(v).await {
|
||||
Ok(()) => info!("🖱️ HID report forwarded → /dev/hidg1"),
|
||||
Err(e) if e.kind() == std::io::ErrorKind::WouldBlock => {
|
||||
trace!("🖱️ /dev/hidg1 busy ({e}); dropped packet");
|
||||
}
|
||||
Err(e) => {
|
||||
error!("🖱️ write error to /dev/hidg1: {e}");
|
||||
error!("⌨️ write error: {e}");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ────────────── BAD PACKET ──────────── */
|
||||
/* ───── MOUSE ───── */
|
||||
Some(hid_report::Kind::MouseReport(ref v)) if v.len() == 4 => {
|
||||
match ms.lock().await.write_all(v).await {
|
||||
Ok(_) => info!("🖱️ → /dev/hidg1 (4 B)"),
|
||||
Err(e) if e.kind() == std::io::ErrorKind::WouldBlock => {
|
||||
trace!("🖱️ /dev/hidg1 busy, dropped packet");
|
||||
continue;
|
||||
}
|
||||
Err(e) => {
|
||||
error!("🖱️ write error: {e}");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ───── bad / unknown ───── */
|
||||
_ => {
|
||||
error!(?msg.kind, "⚠️ malformed packet");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// echo back so the client knows we’re alive
|
||||
let _ = tx.send(Ok(msg)).await;
|
||||
}
|
||||
info!("🔚 client stream closed");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user