You can use anything, even programmable keyboard or mice, as long as you restrict yourself to the one-command-per-key-press rule. Steam Controller sounds ok, but for an official answer feel free to create a Support Ticket and have them give you an official ruling on it.
I’m using a programmable keypad. It does have multi-key and auto-repeat features, but I’m not using them.
Only combat commands are critical enough to require fast key-presses, everything else you can take your time and open from the toolbar on the left (which is customizable). And for combat commands, some of the bigger ships have 8,7,8 slots, but practical fittings for those ships only involve about 4-6 modules that need to be activated, really. Easy to put them on the numeric keypad, and just add a couple commands to order drones to attack and return to bay, and you’re set. You target by ctrl-clicking ships from the overview, you activate your weapons with F1 (because they’re grouped), etc. It’s not too bad actually.
Also, this is an MMO, not a twitch game. The server itself has 1-second “ticks” (rounds), and the internet adds 0.5 - 1 second to any command that your EVE client sends (and the server has to verify each request and send back a response). So you’re looking at 2 - 3 seconds “response time” for any click or keyboard command, really. It’s not twitch.