add direction key support