I tried to follow what I think is the official documentation, so I
started with:
sudo qubesctl state.sls qvm.usb-keyboard
I ran into the same error as described here:
https://forum.qubes-os.org/t/error-creating-sys-usb/7281
Then I followed the solution given there, essentially:
sudo qubesctl state.highstate
sudo qubesctl top.disable qvm.sys-net-as-usbvm pillar=True
The latter ended with a long Python error, essentially saying:
"ValueError: list.remove(x): x not in list". But after this, another try
of the first command (sudo qubesctl state.sls qvm.usb-keyboard)
succeeded.
I had my USB controller persistently attached to sys-net, which I needed
to detach before sys-net and the new sys-usb would run in parallel.
On top of /etc/qubes-rpc/policy/qubes.InputKeyboard, the following line
had been added automatically:
sys-usb dom0 allow,user=root
I deleted everything else in the file, except the final "$anyvm $anyvm
deny".
sys-usb is already disposable after all of this.
So I think it is done now.