I have this problem with the same microsoft keyboard, so I have opted to try passing the entire USB controller through, which I'm fine with. The VM boots up, but I still am losing the keyboard after a few seconds after it (the keyboard) powers up.
I'd like to try the suggested fix below from Jude, but in 6.1 things are a bit different and the go file entry isnt apparently needed, so I'm not sure exactly how to do this.
Here's the relevant section of my XML at the moment:
<qemu:commandline>
<qemu:arg value='-device'/>
<qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=00:1d.0,bus=root.1,addr=00.2'/>
</qemu:commandline>
Any thoughts? 00:1d.0 is the USB controller in question.