Described is a computer-implemented system and method that dynamically detects which input device (e.g., pen or mouse) is currently in use, and based on the device, varies a program's user interaction model to better optimize the user's ability to interact with the program via that input device. A tablet input subsystem receives pen and touch data, and also obtains keyboard and mouse data. The subsystem analyzes the data and determines which input device is currently active. The active device is mapped to an interaction model, whereby different user interface appearances, behaviors and the like may be presented to the user to facilitate improved interaction. For example, a program may change the size of user interface elements to enable the user to more accurately scroll and make selections. Timing, tolerances and thresholds may change. Pen hovering can become active, and interaction events received at the same location can be handled differently.