create input::callback for dynamicallying changing input behavior