            :on-layout #(update-view-x-y)
            :on-start-should-set-responder (fn [] true)
            :on-move-should-set-responder (fn [] true)
-           :on-responder-grant #(action-after-calc %)
-           :on-responder-move #(action-after-calc %)
+           :on-responder-grant #(action %)
+           :on-responder-move #(action %)
            :on-responder-release #(on-release)}]])
 
       :component-did-mount

(defn all-range-action [{:keys [x y]}]
  (when (and x y)
    (let [f (rate->byte (- y))
          b (rate->byte  y)
          l (rate->byte (- x))
          r (rate->byte  x)
          lf (max 0 (- f l))
          rf (max 0 (- f r))
          lb (max 0 (- b l))

        update-view-x-y #(.measure @joystick-ref (fn [fx fy w h px py]
                                                   (reset! view-x px)
                                                   (reset! view-y py)))
        action (fn [evt]
                 (-> (rate-x-y (.-pageX (.-nativeEvent evt))
                               (.-pageY (.-nativeEvent evt))
                               @view-x @view-y view-w view-h)
                     (on-move)))]
    (r/create-class
     {:reagent-render
      (fn []
