A flexible and efficient apparatus and method of scanning switch matrix usable
in user interface devices, e.g., a keypad or the like, having a number of switching
elements, e.g., push buttons and/or switches, up to a twice the product of the
number of rows and the number of columns. Each row and columns of the switch matrix
are capable of being driven and being monitored during a scanning of the switch
matrix for a presence of a closure of a switching element. The switch matrix device
and the scanning method also allows integration of one or more switches in the
switch matrix without the need for additional detection mechanisms dedicated to
the switches.