Always keyboard and mouse, never controller.
But yeah I’ve looked into alternative setups but it ultimately always means additional hardware to run the windows games.
My main machine is 95% gaming and 5% hobby work in CAD (also not on Linux) for 3dprinting.
Any coding is already a Linux laptop thing.
I have a very handy command in my .vimrc for this -
command! JSON setlocal filetype=json | %!jq .
Anytime I’m in a json file that isn’t formatted it’s as simple as typing
:JSON
to have it all sorted.