An apparatus for controlling a user interface of a device, said apparatus comprising: one or more sensors coupled to a vibratory surface associated with said apparatus, wherein said one or more sensors are operable to: detect one or more vibrations of said vibratory surface caused by an interaction of an object with said vibratory surface; generate one or more vibratory signals in response to said detected one or more vibrations; one or more processors communicatively coupled to said one or more sensors, wherein said one or more processors are operable to generate a control signal corresponding to said one or more generated vibratory signals to control said user interface of said device; convert each of said generated one or more vibratory signals into vibratory signal components, wherein each of said converted vibratory signal components corresponds to a coordinate axis in a three-dimensional coordinate system; generate a first signal based on a difference between a first vibratory signal component and a second vibratory signal component of said converted vibratory signal components; generate a second signal based on a difference between one of said first vibratory signal component or said second vibratory signal component, and a third vibratory signal component of said converted vibratory signal components; determine said interaction of said object based on said generated first signal and said generated second signal; determine a location corresponding to said interaction of said object with said vibratory surface, wherein said location is determined based on said generated first signal and said generated second signal; transform a sample of said generated first signal during a first pre-determined duration from a time domain to a frequency domain; transform a sample of said generated second signal during a second pre-determined duration from said time domain to said frequency domain; and determine a cross-correlation between said transformed sample of said generated first signal and said transformed sample of said generated second signal. one or more sensors coupled to a vibratory surface associated with said apparatus, wherein said one or more sensors are operable to: detect one or more vibrations of said vibratory surface caused by an interaction of an object with said vibratory surface; generate one or more vibratory signals in response to said detected one or more vibrations; one or more processors communicatively coupled to said one or more sensors, wherein said one or more processors are operable to generate a control signal corresponding to said one or more generated vibratory signals to control said user interface of said device; detect one or more vibrations of said vibratory surface caused by an interaction of an object with said vibratory surface; generate one or more vibratory signals in response to said detected one or more vibrations; one or more processors communicatively coupled to said one or more sensors, wherein said one or more processors are operable to generate a control signal corresponding to said one or more generated vibratory signals to control said user interface of said device; convert each of said generated one or more vibratory signals into vibratory signal components, wherein each of said converted vibratory signal components corresponds to a coordinate axis in a three-dimensional coordinate system; generate a first signal based on a difference between a first vibratory signal component and a second vibratory signal component of said converted vibratory signal components; generate a second signal based on a difference between one of said first vibratory signal component or said second vibratory signal component, and a third vibratory signal component of said converted vibratory signal components; determine said interaction of said object based on said generated first signal and said generated second signal; determine a location corresponding to said interaction of said object with said vibratory surface, wherein said location is determined based on said generated first signal and said generated second signal; transform a sample of said generated first signal during a first pre-determined duration from a time domain to a frequency domain; transform a sample of said generated second signal during a second pre-determined duration from said time domain to said frequency domain; and determine a cross-correlation between said transformed sample of said generated first signal and said transformed sample of said generated second signal.