state, pressure = controller.button These are the multiple values we want to return from __index.
state, pressure = controller.button
Why not return them in a table: state, pressure = unpack(controller:button()) or btn = controller:button() -- use btn.state, btn.pressure
-- Shmuel