         let isSameAction: Bool
     }
 
-    open fileprivate(set) var appearPostIndex = 0
+    public fileprivate(set) var appearPostIndex = 0
 
-    open fileprivate(set) var keyboardInfo: KeyboardInfo? {
+    public fileprivate(set) var keyboardInfo: KeyboardInfo? {
         willSet {
             guard UIApplication.shared.applicationState != .background else {
                 return

        }
    }

    open var animateWhenKeyboardAppear: ((_ appearPostIndex: Int, _ keyboardHeight: CGFloat, _ keyboardHeightIncrement: CGFloat) -> Void)? {
        didSet {
            keyboardObserveEnabled = true
        }
    }

    open var animateWhenKeyboardDisappear: ((_ keyboardHeight: CGFloat) -> Void)? {
        didSet {
            keyboardObserveEnabled = true
        }
    }

    open var postKeyboardInfo: ((_ keyboardMan: KeyboardMan, _ keyboardInfo: KeyboardInfo) -> Void)? {
        didSet {
            keyboardObserveEnabled = true
        }

        }
    }

    public var keyboardObserveEnabled = false {
        willSet {
            if newValue != keyboardObserveEnabled {
                keyboardObserver = newValue ? NotificationCenter.default : nil
