added key press & release support