key listener fixes