 
     // Renders a button to switch to the next system keyboard.
     func addNextKeyboardButton() {
-        self.nextKeyboardButton = UIButton(type: .system)
-
-        self.nextKeyboardButton.setTitle(NSLocalizedString("Next Keyboard", comment: "Title for 'Next Keyboard' button"), for: [])
-        self.nextKeyboardButton.sizeToFit()
-        self.nextKeyboardButton.translatesAutoresizingMaskIntoConstraints = false
-
-        self.nextKeyboardButton.addTarget(self, action: #selector(handleInputModeList(from:with:)), for: .allTouchEvents)
-
-        self.view.addSubview(self.nextKeyboardButton)
-
-        self.nextKeyboardButton.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
-        self.nextKeyboardButton.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
+        nextKeyboardButton = UIButton(type: .system)
+        nextKeyboardButton.setTitle("Next Keyboard", for: [])
+        nextKeyboardButton.sizeToFit()
+        nextKeyboardButton.translatesAutoresizingMaskIntoConstraints = false
+        nextKeyboardButton.backgroundColor = UIColor(white: 0.9, alpha: 1)
+        
+        nextKeyboardButton.addTarget(self, action: #selector(handleInputModeList(from:with:)), for: .allTouchEvents)
+        
+        view.addSubview(self.nextKeyboardButton)
+        
+        nextKeyboardButton.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
+        nextKeyboardButton.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
+    }
+    
+    func addHideKeyboardButton() {
+        hideKeyboardButton = UIButton(type: .system)
+        
+        hideKeyboardButton.setTitle("Hide Keyboard", for: .normal)
+        hideKeyboardButton.sizeToFit()
+        hideKeyboardButton.translatesAutoresizingMaskIntoConstraints = false
+        hideKeyboardButton.backgroundColor = UIColor(white: 0.9, alpha: 1)
+        
+        hideKeyboardButton.addTarget(self, action: #selector(UIInputViewController.dismissKeyboard), for: .touchUpInside)
+        
+        view.addSubview(hideKeyboardButton)
+        
+        hideKeyboardButton.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
+        hideKeyboardButton.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
     }
 
     func addAlphabetButtons() {

    // Called once in 'viewDidLoad()' to render all the keyboard buttons.
    func addKeyboardButtons() {
        addNextKeyboardButton()
        addAlphabetButtons()

        // Set the initially selected character.

    override func viewDidLoad() {
        super.viewDidLoad()
        addKeyboardButtons()
        addClickArea()
    }

    func selectMovement() {
