A steam controller would work fine. On it's own, yeah, it doesn't have enough buttons, but you can make one of the buttons 'switch mode' so you can switch between a more DM orientated set to a more building orientated set. But it has the whole xinput issue so you don't get native support in BL, you have to do controller input -> kb/mouse input.