In theory, I think it is 16, but finding that many that you can get your fingers around while avoiding "aliasing" (three keys seem like 4) is hard.
Jeltron did up,down,left,right,fire,power-up for each of two players in relative comfort, so you should be fine.
IIRC, In BASIC, you need to use negative INKEY values.
In assembler, there is a routine on my carnival disk that check for as many as you like, you could hack that. I think there is a basic program that you can run on a beeb to visualise which keys are pressed to visually check for aliasing. When you press "K" to redefine the keys on Carnival, it runs a basic program that asks you to press all three keys to "OK" the selection and then rejects them if it sees 4 - sneaky eh (and unnecessary!).
You can't really test this on an emulator, as the PC usually only guarantees two simultaneous with a third that you can "roll-over" to.
I'm sure you can work it out from there, I can dig you the code out later if you can't find it or can't understand my obfuscated code
