 
 // MARK: dynamic set views
 extension WKWebView.Input {
-    fileprivate static var inputViewKey: UInt8 = 0
-    fileprivate static var inputAccessoryViewKey: UInt8 = 1
+    fileprivate static var viewKey: UInt8 = 0
+    fileprivate static var accessoryViewKey: UInt8 = 1
     /// input view
     public var view: View? {
         set {
             if let webView = target {
                 objc_setAssociatedObject(webView,
-                                         &WKWebView.Input.inputViewKey,
+                                         &WKWebView.Input.viewKey,
                                          newValue,
                                          .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
                 webView.reloadInputViews()

// MARK: - WebView override to return custom view
extension WKWebView {
    public final override var inputView: View? {
        return objc_getAssociatedObject(self, &Input.inputViewKey) as? View ?? super.inputView
    }
    public final override var inputAccessoryView: View? {
        return objc_getAssociatedObject(self, &Input.inputAccessoryViewKey) as? View ?? super.inputAccessoryView
    }
}


        }
        get {
            guard let webView = target else { return nil }
            return objc_getAssociatedObject(webView, &WKWebView.Input.viewKey) as? View
        }
    }
    /// input accessory view
