Can you please make it so that it is possible to assign a key to ollie from the gui inspector?
using UnityEngine;
using UnityEngine.UI;

[RequireComponent(typeof(Rigidbody))]
public class HoverBoardControl : MonoBehaviour
{
    [Header("Hover Settings")]
    public float hoverForce = 9.0f;
    public float hoverHeight = 2.0f;
    public GameObject[] hoverPoints;

    [Header("Movement Settings")]
    public float forwardAcceleration = 100.0f;
    public float backwardAcceleration = 25.0f;
    public float turnStrength = 10f;

    [Header("UI & Scoring")]
    public Text scoreText;
    public int currentScore;
    public HUD hud;
    public TrickManager trickManager;

    [Header("Boost Settings")]
    public float boostMultiplier = 2.0f;

    [Header("Rotation Settings")]
    public float minRotation = -20.0f;
    public float maxRotation = 0.0f;

    [Header("Grind Settings")]
    public bool grind;
    public GameObject grindBoard;

    [Header("Timer Settings")]
    public float timer = 5.0f;

    [Header("Miscellaneous")]
    public bool moving;
    public GameObject board;

    [Header("Input Settings")]
    public KeyCode moveForwardKey = KeyCode.W;
    public KeyCode moveBackwardKey = KeyCode.S;
    public KeyCode turnLeftKey = KeyCode.A;
    public KeyCode turnRightKey = KeyCode.D;

    int layerMask;
    float currentThrust; // Declare here so it's accessible throughout the method
    float currentTurn;   // Declare here so it's accessible throughout the method

    void Awake()
    {
        hud = GameObject.FindObjectOfType<HUD>();
        trickManager = GetComponent<TrickManager>();
    }

    void Start()
    {
        GetComponent<Rigidbody>();
        layerMask = 1 << LayerMask.NameToLayer("Characters");
        layerMask = ~layerMask;
    }

    void Update()
    {
        currentThrust = 0.0f;
        currentTurn = 0.0f;

        scoreText.text = currentScore + " Points";

        if (Input.GetKeyDown(KeyCode.Space))
        {
            hoverForce = 1500f;
            hoverHeight += 0.05f;
            if (hoverHeight >= 6f)
            {
                hoverHeight = 6f;
            }
        }
        else
        {
            hoverHeight -= 0.03f;
            if (hoverHeight <= 5f)
            {
                hoverHeight = 5f;
            }
        }

        if (hud != null)
        {
            if (Input.GetKeyDown(KeyCode.LeftControl) && (hud.BoostInt > 0))
            {
                forwardAcceleration = forwardAcceleration * boostMultiplier;
                backwardAcceleration = backwardAcceleration * boostMultiplier;

                if (hud.BoostInt <= 0)
                {
                    forwardAcceleration = forwardAcceleration / boostMultiplier;
                    backwardAcceleration = backwardAcceleration / boostMultiplier;
                }
            }

            if (Input.GetKey(KeyCode.LeftControl))
            {
                hud.BoostInt -= 0.2f;
            }
        }

        float minRotation = -20;
        float maxRotation = 0;
        Vector3 currentRotation = transform.localRotation.eulerAngles;
        currentRotation.z = Mathf.Clamp(currentRotation.z, minRotation, maxRotation);
        transform.localRotation = Quaternion.Euler(new Vector3(0, currentRotation.y, 0));

        // Main Thrust
        float aclAxis = Input.GetAxis("Vertical");
        if (aclAxis > 0.1f)
            currentThrust = aclAxis * forwardAcceleration;
        else if (aclAxis < -0.1f)
            currentThrust = aclAxis * backwardAcceleration;

        // Turning
        float turnAxis = Input.GetAxis("Horizontal");
        if (Mathf.Abs(turnAxis) > 0.1f)
            currentTurn = turnAxis;

        // Trick execution
        if (Input.GetKeyDown(trickManager.kickflipKey))
        {
            trickManager.ExecuteKickflip();
        }
        else if (Input.GetKeyDown(trickManager.heelflipKey))
        {
            trickManager.ExecuteHeelflip();
        }
        else if (Input.GetKeyDown(trickManager.shoveItKey))
        {
            trickManager.ExecuteShoveIt();
        }

        // Your additional Update logic, if any...
    }

    void FixedUpdate()
    {
        // Hover Force
        RaycastHit hit;
        for (int i = 0; i < hoverPoints.Length; i++)
        {
            var hoverPoint = hoverPoints[i];
            if (Physics.Raycast(hoverPoint.transform.position,
                -Vector3.up, out hit,
                hoverHeight,
                layerMask))
                GetComponent<Rigidbody>().AddForceAtPosition(Vector3.up
                    * hoverForce
                    * (1.0f - (hit.distance / hoverHeight)),
                    hoverPoint.transform.position);
            else
            {
                if (transform.position.y > hoverPoint.transform.position.y)
                    GetComponent<Rigidbody>().AddForceAtPosition(
                        hoverPoint.transform.up * hoverForce,
                        hoverPoint.transform.position);
                else
                    GetComponent<Rigidbody>().AddForceAtPosition(
                        hoverPoint.transform.up * -hoverForce,
                        hoverPoint.transform.position);
            }

            if (hit.transform != null)
            {
                if (hit.transform.tag.Equals("Grind"))
                {
                    if (currentThrust >= 1)
                    {
                        currentScore += 1;
                    }
                }
                if (hit.transform.tag.Equals("Score"))
                {
                    currentScore += 50;
                    hit.collider.gameObject.GetComponent<BoxCollider>().enabled = false;
                }
                if (hit.transform.tag.Equals("Score2"))
                {
                    currentScore += 25;
                    hit.collider.gameObject.GetComponent<BoxCollider>().enabled = false;
                }
            }
        }

        // Forward
        if (Mathf.Abs(currentThrust) > 0)
            GetComponent<Rigidbody>().AddForce(transform.forward * currentThrust);

        // Turn
        if (currentTurn > 0)
        {
            GetComponent<Rigidbody>().AddRelativeTorque(Vector3.up * currentTurn * turnStrength);
        }
        else if (currentTurn < 0)
        {
            GetComponent<Rigidbody>().AddRelativeTorque(Vector3.up * currentTurn * turnStrength);
        }

        // Your existing FixedUpdate logic...
        // For example:
        // 1. Physics calculations
        // 2. Rigidbody forces and torques
        // 3. Anything related to fixed time steps

        // Keep your original FixedUpdate logic unchanged.
    }
}