 
 		return @__mouseStillEvent
 
+	hide: ->
+		@__keyUpListener?.destroy()
+		return super()
 
 	show: (ev) ->
+		@__keyUpListener = CUI.Events.listen
+			type: "keyup"
+			node: window
+			capture: true
+			call: (_ev) =>
+				if _ev.getKeyboardKey() == "Esc"
+					@hide()
+				return
+
 		if @__static
 			super(ev)
 		else


		if CUI.util.isUndef(@opts.backdrop)
			@opts.backdrop = false
		# @opts.role = "tooltip"
		@opts.pointer = "arrow"
		@opts.check_for_element = true
		@opts.placement = @opts.placement or "n"

			if not content or @__pane.isDestroyed()
				return dfr.reject()

			CUI.dom.setAttribute(content, "role", "tooltip")
			@__pane.replace(content, "center")
			dfr.resolve()

