If the user always needs to press 3 buttons it should not be difficult to use your buttons.
You need some means to know if the system is waiting for an input.
From that point if a button is pressed save its value and count how many buttons have been pressed.
When the count gets to 3 then you have all the values you need.
The complexity arises if the person does not press 3 buttons but leaves the system dangling in an unfinished state. I would deal with that by starting a timer (saving the value of millis() ) when the first button is pressed and if the 3rd button has not been pressed after (say) 5 seconds I would cancel everything and go back to the waiting-for-input state.
That would also deal with the situation where someone accidentally pressed 4 buttons.
...R