add key listener
add test for key listener