Esempio n. 1
0
 public void EnableVJoy(bool enable)
 {
     {
         //Version 2.0.5 does not have these functions
         if (enable)
         {
             //Don't have easy way of getting driver version
             vJoyInstall.Enable(0);
         }
         else
         {
             vJoyInstall.Disable((UInt16)joystick.GetvJoyVersion());
         }
     }
 }
Esempio n. 2
0
 public static void EnablevJoy()
 {
     Console.WriteLine("Getting vJoy controller...");
     joystick = new vJoy();
     if (joystick.vJoyEnabled())
     {
         Console.WriteLine("vJoy enabled!");
         Console.WriteLine("vJoy ver: " + joystick.GetvJoyVersion());
         Console.WriteLine("Manufacturer: " + joystick.GetvJoyManufacturerString());
         Console.WriteLine("Product: " + joystick.GetvJoyProductString());
         Console.WriteLine("Serial No. : " + joystick.GetvJoySerialNumberString());
         Console.WriteLine("Searching for available joystick...");
         for (uint i = 1; i < 16; i++)
         {
             Console.WriteLine($"Trying joystick {i}...");
             var status = joystick.GetVJDStatus(i);
             Console.WriteLine($"Joystick status: {status}");
             if (new VjdStat[] { VjdStat.VJD_STAT_OWN, VjdStat.VJD_STAT_FREE }.Contains(status))// is it owned already or ready to own?
             {
                 vjd = i;
                 break;
             }
         }
         if (vjd != 0) // joystick id can never be 0, not using -1 to avoid casting
         {
             Console.WriteLine("Attempting to acquire joystick...");
             if (joystick.AcquireVJD(vjd))
             {
                 Console.WriteLine("Success!");
             }
             else
             {
                 Console.WriteLine("Failed to acquire joystick!");
             }
         }
         else
         {
             Console.WriteLine("No joysticks available!");
         }
     }
     else
     {
         Console.WriteLine("vJoy not enabled!");
     }
 }
        public TesterForm()
        {
            InitializeComponent();
            joystick = new vJoy();
            position = new vJoy.JoystickState();


            /////	General driver data
            short  iVer    = joystick.GetvJoyVersion();
            bool   enabled = joystick.vJoyEnabled();
            string Prd     = joystick.GetvJoyProductString();
            string Mnf     = joystick.GetvJoyManufacturerString();
            string Srl     = joystick.GetvJoySerialNumberString();
            string prt     = String.Format("Product: {0}; Version {1:X}; Manuf: {2}; Serial:{3}", Prd, iVer, Mnf, Srl);

            label1.Text   = prt;
            Enbld.Checked = enabled;

            /////	vJoy Device properties
            int  nBtn     = joystick.GetVJDButtonNumber(id);
            int  nDPov    = joystick.GetVJDDiscPovNumber(id);
            int  nCPov    = joystick.GetVJDContPovNumber(id);
            bool X_Exist  = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_X);
            bool Y_Exist  = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_Y);
            bool Z_Exist  = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_Z);
            bool RX_Exist = joystick.GetVJDAxisExist(id, HID_USAGES.HID_USAGE_RX);

            prt         = String.Format("Device[{0}]: Buttons={1}; DiscPOVs:{2}; ContPOVs:{3}", id, nBtn, nDPov, nCPov);
            label2.Text = prt;

            UInt32 DllVer = 0, DrvVer = 0;
            bool   match = joystick.DriverMatch(ref DllVer, ref DrvVer);

            if (match)
            {
                prt = String.Format("Version of Driver Matches DLL Version {0:X}", DllVer);
            }
            else
            {
                prt = String.Format("Version of Driver ({0:X}) does NOT match DLL Version ({1:X})", DrvVer, DllVer);
            }
            label7.Text = prt;

            long max = 10, min = 10;
            bool ok;

            ok = joystick.GetVJDAxisMax(id, HID_USAGES.HID_USAGE_X, ref max);
            ok = joystick.GetVJDAxisMin(id, HID_USAGES.HID_USAGE_X, ref min);

            /////	Write access to vJoy Device - Basic
            VjdStat status;

            status = joystick.GetVJDStatus(id);
            bool acq = joystick.AcquireVJD(id);

            status = joystick.GetVJDStatus(id);

            position.AxisX      = 1000;
            position.AxisY      = 5000;
            position.AxisZ      = 10000;
            position.AxisXRot   = 20000;
            position.Buttons    = 0xA5A5A5A5;
            position.ButtonsEx1 = 0;
            bool upd = joystick.UpdateVJD(id, ref position);

            status = joystick.GetVJDStatus(id);

            //// Reset functions
            joystick.ResetButtons(id);

            // Register callback function
            // Function to register:     Removal()
            // User data to pass:        label2
            joystick.RegisterRemovalCB(Removal, label2);
        }