private void invokeAnalogsAndActions(int hash, float value, float effectiveDeadZone, boolean applyTpf) {
        if (value < effectiveDeadZone) {
            invokeAnalogs(hash, value, !applyTpf);
            return;
        }

        ArrayList<Mapping> maps = bindings.get(hash);
        if (maps == null) {
            return;
        }

        boolean valueChanged = !axisValues.containsKey(hash);
        if (applyTpf) {
            value *= frameTPF;
        }

        int size = maps.size();
        for (int i = size - 1; i >= 0; i--) {
            Mapping mapping = maps.get(i);
            ArrayList<InputListener> listeners = mapping.listeners;
            int listenerSize = listeners.size();
            for (int j = listenerSize - 1; j >= 0; j--) {
                InputListener listener = listeners.get(j);

                if (listener instanceof ActionListener && valueChanged) {
                    ((ActionListener) listener).onAction(mapping.name, true, frameTPF);
                }

                if (listener instanceof AnalogListener) {
                    ((AnalogListener) listener).onAnalog(mapping.name, value, frameTPF);
                }

            }
        }
    }
Initializes the InputManager.

<p>This should only be called internally in {@link Application}.

@param mouse (not null, alias created)
@param keys (not null, alias created)
@param joystick (may be null, alias created)
@param touch (may be null, alias created)
@throws IllegalArgumentException If either mouseInput or keyInput are null.
jme3-core/src/main/java/com/jme3/input/InputManager.java