first code
added first code keyboard API
merge