I have a Windows guest in virt-manager running headless (no spice server) because video is output through a GPU (pci passthrough). But my question now is how to send the keyboard and mouse to the guest. I would like to seamlessly share the mouse and keyboard with the guest if possible like how it works with the spice server viewer. I've also heard of KVM switches. Would one of those work better for this setup?
QEMU’s evdev passthrough support allows a user to redirect evdev events to a guest. These events can include mouse movements and key presses. By hitting both Ctrl keys at the same time, QEMU can toggle the input recipient. QEMU’s evdev passthrough also features almost no latency, making it perfect for gaming
A KVM (Keyboard Video Mouse) switch with a separate usb cable to a port to be shared to the VM is the best way to go here. There is really no way to do what you are saying when using a headless server with PCI passthrough for the video. Bummer, huh.