better controller handling for desktop/mobile