add single key-press check and support play from directory