virtual methods for input devices