Haptic duration scripting

Sorta scripting-noob question (C#): I’m using the below scripts (just the relevant parts) to get haptic feedback, but the best I can do is 3999 microseconds each time, which isn’t very impressive.
What do I have to add to allow it to give, say, up to 1 entire second of haptic feedback? (preferably adjustable durations)

public class NVRHand : MonoBehaviour 

public void TriggerHapticPulse(ushort durationMicroSec = 500, EVRButtonId buttonId = EVRButtonId.k_EButton_SteamVR_Touchpad)
        {
            if (Controller != null)
            {
                Controller.TriggerHapticPulse(durationMicroSec, buttonId);
            }
        } 

public class NVRInteractableItem : NVRInteractable 

public NVRHand IsInteracting = null; 

if (IsAttached == true) 
                    {
                        AttachedHand.TriggerHapticPulse (3000);
                    } 

Full disclosure: This is from the NewtonVR control system for the Vive:
NewtonVR

Thanks all!

TomorrowTodayLabs just updated NewtonVR with better control of the haptics (see the NVRHand script in the project): NewtonVR
So that answers this question.