What is the keycode for xr interaction/controllers A,B, X,and Y buttons?

Greetings.
I am really stuck with this code. I am average with C# coding and I have this script (below). I want that when the player detects the enemy, and if they choose flight response, it is activated by rapid double pressing either A, B,X or Y buttons on the controller. Once they do that, the speed of the player will increase, and depending on the outcome, whether they are caught or escape, the rest of functions should continue.
Now I tried multiple ways to add the buttons but when i press it, nothing happens. Kindly provide some insight with the code in a way a beginner can understand. I would be really grateful. Thank you so much.

using System.Collections;
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.Interaction.Toolkit;

public class PlayerFlightControl : MonoBehaviour
{
[Header(“Flight Settings”)]
public float baseSpeed; // Default movement speed
public float flightSpeedIncrease = 5f; // Speed boost when flight response triggered
public ActionBasedContinuousMoveProvider moveProvider;

[Header("XR Controller")]
public XRController buttonA;  // Button A (usually primary)
public XRController buttonB;  // Button B (usually secondary)
public XRController buttonX;  // Button X
public XRController buttonY;  // Button Y

[Header("Dependencies")]
public Transform xrOrigin;  // XR Origin or player
public EnemyChase enemyChase; // Enemy script reference
public Animator enemyAnimator; // Animator for enemy animations
public AudioSource disappointmentSound;

private bool hasTriggeredFlight = false;

void Start()
{
    Debug.Log($"{this.GetType().Name} script started on: {gameObject.name}");
    baseSpeed = moveProvider.moveSpeed;
}

private void Update()
{
    if (!hasTriggeredFlight && CheckFlightInput())
    {
        hasTriggeredFlight = true;
        Debug.Log("Player chose: Flight");

        // Start the coroutine
        StartCoroutine(ExecuteSequence());
    }
}

private IEnumerator ExecuteSequence()
{
    TriggerFlightResponse();

    // Wait for 3 seconds before resolving
    yield return new WaitForSeconds(3f);

    // Resolve the flight trial
    TrialOutcomeManager.Instance.ResolveCurrentFlightTrial();
}

// Define the maximum time difference between two presses to be considered a "double click"
private const float doubleClickThreshold = 0.5f; // Time in seconds
private float lastPressTimeA = -1f;
private float lastPressTimeB = -1f;
private float lastPressTimeX = -1f;
private float lastPressTimeY = -1f;

private bool CheckFlightInput()
{
    float currentTime = Time.time;  // Get the current time

    // Check for A button double-click
    if (buttonA.selectInteractionState.activatedThisFrame)  // A button press on buttonA
    {
        if (currentTime - lastPressTimeA <= doubleClickThreshold)
        {
            Debug.Log("Double-click detected on A button!");
            lastPressTimeA = -1f; // Reset last press time after double-click
            return true;
        }
        lastPressTimeA = currentTime; // Update last press time
    }

    // Check for B button double-click
    if (buttonB.selectInteractionState.activatedThisFrame)  // B button press on buttonB
    {
        if (currentTime - lastPressTimeB <= doubleClickThreshold)
        {
            Debug.Log("Double-click detected on B button!");
            lastPressTimeB = -1f; // Reset last press time after double-click
            return true;
        }
        lastPressTimeB = currentTime; // Update last press time
    }

    // Check for X button double-click
    if (buttonX.selectInteractionState.activatedThisFrame)  // X button press on buttonX
    {
        if (currentTime - lastPressTimeX <= doubleClickThreshold)
        {
            Debug.Log("Double-click detected on X button!");
            lastPressTimeX = -1f; // Reset last press time after double-click
            return true;
        }
        lastPressTimeX = currentTime; // Update last press time
    }

    // Check for Y button double-click
    if (buttonY.selectInteractionState.activatedThisFrame)  // Y button press on buttonY
    {
        if (currentTime - lastPressTimeY <= doubleClickThreshold)
        {
            Debug.Log("Double-click detected on Y button!");
            lastPressTimeY = -1f; // Reset last press time after double-click
            return true;
        }
        lastPressTimeY = currentTime; // Update last press time
    }

    return false; // No double click detected
}

private void TriggerFlightResponse()
{
    Debug.Log("Flight response triggered!");
    if (moveProvider != null)
    {
        moveProvider.moveSpeed += flightSpeedIncrease;
    }
    else
    {
        Debug.LogWarning("No ContinuousMoveProvider found!");
    }
}

public void HandleEscape()
{
    Debug.Log("Flight Trial: Escape!");

    // Stop the enemy and play disappointment animation/sound
    enemyChase.StopChase();
    if (enemyAnimator != null)
    {
        enemyAnimator.SetTrigger("Disappointed"); // Play disappointment animation
    }

    if (disappointmentSound != null)
    {
        disappointmentSound.Play();
    }

    Debug.Log("Player escaped successfully!");
    EndTrial();
}

public void HandleCaught()
{
    Debug.Log("Flight Trial: Caught!");

    // Enemy intercepts the player
    enemyChase.InterceptPlayer(xrOrigin.position); // Move enemy to player's position
    if (enemyAnimator != null)
    {
        enemyAnimator.SetTrigger("Intercept"); // Play intercept animation
    }

    Debug.Log("Player caught by the enemy!");
    EndTrial();
}

private void EndTrial()
{
    // Move to the next trial in the TrialOutcomeManager
    TrialOutcomeManager.Instance.MoveToNextFlightTrial();

    // Reset flight status
    moveProvider.moveSpeed = baseSpeed;
    hasTriggeredFlight = false;

    // Optionally reload or move to the next scene
}

}