debug: add key event logging to trace XRecord flow

This commit is contained in:
Khoa Vo 2026-06-26 10:08:13 +07:00
parent 3510cd7384
commit 7898768141

View file

@ -744,17 +744,23 @@ fn run_with_x11(
} }
// Wait for events with 100ms timeout, then re-grab if needed // Wait for events with 100ms timeout, then re-grab if needed
if !capture.wait_for_event(100) { let got_data = capture.wait_for_event(100);
// No events — check if grab is still held let evt = capture.next_event();
if evt.is_none() {
if got_data {
eprintln!("[vietc] DEBUG: select said data but no event in queue");
}
if !capture.is_grabbed() { if !capture.is_grabbed() {
eprintln!("[vietc] Keyboard grab lost — re-grabbing"); eprintln!("[vietc] Keyboard grab lost — re-grabbing");
capture.grab_keyboard(); capture.grab_keyboard();
} }
continue; continue;
} }
let event = evt.unwrap();
eprintln!("[vietc] GOT KEY EVENT: keycode={} pressed={} ch={:?} state={}", event.keycode, event.pressed, event.ch, event.state);
// Drain all available events // Process this event
while let Some(event) = capture.next_event() { {
if event.pressed { if event.pressed {
// Skip autorepeat // Skip autorepeat
if !pressed_keys.insert(event.keycode) { if !pressed_keys.insert(event.keycode) {