I may use 'keyboardchanged' and 'keyboardchangecanceled', because this hiding behavior only happens while user changed a new keyboard or canceled it. By the way, is it a policy to avoid hyphens or other non alphabets in event names? Long event name may be unavoidable sometimes...