added modifier support
implemented key press event
emit resize event, not expose event