[#217] better error for unrecognized key
[#219] add screen.visibleRect()