vietc/protocol/src
Khoa Vo f87e37ebff fix: XEvent was a struct but X11 defines it as a union — all fields at offset 0
CRITICAL BUG: XEvent was { _type, _pad[24], data } (data at offset 28)
but in X11 it's a union where ALL variants start at offset 0. This meant
event.data.key.state/keycode read from completely wrong offsets — every
keystroke produced garbage characters.

Fixed by replacing XEvent with a raw [u8; 192] byte buffer and using
event_type() and key() accessor methods that cast from offset 0.
Also fixed same bug in x11_inject.rs.
2026-06-26 09:38:25 +07:00
..
inject.rs Optimize typing performance and preserve casing on replaced syllables 2026-06-25 19:59:46 +07:00
lib.rs X11 capture: proper key tracking, direct clipboard, VNI default 2026-06-26 07:56:52 +07:00
monitor.rs Viet+ v0.1.0 - Vietnamese Input Method for Linux 2026-06-24 10:13:10 +07:00
uinput_monitor.rs Optimize typing performance and preserve casing on replaced syllables 2026-06-25 19:59:46 +07:00
wayland_im.rs Optimize typing performance and preserve casing on replaced syllables 2026-06-25 19:59:46 +07:00
x11_capture.rs fix: XEvent was a struct but X11 defines it as a union — all fields at offset 0 2026-06-26 09:38:25 +07:00
x11_inject.rs fix: XEvent was a struct but X11 defines it as a union — all fields at offset 0 2026-06-26 09:38:25 +07:00