global input watcher