Hinge joint won't work

Hi, I was going to make a simple 3D pinball game and I use Hinge Joint for both of the flippers, left and right and use InputName as the keys (a and d). In the projects settings, I set the LFlipper to a and DFlipper to d and input the name I have assigned to the flipper objects. I use this script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FlipperController : MonoBehaviour {

	public float restPosition = 0;
	public float pressedPosition = 45f;
	public float hitStrength = 10000f;
	public float flipperDampper = 150f;

	HingeJoint hinge;

	public string inputName;

	void Start () {

		hinge = GetComponent<HingeJoint>();
		hinge.useSpring = true;

	}


	void Update () {
		JointSpring spring = new JointSpring();
		spring.spring = hitStrength;
		spring.damper = flipperDampper;

		// If the buttons (Input) are pressed
		// Input.GetKey (KeyCode.A) && Input.GetKey (KeyCode.D)
		if (Input.GetAxis (inputName) == 1) {
			spring.targetPosition = pressedPosition;
		} else {
			// If the buttons are not press
			spring.targetPosition = restPosition;
		}

		hinge.spring = spring;
		hinge.useMotor = true;
	}
}

and set the left flipper min limit to -45, max 0 and right min 0, max limit to 45. It does not seem to work. I am not sure what has caused this. I am using Unity 5.

I had this same problem with almost the same exact code. I fixed it by making sure the attached hingeJoint’s arrow is point directly up. Also, if your getting an “Axis not defined” error you have to name which object is being used in the attached script, in the public string inputName.