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()); } } }
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); }