This is the button matrix used in the Vorpal Hexapod Gamepad. It has four rows of four buttons, for a total of sixteen buttons. By polling the eight data lines, you can determine which buttons are pressed. You can even tell when multiple buttons are pressed.