 	
 	
 	public func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
-		return delegate(for: searchBar)?.searchBarShouldBeginEditing?(searchBar) ?? true
+		let shouldBegin = delegate(for: searchBar)?.searchBarShouldBeginEditing?(searchBar) ?? true
+		if shouldBegin {
+			self.currentInput = searchBar
+		}
+		return shouldBegin
 	}
 	
 	public func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {

	
	
	public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
		return delegate(for: textField)?.textFieldShouldBeginEditing?(textField) ?? true
	}
	
	public func textFieldDidBeginEditing(_ textField: UITextField) {
		self.currentInput = textField
		delegate(for: textField)?.textFieldDidBeginEditing?(textField)
	}
	

	
	
	public func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
		let shouldBegin = delegate(for: textView)?.textViewShouldBeginEditing?(textView) ?? true
		if shouldBegin {
			self.currentInput = textView
		}
		return shouldBegin
	}
	
	public func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
