             banner.hidden = true
             self.view.insertSubview(banner, belowSubview: self.forwardingView)
             self.bannerView = banner
+            
+            self.setCapsIfNeeded()
         }
     }
     

]
func metric(name: String) -> CGFloat { return CGFloat(metrics[name]!) }

// TODO: live color changes! colors persist if keyboard is not unloaded between appearances, oh noes
class KeyboardViewController: UIInputViewController {
    

        if let model = self.layout.keyForView(sender) {
            self.keyPressed(model)
            
            // auto exit from special char subkeyboard
            if model.type == Key.KeyType.Space || model.type == Key.KeyType.Return {
                self.setMode(0)
            }
