fixed cross platform input