2014-03-28 02:50:40 +01:00
|
|
|
|
using System;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Windows.Forms;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Reflection;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
using System.Xml;
|
2014-11-18 22:23:41 +01:00
|
|
|
|
namespace DS4Windows
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
|
|
|
|
public partial class Options : Form
|
|
|
|
|
{
|
2014-05-30 22:39:39 +02:00
|
|
|
|
public int device;
|
2014-06-02 19:29:38 +02:00
|
|
|
|
public string filename;
|
2014-06-21 20:00:28 +02:00
|
|
|
|
public Timer inputtimer = new Timer(), sixaxisTimer = new Timer();
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
public List<Button> buttons = new List<Button>(), subbuttons = new List<Button>();
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private Button lastSelected;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
private int alphacolor;
|
|
|
|
|
private Color reg, full;
|
|
|
|
|
private Image colored, greyscale;
|
2014-05-25 01:08:40 +02:00
|
|
|
|
ToolTip tp = new ToolTip();
|
2014-12-13 21:12:03 +01:00
|
|
|
|
public DS4Form root;
|
2014-08-23 22:52:20 +02:00
|
|
|
|
bool olddinputcheck = false;
|
2014-11-14 20:44:50 +01:00
|
|
|
|
Image L = Properties.Resources.LeftTouch;
|
|
|
|
|
Image R = Properties.Resources.RightTouch;
|
|
|
|
|
Image M = Properties.Resources.MultiTouch;
|
|
|
|
|
Image U = Properties.Resources.UpperTouch;
|
|
|
|
|
private float dpix;
|
|
|
|
|
private float dpiy;
|
2014-12-17 19:29:22 +01:00
|
|
|
|
public Dictionary<string, string> defaults = new Dictionary<string, string>();
|
2014-12-13 21:12:03 +01:00
|
|
|
|
public bool saving;
|
|
|
|
|
public Options(int deviceNum, string name, DS4Form rt)
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
device = deviceNum;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
filename = name;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
colored = pBRainbow.Image;
|
2014-05-30 22:39:39 +02:00
|
|
|
|
root = rt;
|
2014-11-14 20:44:50 +01:00
|
|
|
|
Graphics g = this.CreateGraphics();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
dpix = g.DpiX / 100f * 1.041666666667f;
|
|
|
|
|
dpiy = g.DpiY / 100f * 1.041666666667f;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
g.Dispose();
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-30 21:32:44 +02:00
|
|
|
|
greyscale = GreyscaleImage((Bitmap)pBRainbow.Image);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
foreach (System.Windows.Forms.Control control in pnlMain.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btn"))
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
buttons.Add((Button)control);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
foreach (System.Windows.Forms.Control control in pnlSticks.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btn"))
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
buttons.Add((Button)control);
|
2014-12-17 19:29:22 +01:00
|
|
|
|
foreach (Button b in buttons)
|
|
|
|
|
defaults.Add(b.Name, b.Text);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
foreach (System.Windows.Forms.Control control in fLPTiltControls.Controls)
|
2014-11-01 22:49:22 +01:00
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btn"))
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
buttons.Add((Button)control);
|
2014-11-15 22:54:14 +01:00
|
|
|
|
foreach (System.Windows.Forms.Control control in fLPTouchSwipe.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btn"))
|
|
|
|
|
buttons.Add((Button)control);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
foreach (System.Windows.Forms.Control control in pnlShiftMain.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btnShift"))
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
subbuttons.Add((Button)control);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
foreach (System.Windows.Forms.Control control in pnlShiftSticks.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btnShift"))
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
subbuttons.Add((Button)control);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
foreach (System.Windows.Forms.Control control in fLPShiftTiltControls.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btnShift"))
|
2014-11-15 22:54:14 +01:00
|
|
|
|
subbuttons.Add((Button)control);
|
|
|
|
|
foreach (System.Windows.Forms.Control control in fLPShiftTouchSwipe.Controls)
|
|
|
|
|
if (control is Button && !((Button)control).Name.Contains("btn"))
|
|
|
|
|
subbuttons.Add((Button)control);
|
2014-12-17 19:29:22 +01:00
|
|
|
|
//string butts = "";
|
|
|
|
|
//butts += "\n" + b.Name;
|
2014-10-13 23:56:04 +02:00
|
|
|
|
//MessageBox.Show(butts);
|
2014-11-15 22:54:14 +01:00
|
|
|
|
|
2014-09-15 04:37:14 +02:00
|
|
|
|
root.lbLastMessage.ForeColor = Color.Black;
|
|
|
|
|
root.lbLastMessage.Text = "Hover over items to see description or more about";
|
|
|
|
|
foreach (System.Windows.Forms.Control control in Controls)
|
2014-12-03 23:36:54 +01:00
|
|
|
|
{
|
2014-09-15 04:37:14 +02:00
|
|
|
|
if (control.HasChildren)
|
|
|
|
|
foreach (System.Windows.Forms.Control ctrl in control.Controls)
|
2014-12-03 23:36:54 +01:00
|
|
|
|
{
|
2014-09-15 04:37:14 +02:00
|
|
|
|
if (ctrl.HasChildren)
|
|
|
|
|
foreach (System.Windows.Forms.Control ctrl2 in ctrl.Controls)
|
2014-12-03 23:36:54 +01:00
|
|
|
|
{
|
2014-09-15 04:37:14 +02:00
|
|
|
|
if (ctrl2.HasChildren)
|
|
|
|
|
foreach (System.Windows.Forms.Control ctrl3 in ctrl2.Controls)
|
|
|
|
|
ctrl3.MouseHover += Items_MouseHover;
|
2014-12-03 23:36:54 +01:00
|
|
|
|
ctrl2.MouseHover += Items_MouseHover;
|
|
|
|
|
}
|
|
|
|
|
ctrl.MouseHover += Items_MouseHover;
|
|
|
|
|
}
|
|
|
|
|
control.MouseHover += Items_MouseHover;
|
|
|
|
|
}
|
2014-11-15 22:54:14 +01:00
|
|
|
|
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (device < 4)
|
2014-05-30 22:39:39 +02:00
|
|
|
|
nUDSixaxis.Value = deviceNum + 1;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
if (filename != "")
|
2014-04-27 21:32:09 +02:00
|
|
|
|
{
|
2014-11-15 22:54:14 +01:00
|
|
|
|
if (device == 4) //if temp device is called
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ProfilePath[4] = name;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
Global.LoadProfile(device, buttons.ToArray(), subbuttons.ToArray(), false, Program.rootHub);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4Color color = Global.MainColor[device];
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBRedBar.Value = color.red;
|
|
|
|
|
tBGreenBar.Value = color.green;
|
|
|
|
|
tBBlueBar.Value = color.blue;
|
|
|
|
|
|
2015-02-08 22:51:52 +01:00
|
|
|
|
cBLightbyBattery.Checked = Global.LedAsBatteryIndicator[device];
|
|
|
|
|
nUDflashLED.Value = Global.FlashAt[device];
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlLowBattery.Visible = cBLightbyBattery.Checked;
|
2014-06-21 20:00:28 +02:00
|
|
|
|
lbFull.Text = (cBLightbyBattery.Checked ? "Full:" : "Color:");
|
2015-02-08 22:51:52 +01:00
|
|
|
|
pnlFull.Location = new Point(pnlFull.Location.X, (cBLightbyBattery.Checked ? (int)(dpix * 42) : (pnlFull.Location.Y + pnlLowBattery.Location.Y) / 2));
|
|
|
|
|
DS4Color lowColor = Global.LowColor[device];
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBLowRedBar.Value = lowColor.red;
|
|
|
|
|
tBLowGreenBar.Value = lowColor.green;
|
|
|
|
|
tBLowBlueBar.Value = lowColor.blue;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4Color shiftColor = Global.ShiftColor[device];
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBShiftRedBar.Value = shiftColor.red;
|
|
|
|
|
tBShiftGreenBar.Value = shiftColor.green;
|
|
|
|
|
tBShiftBlueBar.Value = shiftColor.blue;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
cBShiftLight.Checked = Global.ShiftColorOn[device];
|
2014-07-26 01:17:45 +02:00
|
|
|
|
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4Color cColor = Global.ChargingColor[device];
|
2014-06-02 19:29:38 +02:00
|
|
|
|
btnChargingColor.BackColor = Color.FromArgb(cColor.red, cColor.green, cColor.blue);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
cBFlashType.SelectedIndex = Global.FlashType[device];
|
|
|
|
|
DS4Color fColor = Global.FlashColor[device];
|
|
|
|
|
if (fColor.Equals(new DS4Color { red = 0, green = 0, blue = 0 }))
|
|
|
|
|
if (Global.Rainbow[device] == 0)
|
|
|
|
|
btnFlashColor.BackColor = pBController.BackColor;
|
|
|
|
|
else
|
|
|
|
|
btnFlashColor.BackgroundImage = pBController.BackgroundImage;
|
|
|
|
|
else
|
|
|
|
|
btnFlashColor.BackColor = Color.FromArgb(fColor.red, fColor.green, fColor.blue);
|
|
|
|
|
nUDRumbleBoost.Value = Global.RumbleBoost[device];
|
|
|
|
|
nUDTouch.Value = Global.TouchSensitivity[device];
|
|
|
|
|
cBSlide.Checked = Global.TouchSensitivity[device] > 0;
|
|
|
|
|
nUDScroll.Value = Global.ScrollSensitivity[device];
|
|
|
|
|
cBScroll.Checked = Global.ScrollSensitivity[device] > 0;
|
|
|
|
|
nUDTap.Value = Global.TapSensitivity[device];
|
|
|
|
|
cBTap.Checked = Global.TapSensitivity[device] > 0;
|
|
|
|
|
cBDoubleTap.Checked = Global.DoubleTap[device];
|
|
|
|
|
nUDL2.Value = (decimal)Global.L2Deadzone[device] / 255;
|
|
|
|
|
nUDR2.Value = (decimal)Global.R2Deadzone[device] / 255;
|
|
|
|
|
cBTouchpadJitterCompensation.Checked = Global.TouchpadJitterCompensation[device];
|
|
|
|
|
cBlowerRCOn.Checked = Global.LowerRCOn[device];
|
|
|
|
|
cBFlushHIDQueue.Checked = Global.FlushHIDQueue[device];
|
|
|
|
|
nUDIdleDisconnect.Value = Math.Round((decimal)(Global.IdleDisconnectTimeout[device] / 60d), 1);
|
|
|
|
|
cBIdleDisconnect.Checked = Global.IdleDisconnectTimeout[device] > 0;
|
|
|
|
|
numUDMouseSens.Value = Global.ButtonMouseSensitivity[device];
|
|
|
|
|
cBMouseAccel.Checked = Global.MouseAccel[device];
|
2014-04-27 21:32:09 +02:00
|
|
|
|
// Force update of color choosers
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBRedBar.Value, Math.Max(tBGreenBar.Value, tBBlueBar.Value));
|
2014-04-27 21:32:09 +02:00
|
|
|
|
reg = Color.FromArgb(color.red, color.green, color.blue);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
|
|
|
|
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBLowRedBar.Value, Math.Max(tBGreenBar.Value, tBBlueBar.Value));
|
2014-04-30 21:32:44 +02:00
|
|
|
|
reg = Color.FromArgb(lowColor.red, lowColor.green, lowColor.blue);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
nUDRainbow.Value = (decimal)Global.Rainbow[device];
|
|
|
|
|
try { cBWhileCharging.SelectedIndex = Global.ChargingType[device]; }
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
catch { cBWhileCharging.SelectedIndex = 0; }
|
2015-02-08 22:51:52 +01:00
|
|
|
|
if (Global.Rainbow[device] == 0)
|
2014-04-30 21:32:44 +02:00
|
|
|
|
{
|
|
|
|
|
pBRainbow.Image = greyscale;
|
|
|
|
|
ToggleRainbow(false);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pBRainbow.Image = colored;
|
|
|
|
|
ToggleRainbow(true);
|
|
|
|
|
}
|
2015-02-08 22:51:52 +01:00
|
|
|
|
nUDLS.Value = Math.Round((decimal)(Global.LSDeadzone[device] / 127d), 3);
|
|
|
|
|
nUDRS.Value = Math.Round((decimal)(Global.RSDeadzone[device] / 127d), 3);
|
|
|
|
|
nUDSX.Value = (decimal)Global.SXDeadzone[device];
|
|
|
|
|
nUDSZ.Value = (decimal)Global.SZDeadzone[device];
|
|
|
|
|
cBShiftControl.SelectedIndex = Global.ShiftModifier[device];
|
|
|
|
|
if (Global.LaunchProgram[device] != string.Empty)
|
2014-07-26 01:17:45 +02:00
|
|
|
|
{
|
|
|
|
|
cBLaunchProgram.Checked = true;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
pBProgram.Image = Icon.ExtractAssociatedIcon(Global.LaunchProgram[device]).ToBitmap();
|
|
|
|
|
btnBrowse.Text = Path.GetFileNameWithoutExtension(Global.LaunchProgram[device]);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
2015-02-08 22:51:52 +01:00
|
|
|
|
cBDinput.Checked = Global.DinputOnly[device];
|
2014-08-23 22:52:20 +02:00
|
|
|
|
olddinputcheck = cBDinput.Checked;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
cbStartTouchpadOff.Checked = Global.StartTouchpadOff[device];
|
|
|
|
|
cBTPforControls.Checked = Global.UseTPforControls[device];
|
|
|
|
|
nUDLSCurve.Value = Global.LSCurve[device];
|
|
|
|
|
nUDRSCurve.Value = Global.RSCurve[device];
|
|
|
|
|
cBControllerInput.Checked = Global.DS4Mapping;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
else
|
2014-10-21 04:31:13 +02:00
|
|
|
|
{
|
2014-04-30 21:32:44 +02:00
|
|
|
|
Set();
|
2014-10-21 04:31:13 +02:00
|
|
|
|
switch (device)
|
|
|
|
|
{
|
|
|
|
|
case 0: tBRedBar.Value = 0; tBGreenBar.Value = 0; break;
|
|
|
|
|
case 1: tBGreenBar.Value = 0; tBBlueBar.Value = 0; break;
|
|
|
|
|
case 2: tBRedBar.Value = 0; tBBlueBar.Value = 0; break;
|
|
|
|
|
case 3: tBGreenBar.Value = 0; break;
|
|
|
|
|
case 4: tBRedBar.Value = 0; tBGreenBar.Value = 0; break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-05-14 09:12:15 +02:00
|
|
|
|
foreach (Button b in buttons)
|
|
|
|
|
b.MouseHover += button_MouseHover;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
foreach (Button b in subbuttons)
|
|
|
|
|
b.MouseHover += button_MouseHover;
|
|
|
|
|
|
2014-09-15 04:37:14 +02:00
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
advColorDialog.OnUpdateColor += advColorDialog_OnUpdateColor;
|
|
|
|
|
btnLeftStick.Enter += btnSticks_Enter;
|
|
|
|
|
btnRightStick.Enter += btnSticks_Enter;
|
2014-11-01 22:49:22 +01:00
|
|
|
|
btnShiftLeftStick.Enter += btnShiftSticks_Enter;
|
|
|
|
|
btnShiftRightStick.Enter += btnShiftSticks_Enter;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
UpdateLists();
|
2014-05-19 07:55:12 +02:00
|
|
|
|
inputtimer.Start();
|
|
|
|
|
inputtimer.Tick += InputDS4;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
sixaxisTimer.Tick += ControllerReadout_Tick;
|
2014-06-24 00:27:14 +02:00
|
|
|
|
sixaxisTimer.Interval = 1000 / 60;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
LoadActions(string.IsNullOrEmpty(filename));
|
2014-12-13 21:12:03 +01:00
|
|
|
|
}
|
|
|
|
|
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
public void LoadActions(bool newp)
|
2014-12-13 21:12:03 +01:00
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
List<string> pactions = Global.ProfileActions[device];
|
2014-12-13 21:12:03 +01:00
|
|
|
|
foreach (SpecialAction action in Global.GetActions())
|
|
|
|
|
{
|
|
|
|
|
ListViewItem lvi = new ListViewItem(action.name);
|
|
|
|
|
lvi.SubItems.Add(action.controls.Replace("/", ", "));
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
//string type = action.type;
|
|
|
|
|
switch (action.type)
|
2014-12-13 21:12:03 +01:00
|
|
|
|
{
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
case "Macro": lvi.SubItems.Add(Properties.Resources.Macro + (action.keyType.HasFlag(DS4KeyType.ScanCode) ? " (" + Properties.Resources.ScanCode + ")" : "")); break;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
case "Program": lvi.SubItems.Add(Properties.Resources.LaunchProgram.Replace("*program*", Path.GetFileNameWithoutExtension(action.details))); break;
|
|
|
|
|
case "Profile": lvi.SubItems.Add(Properties.Resources.LoadProfile.Replace("*profile*", action.details)); break;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
case "Key": lvi.SubItems.Add(((Keys)int.Parse(action.details)).ToString() + (action.uTrigger.Count > 0 ? " (Toggle)" : "")); break;
|
|
|
|
|
case "DisconnectBT":
|
|
|
|
|
double d = 0;
|
|
|
|
|
if (double.TryParse(action.details, out d) && d > 0)
|
|
|
|
|
lvi.SubItems.Add(Properties.Resources.DisconnectBT + " after " + action.details + "s");
|
|
|
|
|
else
|
|
|
|
|
lvi.SubItems.Add(Properties.Resources.DisconnectBT);
|
|
|
|
|
break;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
}
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
if (newp && action.type == "DisconnectBT")
|
|
|
|
|
lvi.Checked = true;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
foreach (string s in pactions)
|
|
|
|
|
if (s == action.name)
|
|
|
|
|
{
|
|
|
|
|
lvi.Checked = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
lVActions.Items.Add(lvi);
|
|
|
|
|
}
|
2014-05-19 07:55:12 +02:00
|
|
|
|
}
|
2014-12-13 21:12:03 +01:00
|
|
|
|
|
2015-02-08 22:51:52 +01:00
|
|
|
|
public double Clamp(double min, double value, double max)
|
|
|
|
|
{
|
|
|
|
|
if (value > max)
|
|
|
|
|
return max;
|
|
|
|
|
else if (value < min)
|
|
|
|
|
return min;
|
|
|
|
|
else
|
|
|
|
|
return value;
|
|
|
|
|
}
|
2014-12-13 21:12:03 +01:00
|
|
|
|
void ControllerReadout_Tick(object sender, EventArgs e)
|
2015-02-08 22:51:52 +01:00
|
|
|
|
{
|
2014-05-30 22:39:39 +02:00
|
|
|
|
// MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff
|
|
|
|
|
// Enough additional acceleration and we are no longer mostly measuring Earth's gravity...
|
|
|
|
|
// We should try to indicate setpoints of the calibration when exposing this measurement....
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (Program.rootHub.DS4Controllers[(int)nUDSixaxis.Value - 1] == null)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
{
|
|
|
|
|
tPController.Enabled = false;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
lbInputDelay.Text = Properties.Resources.InputDelay.Replace("*number*", Properties.Resources.NA);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
pBDelayTracker.BackColor = Color.Transparent;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tPController.Enabled = true;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
SetDynamicTrackBarValue(tBsixaxisGyroX, (Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].GyroX + tBsixaxisGyroX.Value * 2) / 3);
|
|
|
|
|
SetDynamicTrackBarValue(tBsixaxisGyroY, (Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].GyroY + tBsixaxisGyroY.Value * 2) / 3);
|
|
|
|
|
SetDynamicTrackBarValue(tBsixaxisGyroZ, (Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].GyroZ + tBsixaxisGyroZ.Value * 2) / 3);
|
|
|
|
|
SetDynamicTrackBarValue(tBsixaxisAccelX, (Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].AccelX + tBsixaxisAccelX.Value * 2) / 3);
|
|
|
|
|
SetDynamicTrackBarValue(tBsixaxisAccelY, (Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].AccelY + tBsixaxisAccelY.Value * 2) / 3);
|
|
|
|
|
SetDynamicTrackBarValue(tBsixaxisAccelZ, (Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].AccelZ + tBsixaxisAccelZ.Value * 2) / 3);
|
|
|
|
|
|
|
|
|
|
int x = Program.rootHub.getDS4State((int)nUDSixaxis.Value - 1).LX;
|
|
|
|
|
int y = Program.rootHub.getDS4State((int)nUDSixaxis.Value - 1).LY;
|
|
|
|
|
//else
|
|
|
|
|
//double hypot = Math.Min(127.5f, Math.Sqrt(Math.Pow(x - 127.5f, 2) + Math.Pow(y - 127.5f, 2)));
|
|
|
|
|
if (nUDLSCurve.Value > 0)
|
|
|
|
|
{
|
|
|
|
|
float max = x + y;
|
|
|
|
|
double curvex;
|
|
|
|
|
double curvey;
|
|
|
|
|
double multimax = TValue(382.5, max, (double)nUDLSCurve.Value);
|
|
|
|
|
double multimin = TValue(127.5, max, (double)nUDLSCurve.Value);
|
|
|
|
|
if ((x > 127.5f && y > 127.5f) || (x < 127.5f && y < 127.5f))
|
|
|
|
|
{
|
|
|
|
|
curvex = (x > 127.5f ? Math.Min(x, (x / max) * multimax) : Math.Max(x, (x / max) * multimin));
|
|
|
|
|
curvey = (y > 127.5f ? Math.Min(y, (y / max) * multimax) : Math.Max(y, (y / max) * multimin));
|
|
|
|
|
btnLSTrack.Location = new Point((int)(dpix * curvex / 2.09 + lbLSTrack.Location.X), (int)(dpiy * curvey / 2.09 + lbLSTrack.Location.Y));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (x < 127.5f)
|
|
|
|
|
{
|
|
|
|
|
curvex = Math.Min(x, (x / max) * multimax);
|
|
|
|
|
curvey = Math.Min(y, (-(y / max) * multimax + 510));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
curvex = Math.Min(x, (-(x / max) * multimax + 510));
|
|
|
|
|
curvey = Math.Min(y, (y / max) * multimax);
|
|
|
|
|
}
|
|
|
|
|
btnLSTrack.Location = new Point((int)(dpix * curvex / 2.09 + lbLSTrack.Location.X), (int)(dpiy * curvey / 2.09 + lbLSTrack.Location.Y));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
2014-11-14 20:44:50 +01:00
|
|
|
|
btnLSTrack.Location = new Point((int)(dpix * x / 2.09 + lbLSTrack.Location.X), (int)(dpiy * y / 2.09 + lbLSTrack.Location.Y));
|
2014-12-13 21:12:03 +01:00
|
|
|
|
//*/
|
|
|
|
|
x = Program.rootHub.getDS4State((int)nUDSixaxis.Value - 1).RX;
|
|
|
|
|
y = Program.rootHub.getDS4State((int)nUDSixaxis.Value - 1).RY;
|
|
|
|
|
if (nUDRSCurve.Value > 0)
|
|
|
|
|
{
|
|
|
|
|
float max = x + y;
|
|
|
|
|
double curvex;
|
|
|
|
|
double curvey;
|
|
|
|
|
double multimax = TValue(382.5, max, (double)nUDRSCurve.Value);
|
|
|
|
|
double multimin = TValue(127.5, max, (double)nUDRSCurve.Value);
|
|
|
|
|
if ((x > 127.5f && y > 127.5f) || (x < 127.5f && y < 127.5f))
|
|
|
|
|
{
|
|
|
|
|
curvex = (x > 127.5f ? Math.Min(x, (x / max) * multimax) : Math.Max(x, (x / max) * multimin));
|
|
|
|
|
curvey = (y > 127.5f ? Math.Min(y, (y / max) * multimax) : Math.Max(y, (y / max) * multimin));
|
|
|
|
|
btnRSTrack.Location = new Point((int)(dpix * curvex / 2.09 + lbRSTrack.Location.X), (int)(dpiy * curvey / 2.09 + lbRSTrack.Location.Y));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (x < 127.5f)
|
|
|
|
|
{
|
|
|
|
|
curvex = Math.Min(x, (x / max) * multimax);
|
|
|
|
|
curvey = Math.Min(y, (-(y / max) * multimax + 510));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
curvex = Math.Min(x, (-(x / max) * multimax + 510));
|
|
|
|
|
curvey = Math.Min(y, (y / max) * multimax);
|
|
|
|
|
}
|
|
|
|
|
btnRSTrack.Location = new Point((int)(dpix * curvex / 2.09 + lbRSTrack.Location.X), (int)(dpiy * curvey / 2.09 + lbRSTrack.Location.Y));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
btnRSTrack.Location = new Point((int)(dpix * x / 2.09 + lbRSTrack.Location.X), (int)(dpiy * y / 2.09 + lbRSTrack.Location.Y));
|
|
|
|
|
x = -Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].GyroX / 62 + 127;
|
|
|
|
|
y = Program.rootHub.ExposedState[(int)nUDSixaxis.Value - 1].GyroZ / 62 + 127;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
btnSATrack.Location = new Point((int)(dpix * Clamp(0,x / 2.09,lbSATrack.Size.Width) + lbSATrack.Location.X), (int)(dpiy * Clamp(0,y / 2.09,lbSATrack.Size.Height) + lbSATrack.Location.Y));
|
2014-12-13 21:12:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tBL2.Value = Program.rootHub.getDS4State((int)nUDSixaxis.Value - 1).L2;
|
2014-11-14 20:44:50 +01:00
|
|
|
|
lbL2Track.Location = new Point(tBL2.Location.X - (int)(dpix * 15), (int)((dpix * (24 - tBL2.Value / 10.625) + 10)));
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (tBL2.Value == 255)
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbL2Track.ForeColor = Color.Green;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
else if (tBL2.Value < (double)nUDL2.Value * 255)
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbL2Track.ForeColor = Color.Red;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
else
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbL2Track.ForeColor = Color.Black;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
|
|
|
|
|
tBR2.Value = Program.rootHub.getDS4State((int)nUDSixaxis.Value - 1).R2;
|
2014-11-14 20:44:50 +01:00
|
|
|
|
lbR2Track.Location = new Point(tBR2.Location.X + (int)(dpix * 20), (int)((dpix * (24 - tBR2.Value / 10.625) + 10)));
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (tBR2.Value == 255)
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbR2Track.ForeColor = Color.Green;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
else if (tBR2.Value < (double)nUDR2.Value * 255)
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbR2Track.ForeColor = Color.Red;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
else
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbR2Track.ForeColor = Color.Black;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
double latency = Program.rootHub.DS4Controllers[(int)nUDSixaxis.Value - 1].Latency;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
lbInputDelay.Text = Properties.Resources.InputDelay.Replace("*number*", latency.ToString());
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (latency > 10)
|
|
|
|
|
pBDelayTracker.BackColor = Color.Red;
|
|
|
|
|
else if (latency > 5)
|
|
|
|
|
pBDelayTracker.BackColor = Color.Yellow;
|
|
|
|
|
else
|
|
|
|
|
pBDelayTracker.BackColor = Color.Green;
|
|
|
|
|
}
|
2014-05-30 22:39:39 +02:00
|
|
|
|
}
|
2014-12-13 21:12:03 +01:00
|
|
|
|
|
|
|
|
|
double TValue(double value1, double value2, double percent)
|
|
|
|
|
{
|
|
|
|
|
percent /= 100f;
|
|
|
|
|
return value1 * percent + value2 * (1 - percent);
|
|
|
|
|
}
|
2014-05-19 07:55:12 +02:00
|
|
|
|
private void InputDS4(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (Form.ActiveForm == root && cBControllerInput.Checked && tabControls.SelectedIndex < 2)
|
|
|
|
|
switch (Program.rootHub.GetInputkeys((int)nUDSixaxis.Value - 1))
|
2014-05-19 07:55:12 +02:00
|
|
|
|
{
|
|
|
|
|
case ("Cross"): Show_ControlsBn(bnCross, e); break;
|
|
|
|
|
case ("Circle"): Show_ControlsBn(bnCircle, e); break;
|
|
|
|
|
case ("Square"): Show_ControlsBn(bnSquare, e); break;
|
|
|
|
|
case ("Triangle"): Show_ControlsBn(bnTriangle, e); break;
|
|
|
|
|
case ("Options"): Show_ControlsBn(bnOptions, e); break;
|
|
|
|
|
case ("Share"): Show_ControlsBn(bnShare, e); break;
|
|
|
|
|
case ("Up"): Show_ControlsBn(bnUp, e); break;
|
|
|
|
|
case ("Down"): Show_ControlsBn(bnDown, e); break;
|
|
|
|
|
case ("Left"): Show_ControlsBn(bnLeft, e); break;
|
|
|
|
|
case ("Right"): Show_ControlsBn(bnRight, e); break;
|
|
|
|
|
case ("PS"): Show_ControlsBn(bnPS, e); break;
|
|
|
|
|
case ("L1"): Show_ControlsBn(bnL1, e); break;
|
|
|
|
|
case ("R1"): Show_ControlsBn(bnR1, e); break;
|
|
|
|
|
case ("L2"): Show_ControlsBn(bnL2, e); break;
|
|
|
|
|
case ("R2"): Show_ControlsBn(bnR2, e); break;
|
|
|
|
|
case ("L3"): Show_ControlsBn(bnL3, e); break;
|
|
|
|
|
case ("R3"): Show_ControlsBn(bnR3, e); break;
|
|
|
|
|
case ("Touch Left"): Show_ControlsBn(bnTouchLeft, e); break;
|
|
|
|
|
case ("Touch Right"): Show_ControlsBn(bnTouchRight, e); break;
|
|
|
|
|
case ("Touch Multi"): Show_ControlsBn(bnTouchMulti, e); break;
|
|
|
|
|
case ("Touch Upper"): Show_ControlsBn(bnTouchUpper, e); break;
|
|
|
|
|
case ("LS Up"): Show_ControlsBn(bnLSUp, e); break;
|
|
|
|
|
case ("LS Down"): Show_ControlsBn(bnLSDown, e); break;
|
|
|
|
|
case ("LS Left"): Show_ControlsBn(bnLSLeft, e); break;
|
|
|
|
|
case ("LS Right"): Show_ControlsBn(bnLSRight, e); break;
|
|
|
|
|
case ("RS Up"): Show_ControlsBn(bnRSUp, e); break;
|
|
|
|
|
case ("RS Down"): Show_ControlsBn(bnRSDown, e); break;
|
|
|
|
|
case ("RS Left"): Show_ControlsBn(bnRSLeft, e); break;
|
|
|
|
|
case ("RS Right"): Show_ControlsBn(bnRSRight, e); break;
|
2014-06-24 00:27:14 +02:00
|
|
|
|
case ("GyroXP"): Show_ControlsBn(bnGyroXP, e); break;
|
|
|
|
|
case ("GyroXN"): Show_ControlsBn(bnGyroXN, e); break;
|
|
|
|
|
case ("GyroZP"): Show_ControlsBn(bnGyroZP, e); break;
|
|
|
|
|
case ("GyroZN"): Show_ControlsBn(bnGyroZN, e); break;
|
2014-05-19 07:55:12 +02:00
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
2014-05-14 09:12:15 +02:00
|
|
|
|
private void button_MouseHover(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
switch (((Button)sender).Name)
|
|
|
|
|
{
|
2014-05-19 07:55:12 +02:00
|
|
|
|
#region
|
2014-11-15 22:54:14 +01:00
|
|
|
|
case "bnCross": lBControls.SelectedIndex = 0; break;
|
|
|
|
|
case "bnCircle": lBControls.SelectedIndex = 1; break;
|
|
|
|
|
case "bnSquare": lBControls.SelectedIndex = 2; break;
|
|
|
|
|
case "bnTriangle": lBControls.SelectedIndex = 3; break;
|
|
|
|
|
case "bnOptions": lBControls.SelectedIndex = 4; break;
|
|
|
|
|
case "bnShare": lBControls.SelectedIndex = 5; break;
|
|
|
|
|
case "bnUp": lBControls.SelectedIndex = 6; break;
|
|
|
|
|
case "bnDown": lBControls.SelectedIndex = 7; break;
|
|
|
|
|
case "bnLeft": lBControls.SelectedIndex = 8; break;
|
|
|
|
|
case "bnRight": lBControls.SelectedIndex = 9; break;
|
|
|
|
|
case "bnPS": lBControls.SelectedIndex = 10; break;
|
|
|
|
|
case "bnL1": lBControls.SelectedIndex = 11; break;
|
|
|
|
|
case "bnR1": lBControls.SelectedIndex = 12; break;
|
|
|
|
|
case "bnL2": lBControls.SelectedIndex = 13; break;
|
|
|
|
|
case "bnR2": lBControls.SelectedIndex = 14; break;
|
|
|
|
|
case "bnL3": lBControls.SelectedIndex = 15; break;
|
|
|
|
|
case "bnR3": lBControls.SelectedIndex = 16; break;
|
|
|
|
|
case "bnTouchLeft": lBControls.SelectedIndex = 17; break;
|
|
|
|
|
case "bnTouchRight": lBControls.SelectedIndex = 18; break;
|
|
|
|
|
case "bnTouchMulti": lBControls.SelectedIndex = 19; break;
|
|
|
|
|
case "bnTouchUpper": lBControls.SelectedIndex = 20; break;
|
|
|
|
|
case "bnLSUp": lBControls.SelectedIndex = 21; break;
|
|
|
|
|
case "bnLSDown": lBControls.SelectedIndex = 22; break;
|
|
|
|
|
case "bnLSLeft": lBControls.SelectedIndex = 23; break;
|
|
|
|
|
case "bnLSRight": lBControls.SelectedIndex = 24; break;
|
|
|
|
|
case "bnRSUp": lBControls.SelectedIndex = 25; break;
|
|
|
|
|
case "bnRSDown": lBControls.SelectedIndex = 26; break;
|
|
|
|
|
case "bnRSLeft": lBControls.SelectedIndex = 27; break;
|
|
|
|
|
case "bnRSRight": lBControls.SelectedIndex = 28; break;
|
|
|
|
|
case "bnGyroZN": lBControls.SelectedIndex = 29; break;
|
|
|
|
|
case "bnGyroZP": lBControls.SelectedIndex = 30; break;
|
|
|
|
|
case "bnGyroXP": lBControls.SelectedIndex = 31; break;
|
|
|
|
|
case "bnGyroXN": lBControls.SelectedIndex = 32; break;
|
|
|
|
|
|
|
|
|
|
case "bnSwipeUp": lBControls.SelectedIndex = 33; break;
|
|
|
|
|
case "bnSwipeDown": lBControls.SelectedIndex = 34; break;
|
|
|
|
|
case "bnSwipeLeft": lBControls.SelectedIndex = 35; break;
|
|
|
|
|
case "bnSwipeRight": lBControls.SelectedIndex = 36; break;
|
|
|
|
|
|
|
|
|
|
case "bnShiftCross": lBShiftControls.SelectedIndex = 0; break;
|
|
|
|
|
case "bnShiftCircle": lBShiftControls.SelectedIndex = 1; break;
|
|
|
|
|
case "bnShiftSquare": lBShiftControls.SelectedIndex = 2; break;
|
|
|
|
|
case "bnShiftTriangle": lBShiftControls.SelectedIndex = 3; break;
|
|
|
|
|
case "bnShiftOptions": lBShiftControls.SelectedIndex = 4; break;
|
|
|
|
|
case "bnShiftShare": lBShiftControls.SelectedIndex = 5; break;
|
|
|
|
|
case "bnShiftUp": lBShiftControls.SelectedIndex = 6; break;
|
|
|
|
|
case "bnShiftDown": lBShiftControls.SelectedIndex = 7; break;
|
|
|
|
|
case "bnShiftLeft": lBShiftControls.SelectedIndex = 8; break;
|
|
|
|
|
case "bnShiftRight": lBShiftControls.SelectedIndex = 9; break;
|
|
|
|
|
case "bnShiftPS": lBShiftControls.SelectedIndex = 10; break;
|
|
|
|
|
case "bnShiftL1": lBShiftControls.SelectedIndex = 11; break;
|
|
|
|
|
case "bnShiftR1": lBShiftControls.SelectedIndex = 12; break;
|
|
|
|
|
case "bnShiftL2": lBShiftControls.SelectedIndex = 13; break;
|
|
|
|
|
case "bnShiftR2": lBShiftControls.SelectedIndex = 14; break;
|
|
|
|
|
case "bnShiftL3": lBShiftControls.SelectedIndex = 15; break;
|
|
|
|
|
case "bnShiftR3": lBShiftControls.SelectedIndex = 16; break;
|
|
|
|
|
case "bnShiftTouchLeft": lBShiftControls.SelectedIndex = 17; break;
|
|
|
|
|
case "bnShiftTouchRight": lBShiftControls.SelectedIndex = 18; break;
|
|
|
|
|
case "bnShiftTouchMulti": lBShiftControls.SelectedIndex = 19; break;
|
|
|
|
|
case "bnShiftTouchUpper": lBShiftControls.SelectedIndex = 20; break;
|
|
|
|
|
case "bnShiftLSUp": lBShiftControls.SelectedIndex = 21; break;
|
|
|
|
|
case "bnShiftLSDown": lBShiftControls.SelectedIndex = 22; break;
|
|
|
|
|
case "bnShiftLSLeft": lBShiftControls.SelectedIndex = 23; break;
|
|
|
|
|
case "bnShiftLSRight": lBShiftControls.SelectedIndex = 24; break;
|
|
|
|
|
case "bnShiftRSUp": lBShiftControls.SelectedIndex = 25; break;
|
|
|
|
|
case "bnShiftRSDown": lBShiftControls.SelectedIndex = 26; break;
|
|
|
|
|
case "bnShiftRSLeft": lBShiftControls.SelectedIndex = 27; break;
|
|
|
|
|
case "bnShiftRSRight": lBShiftControls.SelectedIndex = 28; break;
|
|
|
|
|
case "bnShiftGyroZN": lBShiftControls.SelectedIndex = 29; break;
|
|
|
|
|
case "bnShiftGyroZP": lBShiftControls.SelectedIndex = 30; break;
|
|
|
|
|
case "bnShiftGyroXP": lBShiftControls.SelectedIndex = 31; break;
|
|
|
|
|
case "bnShiftGyroXN": lBShiftControls.SelectedIndex = 32; break;
|
|
|
|
|
|
|
|
|
|
case "bnShiftSwipeUp": lBShiftControls.SelectedIndex = 33; break;
|
|
|
|
|
case "bnShiftSwipeDown": lBShiftControls.SelectedIndex = 34; break;
|
|
|
|
|
case "bnShiftSwipeLeft": lBShiftControls.SelectedIndex = 35; break;
|
|
|
|
|
case "bnShiftSwipeRight": lBShiftControls.SelectedIndex = 36; break;
|
2014-05-19 07:55:12 +02:00
|
|
|
|
#endregion
|
2014-05-14 09:12:15 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-03-28 02:50:40 +01:00
|
|
|
|
private void SetDynamicTrackBarValue(TrackBar trackBar, int value)
|
|
|
|
|
{
|
|
|
|
|
if (trackBar.Maximum < value)
|
|
|
|
|
trackBar.Maximum = value;
|
|
|
|
|
else if (trackBar.Minimum > value)
|
|
|
|
|
trackBar.Minimum = value;
|
|
|
|
|
trackBar.Value = value;
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-02 19:29:38 +02:00
|
|
|
|
public void Set()
|
2014-05-12 07:48:50 +02:00
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlLowBattery.Visible = cBLightbyBattery.Checked;
|
2014-08-17 00:09:15 +02:00
|
|
|
|
lbFull.Text = (cBLightbyBattery.Checked ? Properties.Resources.Full + ":": Properties.Resources.Color + ":");
|
2015-02-08 22:51:52 +01:00
|
|
|
|
pnlFull.Location = new Point(pnlFull.Location.X, (cBLightbyBattery.Checked ? (int)(dpix * 42) : (pnlFull.Location.Y + pnlLowBattery.Location.Y) / 2));
|
|
|
|
|
Global.MainColor[device] = new DS4Color((byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
|
|
|
|
|
Global.LowColor[device] = new DS4Color((byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
|
|
|
|
|
Global.ShiftColor[device] = new DS4Color((byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
|
|
|
|
|
Global.FlashType[device] = (byte)cBFlashType.SelectedIndex;
|
|
|
|
|
if (btnFlashColor.BackColor != pBController.BackColor)
|
|
|
|
|
Global.FlashColor[device] = new DS4Color(btnFlashColor.BackColor);
|
|
|
|
|
else
|
|
|
|
|
Global.FlashColor[device] = new DS4Color(Color.Black);
|
|
|
|
|
Global.L2Deadzone[device] = (byte)Math.Round((nUDL2.Value * 255), 0);
|
|
|
|
|
Global.R2Deadzone[device] = (byte)Math.Round((nUDR2.Value * 255), 0);
|
|
|
|
|
Global.RumbleBoost[device] = (byte)nUDRumbleBoost.Value;
|
|
|
|
|
Global.TouchSensitivity[device] = (byte)nUDTouch.Value;
|
|
|
|
|
Global.TouchpadJitterCompensation[device] = cBTouchpadJitterCompensation.Checked;
|
|
|
|
|
Global.LowerRCOn[device] = cBlowerRCOn.Checked;
|
|
|
|
|
Global.ScrollSensitivity[device] = (byte)nUDScroll.Value;
|
|
|
|
|
Global.DoubleTap[device] = cBDoubleTap.Checked;
|
|
|
|
|
Global.TapSensitivity[device] = (byte)nUDTap.Value;
|
|
|
|
|
Global.IdleDisconnectTimeout[device] = (int)(nUDIdleDisconnect.Value * 60);
|
|
|
|
|
Global.Rainbow[device] = (int)nUDRainbow.Value;
|
|
|
|
|
Global.RSDeadzone[device] = (byte)Math.Round((nUDRS.Value * 127), 0);
|
|
|
|
|
Global.LSDeadzone[device] = (byte)Math.Round((nUDLS.Value * 127), 0);
|
|
|
|
|
Global.ButtonMouseSensitivity[device] = (int)numUDMouseSens.Value;
|
|
|
|
|
Global.FlashAt[device] = (int)nUDflashLED.Value;
|
|
|
|
|
Global.SXDeadzone[device] = (double)nUDSX.Value;
|
|
|
|
|
Global.SZDeadzone[device] = (double)nUDSZ.Value;
|
|
|
|
|
Global.MouseAccel[device] = cBMouseAccel.Checked;
|
|
|
|
|
Global.ShiftModifier[device] = cBShiftControl.SelectedIndex;
|
|
|
|
|
Global.DinputOnly[device] = cBDinput.Checked;
|
|
|
|
|
Global.StartTouchpadOff[device] = cbStartTouchpadOff.Checked;
|
|
|
|
|
Global.UseTPforControls[device] = cBTPforControls.Checked;
|
|
|
|
|
Global.DS4Mapping = cBControllerInput.Checked;
|
|
|
|
|
Global.LSCurve[device] = (int)Math.Round(nUDLSCurve.Value, 0);
|
|
|
|
|
Global.RSCurve[device] = (int)Math.Round(nUDRSCurve.Value, 0);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
List<string> pactions = new List<string>();
|
|
|
|
|
foreach (ListViewItem lvi in lVActions.Items)
|
|
|
|
|
if (lvi.Checked)
|
|
|
|
|
pactions.Add(lvi.Text);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ProfileActions[device] = pactions;
|
2014-11-15 22:54:14 +01:00
|
|
|
|
gBTouchpad.Enabled = !cBTPforControls.Checked;
|
|
|
|
|
if (cBTPforControls.Checked)
|
|
|
|
|
tabControls.Size = new Size(tabControls.Size.Width, (int)(282 * dpiy));
|
|
|
|
|
else
|
|
|
|
|
tabControls.Size = new Size(tabControls.Size.Width, (int)(242 * dpiy));
|
2014-06-09 01:41:36 +02:00
|
|
|
|
if (nUDRainbow.Value == 0) pBRainbow.Image = greyscale;
|
2014-05-12 07:48:50 +02:00
|
|
|
|
else pBRainbow.Image = colored;
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
KBM360 kbm360 = null;
|
|
|
|
|
|
|
|
|
|
private void Show_ControlsBn(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
lastSelected = (Button)sender;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
kbm360 = new KBM360(device, this, lastSelected);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
kbm360.Icon = this.Icon;
|
|
|
|
|
kbm360.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
|
2014-12-02 01:07:29 +01:00
|
|
|
|
public void ChangeButtonText(string controlname, KeyValuePair<object, string> tag)
|
2014-04-27 21:32:09 +02:00
|
|
|
|
{
|
|
|
|
|
lastSelected.Text = controlname;
|
|
|
|
|
int value;
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (tag.Key == null)
|
2014-05-28 04:49:58 +02:00
|
|
|
|
lastSelected.Tag = tag;
|
2014-12-02 01:07:29 +01:00
|
|
|
|
else if (Int32.TryParse(tag.Key.ToString(), out value))
|
|
|
|
|
lastSelected.Tag = new KeyValuePair<int, string>(value, tag.Value);
|
|
|
|
|
else if (tag.Key is Int32[])
|
|
|
|
|
lastSelected.Tag = new KeyValuePair<Int32[], string>((Int32[])tag.Key, tag.Value);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
else
|
2014-12-02 01:07:29 +01:00
|
|
|
|
lastSelected.Tag = new KeyValuePair<string, string>(tag.Key.ToString(), tag.Value);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-12-17 19:29:22 +01:00
|
|
|
|
public void ChangeButtonText(string controlname, KeyValuePair<object, string> tag, System.Windows.Forms.Control ctrl)
|
|
|
|
|
{
|
|
|
|
|
if (ctrl is Button)
|
|
|
|
|
{
|
|
|
|
|
Button btn = (Button)ctrl;
|
|
|
|
|
btn.Text = controlname;
|
|
|
|
|
int value;
|
|
|
|
|
if (tag.Key == null)
|
|
|
|
|
btn.Tag = tag;
|
|
|
|
|
else if (Int32.TryParse(tag.Key.ToString(), out value))
|
|
|
|
|
btn.Tag = new KeyValuePair<int, string>(value, tag.Value);
|
|
|
|
|
else if (tag.Key is Int32[])
|
|
|
|
|
btn.Tag = new KeyValuePair<Int32[], string>((Int32[])tag.Key, tag.Value);
|
|
|
|
|
else
|
|
|
|
|
btn.Tag = new KeyValuePair<string, string>(tag.Key.ToString(), tag.Value);
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-04-27 21:32:09 +02:00
|
|
|
|
public void ChangeButtonText(string controlname)
|
|
|
|
|
{
|
|
|
|
|
lastSelected.Text = controlname;
|
|
|
|
|
lastSelected.Tag = controlname;
|
|
|
|
|
}
|
2014-12-17 19:29:22 +01:00
|
|
|
|
|
2014-06-14 21:14:27 +02:00
|
|
|
|
public void Toggle_Bn(bool SC, bool TG, bool MC, bool MR)
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (lastSelected.Tag is KeyValuePair<int, string> || lastSelected.Tag is KeyValuePair<UInt16, string> || lastSelected.Tag is KeyValuePair<int[], string>)
|
2014-06-14 21:14:27 +02:00
|
|
|
|
lastSelected.Font = new Font(lastSelected.Font,
|
|
|
|
|
(SC ? FontStyle.Bold : FontStyle.Regular) | (TG ? FontStyle.Italic : FontStyle.Regular) |
|
|
|
|
|
(MC ? FontStyle.Underline : FontStyle.Regular) | (MR ? FontStyle.Strikeout : FontStyle.Regular));
|
2014-12-02 01:07:29 +01:00
|
|
|
|
else if (lastSelected.Tag is KeyValuePair<string, string>)
|
2014-05-28 04:49:58 +02:00
|
|
|
|
if (lastSelected.Tag.ToString().Contains("Mouse Button"))
|
|
|
|
|
lastSelected.Font = new Font(lastSelected.Font, TG ? FontStyle.Italic : FontStyle.Regular);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
else
|
|
|
|
|
lastSelected.Font = new Font(lastSelected.Font, FontStyle.Regular);
|
|
|
|
|
}
|
2014-12-17 19:29:22 +01:00
|
|
|
|
public void Toggle_Bn(bool SC, bool TG, bool MC, bool MR, System.Windows.Forms.Control ctrl)
|
|
|
|
|
{
|
|
|
|
|
if (ctrl is Button)
|
|
|
|
|
{
|
|
|
|
|
Button btn = (Button)ctrl;
|
|
|
|
|
if (btn.Tag is KeyValuePair<int, string> || btn.Tag is KeyValuePair<UInt16, string> || btn.Tag is KeyValuePair<int[], string>)
|
|
|
|
|
btn.Font = new Font(btn.Font,
|
|
|
|
|
(SC ? FontStyle.Bold : FontStyle.Regular) | (TG ? FontStyle.Italic : FontStyle.Regular) |
|
|
|
|
|
(MC ? FontStyle.Underline : FontStyle.Regular) | (MR ? FontStyle.Strikeout : FontStyle.Regular));
|
|
|
|
|
else if (btn.Tag is KeyValuePair<string, string>)
|
|
|
|
|
if (btn.Tag.ToString().Contains("Mouse Button"))
|
|
|
|
|
btn.Font = new Font(btn.Font, TG ? FontStyle.Italic : FontStyle.Regular);
|
|
|
|
|
else
|
|
|
|
|
btn.Font = new Font(btn.Font, FontStyle.Regular);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void btnSticks_Enter(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlSticks.Visible = true;
|
|
|
|
|
pnlMain.Visible = false;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-05-12 07:48:50 +02:00
|
|
|
|
|
|
|
|
|
private void btnFullView_Click(object sender, EventArgs e)
|
2014-04-27 21:32:09 +02:00
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlSticks.Visible = false;
|
|
|
|
|
pnlMain.Visible = true;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
|
2014-11-01 22:49:22 +01:00
|
|
|
|
private void btnShiftSticks_Enter(object sender, EventArgs e)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlShiftSticks.Visible = true;
|
|
|
|
|
pnlShiftMain.Visible = false;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-11-01 22:49:22 +01:00
|
|
|
|
private void btnShiftFullView_Click(object sender, EventArgs e)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlShiftSticks.Visible = false;
|
|
|
|
|
pnlShiftMain.Visible = true;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void btnLightbar_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-10-21 04:31:13 +02:00
|
|
|
|
advColorDialog.Color = Color.FromArgb(tBRedBar.Value, tBGreenBar.Value, tBBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
advColorDialog_OnUpdateColor(pBController.BackColor, e);
|
|
|
|
|
if (advColorDialog.ShowDialog() == DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
pBController.BackColor = advColorDialog.Color;
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBRedBar.Value = advColorDialog.Color.R;
|
|
|
|
|
tBGreenBar.Value = advColorDialog.Color.G;
|
|
|
|
|
tBBlueBar.Value = advColorDialog.Color.B;
|
2014-05-12 07:48:50 +02:00
|
|
|
|
}
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (device < 4)
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4LightBar.forcelight[device] = false;
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
2014-05-12 07:48:50 +02:00
|
|
|
|
private void lowColorChooserButton_Click(object sender, EventArgs e)
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
advColorDialog.Color = lowColorChooserButton.BackColor;
|
|
|
|
|
advColorDialog_OnUpdateColor(lowColorChooserButton.BackColor, e);
|
|
|
|
|
if (advColorDialog.ShowDialog() == DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
lowColorChooserButton.BackColor = advColorDialog.Color;
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBLowRedBar.Value = advColorDialog.Color.R;
|
|
|
|
|
tBLowGreenBar.Value = advColorDialog.Color.G;
|
|
|
|
|
tBLowBlueBar.Value = advColorDialog.Color.B;
|
2014-05-12 07:48:50 +02:00
|
|
|
|
}
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (device < 4)
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4LightBar.forcelight[device] = false;
|
2014-06-02 19:29:38 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void btnChargingColor_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
advColorDialog.Color = btnChargingColor.BackColor;
|
|
|
|
|
advColorDialog_OnUpdateColor(btnChargingColor.BackColor, e);
|
|
|
|
|
if (advColorDialog.ShowDialog() == DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
btnChargingColor.BackColor = advColorDialog.Color;
|
|
|
|
|
}
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (device < 4)
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4LightBar.forcelight[device] = false;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
2014-05-12 07:48:50 +02:00
|
|
|
|
private void advColorDialog_OnUpdateColor(object sender, EventArgs e)
|
2014-04-30 21:32:44 +02:00
|
|
|
|
{
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (sender is Color && device < 4)
|
2014-05-12 07:48:50 +02:00
|
|
|
|
{
|
|
|
|
|
Color color = (Color)sender;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B };
|
|
|
|
|
DS4LightBar.forcedColor[device] = dcolor;
|
|
|
|
|
DS4LightBar.forcedFlash[device] = 0;
|
|
|
|
|
DS4LightBar.forcelight[device] = true;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int bgc = 255; //Color of the form background, If greyscale color
|
2014-03-28 02:50:40 +01:00
|
|
|
|
private void redBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
int value = ((TrackBar)sender).Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBRedBar.Value, Math.Max(tBGreenBar.Value, tBBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBRedBar.Value, tBGreenBar.Value, tBBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
|
|
|
|
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.MainColor[device] = new DS4Color((byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
2014-11-14 20:44:50 +01:00
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(dpix * 100), 0, 2000);
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
private void greenBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
int value = ((TrackBar)sender).Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBRedBar.Value, Math.Max(tBGreenBar.Value, tBBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBRedBar.Value, tBGreenBar.Value, tBBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
|
|
|
|
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.MainColor[device] = new DS4Color((byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
2014-11-14 20:44:50 +01:00
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100*dpix), 0, 2000);
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
private void blueBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
int value = ((TrackBar)sender).Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBRedBar.Value, Math.Max(tBGreenBar.Value, tBBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBRedBar.Value, tBGreenBar.Value, tBBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
|
|
|
|
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.MainColor[device] = new DS4Color((byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void lowRedBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
int value = ((TrackBar)sender).Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBLowRedBar.Value, Math.Max(tBLowGreenBar.Value, tBLowBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBLowRedBar.Value, tBLowGreenBar.Value, tBLowBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LowColor[device] = new DS4Color((byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void lowGreenBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
int value = ((TrackBar)sender).Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBLowRedBar.Value, Math.Max(tBLowGreenBar.Value, tBLowBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBLowRedBar.Value, tBLowGreenBar.Value, tBLowBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LowColor[device] = new DS4Color((byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void lowBlueBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
int value = ((TrackBar)sender).Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBLowRedBar.Value, Math.Max(tBLowGreenBar.Value, tBLowBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBLowRedBar.Value, tBLowGreenBar.Value, tBLowBlueBar.Value);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-04-30 21:32:44 +02:00
|
|
|
|
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LowColor[device] = new DS4Color((byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-07-26 01:17:45 +02:00
|
|
|
|
private void shiftRedBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
int value = ((TrackBar)sender).Value;
|
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBShiftRedBar.Value, Math.Max(tBShiftGreenBar.Value, tBShiftBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBShiftRedBar.Value, tBShiftGreenBar.Value, tBShiftBlueBar.Value);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ShiftColor[device] = new DS4Color((byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void shiftGreenBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
int value = ((TrackBar)sender).Value;
|
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBShiftRedBar.Value, Math.Max(tBShiftGreenBar.Value, tBShiftBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBShiftRedBar.Value, tBShiftGreenBar.Value, tBShiftBlueBar.Value);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ShiftColor[device] = new DS4Color((byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void shiftBlueBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
int value = ((TrackBar)sender).Value;
|
|
|
|
|
int sat = bgc - (value < bgc ? value : bgc);
|
|
|
|
|
int som = bgc + 11 * (int)(value * 0.0039215);
|
|
|
|
|
((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som);
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBShiftRedBar.Value, Math.Max(tBShiftGreenBar.Value, tBShiftBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBShiftRedBar.Value, tBShiftGreenBar.Value, tBShiftBlueBar.Value);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ShiftColor[device] = new DS4Color((byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-05-12 07:48:50 +02:00
|
|
|
|
public Color HuetoRGB(float hue, float light, Color rgb)
|
|
|
|
|
{
|
|
|
|
|
float L = (float)Math.Max(.5, light);
|
|
|
|
|
float C = (1 - Math.Abs(2 * L - 1));
|
|
|
|
|
float X = (C * (1 - Math.Abs((hue / 60) % 2 - 1)));
|
|
|
|
|
float m = L - C / 2;
|
|
|
|
|
float R =0, G=0, B=0;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (light == 1) return Color.White;
|
|
|
|
|
else if (rgb.R == rgb.G && rgb.G == rgb.B) return Color.White;
|
2014-05-12 07:48:50 +02:00
|
|
|
|
else if (0 <= hue && hue < 60) { R = C; G = X; }
|
|
|
|
|
else if (60 <= hue && hue < 120) { R = X; G = C; }
|
|
|
|
|
else if (120 <= hue && hue < 180) { G = C; B = X; }
|
|
|
|
|
else if (180 <= hue && hue < 240) { G = X; B = C; }
|
|
|
|
|
else if (240 <= hue && hue < 300) { R = X; B = C; }
|
|
|
|
|
else if (300 <= hue && hue < 360) { R = C; B = X; }
|
|
|
|
|
return Color.FromArgb((int)((R + m) * 255), (int)((G + m) * 255), (int)((B + m) * 255));
|
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
private void rumbleBoostBar_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.RumbleBoost[device] = (byte)nUDRumbleBoost.Value;
|
2014-11-18 22:23:41 +01:00
|
|
|
|
byte h = (byte)Math.Min(255, (255 * nUDRumbleBoost.Value / 100));
|
|
|
|
|
byte l = (byte)Math.Min(255, (255 * nUDRumbleBoost.Value / 100));
|
|
|
|
|
bool hB = btnRumbleHeavyTest.Text == Properties.Resources.TestLText;
|
|
|
|
|
bool lB = btnRumbleLightTest.Text == Properties.Resources.TestLText;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
Program.rootHub.setRumble((byte)(hB ? h : 0), (byte)(lB ? l : 0), device);
|
2014-05-05 09:42:05 +02:00
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
|
2014-11-18 22:23:41 +01:00
|
|
|
|
private void btnRumbleHeavyTest_Click(object sender, EventArgs e)
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
2014-12-13 21:12:03 +01:00
|
|
|
|
DS4Device d = Program.rootHub.DS4Controllers[(int)nUDSixaxis.Value - 1];
|
2015-02-08 22:51:52 +01:00
|
|
|
|
if (d != null)
|
|
|
|
|
if (((Button)sender).Text == Properties.Resources.TestHText)
|
|
|
|
|
{
|
|
|
|
|
Program.rootHub.setRumble((byte)Math.Min(255, (255 * nUDRumbleBoost.Value / 100)), d.RightLightFastRumble, (int)nUDSixaxis.Value - 1);
|
|
|
|
|
((Button)sender).Text = Properties.Resources.StopHText;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Program.rootHub.setRumble(0, d.RightLightFastRumble, (int)nUDSixaxis.Value - 1);
|
|
|
|
|
((Button)sender).Text = Properties.Resources.TestHText;
|
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
|
2014-11-18 22:23:41 +01:00
|
|
|
|
private void btnRumbleLightTest_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-12-13 21:12:03 +01:00
|
|
|
|
DS4Device d = Program.rootHub.DS4Controllers[(int)nUDSixaxis.Value - 1];
|
2015-02-08 22:51:52 +01:00
|
|
|
|
if (d != null)
|
|
|
|
|
if (((Button)sender).Text == Properties.Resources.TestLText)
|
|
|
|
|
{
|
|
|
|
|
Program.rootHub.setRumble(d.LeftHeavySlowRumble, (byte)Math.Min(255, (255 * nUDRumbleBoost.Value / 100)), (int)nUDSixaxis.Value - 1);
|
|
|
|
|
((Button)sender).Text = Properties.Resources.StopLText;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Program.rootHub.setRumble(d.LeftHeavySlowRumble, 0, (int)nUDSixaxis.Value - 1);
|
|
|
|
|
((Button)sender).Text = Properties.Resources.TestLText;
|
|
|
|
|
}
|
2014-11-18 22:23:41 +01:00
|
|
|
|
}
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void numUDTouch_ValueChanged(object sender, EventArgs e)
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.TouchSensitivity[device] = (byte)nUDTouch.Value;
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void numUDTap_ValueChanged(object sender, EventArgs e)
|
2014-03-28 02:50:40 +01:00
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.TapSensitivity[device] = (byte)nUDTap.Value;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void numUDScroll_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ScrollSensitivity[device] = (int)nUDScroll.Value;
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
private void ledAsBatteryIndicator_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LedAsBatteryIndicator[device] = cBLightbyBattery.Checked;
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlLowBattery.Visible = cBLightbyBattery.Checked;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
pnlFull.Location = new Point(pnlFull.Location.X, (cBLightbyBattery.Checked ? (int)(dpix * 42) : (pnlFull.Location.Y + pnlLowBattery.Location.Y) / 2));
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
lbFull.Text = (cBLightbyBattery.Checked ? Properties.Resources.Full + ":" : Properties.Resources.Color + ":");
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
2014-05-24 04:30:43 +02:00
|
|
|
|
|
2014-03-28 02:50:40 +01:00
|
|
|
|
private void lowerRCOffCheckBox_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LowerRCOn[device] = cBlowerRCOn.Checked;
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void touchpadJitterCompensation_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.TouchpadJitterCompensation[device] = cBTouchpadJitterCompensation.Checked;
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
2014-05-12 07:48:50 +02:00
|
|
|
|
|
2014-03-28 02:50:40 +01:00
|
|
|
|
private void flushHIDQueue_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.FlushHIDQueue[device] = cBFlushHIDQueue.Checked;
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|
|
|
|
|
|
2014-06-09 01:41:36 +02:00
|
|
|
|
private void nUDIdleDisconnect_ValueChanged(object sender, EventArgs e)
|
2014-04-27 21:32:09 +02:00
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.IdleDisconnectTimeout[device] = (int)(nUDIdleDisconnect.Value * 60);
|
2014-06-09 01:41:36 +02:00
|
|
|
|
//if (nUDIdleDisconnect.Value == 0)
|
|
|
|
|
//cBIdleDisconnect.Checked = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBIdleDisconnect_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (cBIdleDisconnect.Checked)
|
|
|
|
|
nUDIdleDisconnect.Value = 5;
|
|
|
|
|
else
|
|
|
|
|
nUDIdleDisconnect.Value = 0;
|
|
|
|
|
nUDIdleDisconnect.Enabled = cBIdleDisconnect.Checked;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void Options_Closed(object sender, FormClosedEventArgs e)
|
|
|
|
|
{
|
2014-04-30 05:54:41 +02:00
|
|
|
|
for (int i = 0; i < 4; i++)
|
2014-12-13 21:12:03 +01:00
|
|
|
|
Global.LoadProfile(i, false, Program.rootHub); //Refreshes all profiles in case other controllers are using the same profile
|
2014-08-23 22:52:20 +02:00
|
|
|
|
if (olddinputcheck != cBDinput.Checked)
|
|
|
|
|
{
|
|
|
|
|
root.btnStartStop_Clicked(false);
|
|
|
|
|
root.btnStartStop_Clicked(false);
|
|
|
|
|
}
|
2014-11-18 22:23:41 +01:00
|
|
|
|
if (btnRumbleHeavyTest.Text == Properties.Resources.StopText)
|
2014-12-13 21:12:03 +01:00
|
|
|
|
Program.rootHub.setRumble(0, 0, (int)nUDSixaxis.Value - 1);
|
2014-05-30 22:39:39 +02:00
|
|
|
|
inputtimer.Stop();
|
|
|
|
|
sixaxisTimer.Stop();
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-05-12 07:48:50 +02:00
|
|
|
|
private void cBSlide_CheckedChanged(object sender, EventArgs e)
|
2014-04-27 21:32:09 +02:00
|
|
|
|
{
|
|
|
|
|
if (cBSlide.Checked)
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDTouch.Value = 100;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
else
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDTouch.Value = 0;
|
|
|
|
|
nUDTouch.Enabled = cBSlide.Checked;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBScroll_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (cBScroll.Checked)
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDScroll.Value = 5;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
else
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDScroll.Value = 0;
|
|
|
|
|
nUDScroll.Enabled = cBScroll.Checked;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBTap_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (cBTap.Checked)
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDTap.Value = 100;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
else
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDTap.Value = 0;
|
|
|
|
|
nUDTap.Enabled = cBTap.Checked;
|
2014-05-12 07:48:50 +02:00
|
|
|
|
cBDoubleTap.Enabled = cBTap.Checked;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-04-29 03:14:01 +02:00
|
|
|
|
private void cBDoubleTap_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.DoubleTap[device] = cBDoubleTap.Checked;
|
2014-04-29 03:14:01 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
public void UpdateLists()
|
|
|
|
|
{
|
2014-12-17 19:29:22 +01:00
|
|
|
|
lBControls.Items[0] = "Cross : " + UpdateRegButtonList(bnCross);
|
|
|
|
|
lBControls.Items[1] = "Circle : " + UpdateRegButtonList(bnCircle);
|
|
|
|
|
lBControls.Items[2] = "Square : " + UpdateRegButtonList(bnSquare);
|
|
|
|
|
lBControls.Items[3] = "Triangle : " + UpdateRegButtonList(bnTriangle);
|
|
|
|
|
lBControls.Items[4] = "Options : " + UpdateRegButtonList(bnOptions);
|
|
|
|
|
lBControls.Items[5] = "Share : " + UpdateRegButtonList(bnShare);
|
|
|
|
|
lBControls.Items[6] = "Up : " + UpdateRegButtonList(bnUp);
|
|
|
|
|
lBControls.Items[7] = "Down : " + UpdateRegButtonList(bnDown);
|
|
|
|
|
lBControls.Items[8] = "Left : " + UpdateRegButtonList(bnLeft);
|
|
|
|
|
lBControls.Items[9] = "Right : " + UpdateRegButtonList(bnRight);
|
|
|
|
|
lBControls.Items[10] = "PS : " + UpdateRegButtonList(bnPS);
|
|
|
|
|
lBControls.Items[11] = "L1 : " + UpdateRegButtonList(bnL1);
|
|
|
|
|
lBControls.Items[12] = "R1 : " + UpdateRegButtonList(bnR1);
|
|
|
|
|
lBControls.Items[13] = "L2 : " + UpdateRegButtonList(bnL2);
|
|
|
|
|
lBControls.Items[14] = "R2 : " + UpdateRegButtonList(bnR2);
|
|
|
|
|
lBControls.Items[15] = "L3 : " + UpdateRegButtonList(bnL3);
|
|
|
|
|
lBControls.Items[16] = "R3 : " + UpdateRegButtonList(bnR3);
|
|
|
|
|
lBControls.Items[17] = "Left Touch : " + UpdateRegButtonList(bnTouchLeft);
|
|
|
|
|
lBControls.Items[18] = "Right Touch : " + UpdateRegButtonList(bnTouchRight);
|
|
|
|
|
lBControls.Items[19] = "Multitouch : " + UpdateRegButtonList(bnTouchMulti);
|
|
|
|
|
lBControls.Items[20] = "Upper Touch : " + UpdateRegButtonList(bnTouchUpper);
|
|
|
|
|
lBControls.Items[21] = "LS Up : " + UpdateRegButtonList(bnLSUp);
|
|
|
|
|
lBControls.Items[22] = "LS Down : " + UpdateRegButtonList(bnLSDown);
|
|
|
|
|
lBControls.Items[23] = "LS Left : " + UpdateRegButtonList(bnLSLeft);
|
|
|
|
|
lBControls.Items[24] = "LS Right : " + UpdateRegButtonList(bnLSRight);
|
|
|
|
|
lBControls.Items[25] = "RS Up : " + UpdateRegButtonList(bnRSUp);
|
|
|
|
|
lBControls.Items[26] = "RS Down : " + UpdateRegButtonList(bnRSDown);
|
|
|
|
|
lBControls.Items[27] = "RS Left : " + UpdateRegButtonList(bnRSLeft);
|
|
|
|
|
lBControls.Items[28] = "RS Right : " + UpdateRegButtonList(bnRSRight);
|
2014-11-15 22:54:14 +01:00
|
|
|
|
lBControls.Items[29] = Properties.Resources.TiltUp + " : " + UpdateRegButtonList(bnGyroZN);
|
|
|
|
|
lBControls.Items[30] = Properties.Resources.TiltDown + " : " + UpdateRegButtonList(bnGyroZP);
|
|
|
|
|
lBControls.Items[31] = Properties.Resources.TiltLeft + " : " + UpdateRegButtonList(bnGyroXP);
|
|
|
|
|
lBControls.Items[32] = Properties.Resources.TiltRight + " : " + UpdateRegButtonList(bnGyroXN);
|
2014-09-15 04:37:14 +02:00
|
|
|
|
bnGyroZN.Text = Properties.Resources.TiltUp;
|
|
|
|
|
bnGyroZP.Text = Properties.Resources.TiltDown;
|
|
|
|
|
bnGyroXP.Text = Properties.Resources.TiltLeft;
|
|
|
|
|
bnGyroXN.Text = Properties.Resources.TiltRight;
|
2014-11-15 22:54:14 +01:00
|
|
|
|
if (lBControls.Items.Count > 33)
|
|
|
|
|
{
|
|
|
|
|
lBControls.Items[33] = Properties.Resources.SwipeUp + " : " + UpdateRegButtonList(bnSwipeUp);
|
|
|
|
|
lBControls.Items[34] = Properties.Resources.SwipeDown + " : " + UpdateRegButtonList(bnSwipeDown);
|
|
|
|
|
lBControls.Items[35] = Properties.Resources.SwipeLeft + " : " + UpdateRegButtonList(bnSwipeLeft);
|
|
|
|
|
lBControls.Items[36] = Properties.Resources.SwipeRight + " : " + UpdateRegButtonList(bnSwipeRight);
|
|
|
|
|
bnSwipeUp.Text = Properties.Resources.SwipeUp;
|
|
|
|
|
bnSwipeDown.Text = Properties.Resources.SwipeDown;
|
|
|
|
|
bnSwipeLeft.Text = Properties.Resources.SwipeLeft;
|
|
|
|
|
bnSwipeRight.Text = Properties.Resources.SwipeRight;
|
|
|
|
|
}
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
|
2014-12-17 19:29:22 +01:00
|
|
|
|
/*foreach (Button b in subbuttons)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (b.Tag == null)
|
2014-12-17 19:29:22 +01:00
|
|
|
|
b.Text = "Fall Back to " + ((Button)Controls.Find(b.Name.Remove(2,5), true)[0]).Text;*/
|
|
|
|
|
lBShiftControls.Items[0] = "Cross : " + UpdateRegButtonList(bnShiftCross);
|
|
|
|
|
lBShiftControls.Items[1] = "Circle : " + UpdateRegButtonList(bnShiftCircle);
|
|
|
|
|
lBShiftControls.Items[2] = "Square : " + UpdateRegButtonList(bnShiftSquare);
|
|
|
|
|
lBShiftControls.Items[3] = "Triangle : " + UpdateRegButtonList(bnShiftTriangle);
|
|
|
|
|
lBShiftControls.Items[4] = "Options : " + UpdateRegButtonList(bnShiftOptions);
|
|
|
|
|
lBShiftControls.Items[5] = "Share : " + UpdateRegButtonList(bnShiftShare);
|
|
|
|
|
lBShiftControls.Items[6] = "Up : " + UpdateRegButtonList(bnShiftUp);
|
|
|
|
|
lBShiftControls.Items[7] = "Down : " + UpdateRegButtonList(bnShiftDown);
|
|
|
|
|
lBShiftControls.Items[8] = "Left : " + UpdateRegButtonList(bnShiftLeft);
|
|
|
|
|
lBShiftControls.Items[9] = "Right : " + UpdateRegButtonList(bnShiftRight);
|
|
|
|
|
lBShiftControls.Items[10] = "PS : " + UpdateRegButtonList(bnShiftPS);
|
|
|
|
|
lBShiftControls.Items[11] = "L1 : " + UpdateRegButtonList(bnShiftL1);
|
|
|
|
|
lBShiftControls.Items[12] = "R1 : " + UpdateRegButtonList(bnShiftR1);
|
|
|
|
|
lBShiftControls.Items[13] = "L2 : " + UpdateRegButtonList(bnShiftL2);
|
|
|
|
|
lBShiftControls.Items[14] = "R2 : " + UpdateRegButtonList(bnShiftR2);
|
|
|
|
|
lBShiftControls.Items[15] = "L3 : " + UpdateRegButtonList(bnShiftL3);
|
|
|
|
|
lBShiftControls.Items[16] = "R3 : " + UpdateRegButtonList(bnShiftR3);
|
|
|
|
|
lBShiftControls.Items[17] = "Left Touch : " + UpdateRegButtonList(bnShiftTouchLeft);
|
|
|
|
|
lBShiftControls.Items[18] = "Right Touch : " + UpdateRegButtonList(bnShiftTouchRight);
|
|
|
|
|
lBShiftControls.Items[19] = "Multitouch : " + UpdateRegButtonList(bnShiftTouchMulti);
|
|
|
|
|
lBShiftControls.Items[20] = "Upper Touch : " + UpdateRegButtonList(bnShiftTouchUpper);
|
|
|
|
|
lBShiftControls.Items[21] = "LS Up : " + UpdateRegButtonList(bnShiftLSUp);
|
|
|
|
|
lBShiftControls.Items[22] = "LS Down : " + UpdateRegButtonList(bnShiftLSDown);
|
|
|
|
|
lBShiftControls.Items[23] = "LS Left : " + UpdateRegButtonList(bnShiftLSLeft);
|
|
|
|
|
lBShiftControls.Items[24] = "LS Right : " + UpdateRegButtonList(bnShiftLSRight);
|
|
|
|
|
lBShiftControls.Items[25] = "RS Up : " + UpdateRegButtonList(bnShiftRSUp);
|
|
|
|
|
lBShiftControls.Items[26] = "RS Down : " + UpdateRegButtonList(bnShiftRSDown);
|
|
|
|
|
lBShiftControls.Items[27] = "RS Left : " + UpdateRegButtonList(bnShiftRSLeft);
|
|
|
|
|
lBShiftControls.Items[28] = "RS Right : " + UpdateRegButtonList(bnShiftRSRight);
|
2014-11-15 22:54:14 +01:00
|
|
|
|
lBShiftControls.Items[29] = Properties.Resources.TiltUp + " : " + UpdateRegButtonList(bnShiftGyroZN);
|
|
|
|
|
lBShiftControls.Items[30] = Properties.Resources.TiltDown + " : " + UpdateRegButtonList(bnShiftGyroZP);
|
|
|
|
|
lBShiftControls.Items[31] = Properties.Resources.TiltLeft + " : " + UpdateRegButtonList(bnShiftGyroXP);
|
|
|
|
|
lBShiftControls.Items[32] = Properties.Resources.TiltRight + " : " + UpdateRegButtonList(bnShiftGyroXN);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
bnShiftGyroZN.Text = Properties.Resources.TiltUp;
|
|
|
|
|
bnShiftGyroZP.Text = Properties.Resources.TiltDown;
|
|
|
|
|
bnShiftGyroXP.Text = Properties.Resources.TiltLeft;
|
|
|
|
|
bnShiftGyroXN.Text = Properties.Resources.TiltRight;
|
2014-11-15 22:54:14 +01:00
|
|
|
|
if (lBShiftControls.Items.Count > 33)
|
|
|
|
|
{
|
|
|
|
|
lBShiftControls.Items[33] = Properties.Resources.SwipeUp + " : " + UpdateRegButtonList(bnShiftSwipeUp);
|
|
|
|
|
lBShiftControls.Items[34] = Properties.Resources.SwipeDown + " : " + UpdateRegButtonList(bnShiftSwipeDown);
|
|
|
|
|
lBShiftControls.Items[35] = Properties.Resources.SwipeLeft + " : " + UpdateRegButtonList(bnShiftSwipeLeft);
|
|
|
|
|
lBShiftControls.Items[36] = Properties.Resources.SwipeRight + " : " + UpdateRegButtonList(bnShiftSwipeRight);
|
|
|
|
|
bnShiftSwipeUp.Text = Properties.Resources.SwipeUp;
|
|
|
|
|
bnShiftSwipeDown.Text = Properties.Resources.SwipeDown;
|
|
|
|
|
bnShiftSwipeLeft.Text = Properties.Resources.SwipeLeft;
|
|
|
|
|
bnShiftSwipeRight.Text = Properties.Resources.SwipeRight;
|
|
|
|
|
}
|
2014-06-24 00:27:14 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-11-15 22:54:14 +01:00
|
|
|
|
private string UpdateRegButtonList(Button button)
|
2014-06-24 00:27:14 +02:00
|
|
|
|
{
|
2014-12-17 19:29:22 +01:00
|
|
|
|
Button regbutton = null;
|
|
|
|
|
bool shift = button.Name.Contains("Shift");
|
|
|
|
|
if (shift)
|
|
|
|
|
regbutton = ((Button)Controls.Find(button.Name.Remove(2, 5), true)[0]);
|
|
|
|
|
bool extracontrol = button.Name.Contains("Gyro") || button.Name.Contains("Swipe");
|
2014-06-24 00:27:14 +02:00
|
|
|
|
if (button.Tag is String && (String)button.Tag == "Unbound")
|
|
|
|
|
return "Unbound";
|
2014-12-13 21:12:03 +01:00
|
|
|
|
else if (button.Tag is KeyValuePair<Int32[], string>)
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
return Properties.Resources.Macro + (button.Font.Bold ? " " + Properties.Resources.ScanCode : "");
|
2014-12-13 21:12:03 +01:00
|
|
|
|
else if (button.Tag is KeyValuePair<int, string>)
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
return ((Keys)((KeyValuePair<int, string>)button.Tag).Key).ToString() + (button.Font.Bold ? " " + Properties.Resources.ScanCode : "");
|
2014-12-13 21:12:03 +01:00
|
|
|
|
else if (button.Tag is KeyValuePair<UInt16, string>)
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
return ((Keys)((KeyValuePair<UInt16, string>)button.Tag).Key).ToString() + (button.Font.Bold ? " " + Properties.Resources.ScanCode : "");
|
2014-12-13 21:12:03 +01:00
|
|
|
|
else if (button.Tag is KeyValuePair<string, string>)
|
|
|
|
|
return ((KeyValuePair<string, string>)button.Tag).Key;
|
2014-12-17 19:29:22 +01:00
|
|
|
|
else if (shift && extracontrol && !(regbutton.Tag is KeyValuePair<object, string>)
|
2014-12-20 02:31:00 +01:00
|
|
|
|
&& (button.Tag == null ||((KeyValuePair<object, string>)button.Tag).Key == null))
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
return Properties.Resources.FallBackTo.Replace("button*", UpdateRegButtonList(regbutton));
|
2014-12-20 02:31:00 +01:00
|
|
|
|
else if (shift && !extracontrol && (button.Tag == null || ((KeyValuePair<object, string>)button.Tag).Key == null))
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
return Properties.Resources.FallBackTo.Replace("button*", UpdateRegButtonList(regbutton));
|
2014-12-17 19:29:22 +01:00
|
|
|
|
else if (!shift && !extracontrol)
|
|
|
|
|
return defaults[button.Name];
|
2014-06-24 00:27:14 +02:00
|
|
|
|
else
|
|
|
|
|
return string.Empty;
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
private void Show_ControlsList(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-12 07:48:50 +02:00
|
|
|
|
if (lBControls.SelectedIndex == 0) Show_ControlsBn(bnCross, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 1) Show_ControlsBn(bnCircle, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 2) Show_ControlsBn(bnSquare, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 3) Show_ControlsBn(bnTriangle, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 4) Show_ControlsBn(bnOptions, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 5) Show_ControlsBn(bnShare, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 6) Show_ControlsBn(bnUp, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 7) Show_ControlsBn(bnDown, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 8) Show_ControlsBn(bnLeft, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 9) Show_ControlsBn(bnRight, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 10) Show_ControlsBn(bnPS, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 11) Show_ControlsBn(bnL1, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 12) Show_ControlsBn(bnR1, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 13) Show_ControlsBn(bnL2, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 14) Show_ControlsBn(bnR2, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 15) Show_ControlsBn(bnL3, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 16) Show_ControlsBn(bnR3, e);
|
|
|
|
|
|
|
|
|
|
if (lBControls.SelectedIndex == 17) Show_ControlsBn(bnTouchLeft, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 18) Show_ControlsBn(bnTouchRight, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 19) Show_ControlsBn(bnTouchMulti, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 20) Show_ControlsBn(bnTouchUpper, e);
|
|
|
|
|
|
|
|
|
|
if (lBControls.SelectedIndex == 21) Show_ControlsBn(bnLSUp, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 22) Show_ControlsBn(bnLSDown, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 23) Show_ControlsBn(bnLSLeft, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 24) Show_ControlsBn(bnLSRight, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 25) Show_ControlsBn(bnRSUp, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 26) Show_ControlsBn(bnRSDown, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 27) Show_ControlsBn(bnRSLeft, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 28) Show_ControlsBn(bnRSRight, e);
|
2014-06-24 00:27:14 +02:00
|
|
|
|
|
|
|
|
|
if (lBControls.SelectedIndex == 29) Show_ControlsBn(bnGyroZN, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 30) Show_ControlsBn(bnGyroZP, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 31) Show_ControlsBn(bnGyroXP, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 32) Show_ControlsBn(bnGyroXN, e);
|
2014-11-15 22:54:14 +01:00
|
|
|
|
|
|
|
|
|
if (lBControls.SelectedIndex == 33) Show_ControlsBn(bnSwipeUp, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 34) Show_ControlsBn(bnSwipeDown, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 35) Show_ControlsBn(bnSwipeLeft, e);
|
|
|
|
|
if (lBControls.SelectedIndex == 36) Show_ControlsBn(bnSwipeRight, e);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
|
|
|
|
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
private void Show_ShiftControlsList(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
if (lBShiftControls.SelectedIndex == 0) Show_ControlsBn(bnShiftCross, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 1) Show_ControlsBn(bnShiftCircle, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 2) Show_ControlsBn(bnShiftSquare, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 3) Show_ControlsBn(bnShiftTriangle, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 4) Show_ControlsBn(bnShiftOptions, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 5) Show_ControlsBn(bnShiftShare, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 6) Show_ControlsBn(bnShiftUp, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 7) Show_ControlsBn(bnShiftDown, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 8) Show_ControlsBn(bnShiftLeft, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 9) Show_ControlsBn(bnShiftRight, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 10) Show_ControlsBn(bnShiftPS, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 11) Show_ControlsBn(bnShiftL1, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 12) Show_ControlsBn(bnShiftR1, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 13) Show_ControlsBn(bnShiftL2, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 14) Show_ControlsBn(bnShiftR2, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 15) Show_ControlsBn(bnShiftL3, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 16) Show_ControlsBn(bnShiftR3, e);
|
|
|
|
|
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 17) Show_ControlsBn(bnShiftTouchLeft, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 18) Show_ControlsBn(bnShiftTouchRight, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 19) Show_ControlsBn(bnShiftTouchMulti, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 20) Show_ControlsBn(bnShiftTouchUpper, e);
|
|
|
|
|
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 21) Show_ControlsBn(bnShiftLSUp, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 22) Show_ControlsBn(bnShiftLSDown, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 23) Show_ControlsBn(bnShiftLSLeft, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 24) Show_ControlsBn(bnShiftLSRight, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 25) Show_ControlsBn(bnShiftRSUp, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 26) Show_ControlsBn(bnShiftRSDown, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 27) Show_ControlsBn(bnShiftRSLeft, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 28) Show_ControlsBn(bnShiftRSRight, e);
|
|
|
|
|
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 29) Show_ControlsBn(bnShiftGyroZN, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 30) Show_ControlsBn(bnShiftGyroZP, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 31) Show_ControlsBn(bnShiftGyroXP, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 32) Show_ControlsBn(bnShiftGyroXN, e);
|
2014-11-15 22:54:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 33) Show_ControlsBn(bnShiftSwipeUp, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 34) Show_ControlsBn(bnShiftSwipeDown, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 35) Show_ControlsBn(bnShiftSwipeLeft, e);
|
|
|
|
|
if (lBShiftControls.SelectedIndex == 36) Show_ControlsBn(bnShiftSwipeRight, e);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-04-27 21:32:09 +02:00
|
|
|
|
private void List_MouseDoubleClick(object sender, MouseEventArgs e)
|
|
|
|
|
{
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (((ListBox)sender).Name.Contains("Shift"))
|
|
|
|
|
Show_ShiftControlsList(sender, e);
|
|
|
|
|
else
|
2014-04-27 21:32:09 +02:00
|
|
|
|
Show_ControlsList(sender, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void List_KeyDown(object sender, KeyEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.KeyValue == 13)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (((ListBox)sender).Name.Contains("Shift"))
|
|
|
|
|
Show_ShiftControlsList(sender, e);
|
|
|
|
|
else
|
|
|
|
|
Show_ControlsList(sender, e);
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-04-29 23:56:58 +02:00
|
|
|
|
|
2014-04-30 21:32:44 +02:00
|
|
|
|
private void numUDRainbow_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.Rainbow[device]= (double)nUDRainbow.Value;
|
2014-06-09 01:41:36 +02:00
|
|
|
|
if ((double)nUDRainbow.Value <= 0.5)
|
2014-05-05 04:25:53 +02:00
|
|
|
|
{
|
|
|
|
|
pBRainbow.Image = greyscale;
|
|
|
|
|
ToggleRainbow(false);
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDRainbow.Value = 0;
|
2014-05-05 04:25:53 +02:00
|
|
|
|
}
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-05-12 07:48:50 +02:00
|
|
|
|
private void pbRainbow_Click(object sender, EventArgs e)
|
2014-04-30 21:32:44 +02:00
|
|
|
|
{
|
|
|
|
|
if (pBRainbow.Image == greyscale)
|
|
|
|
|
{
|
|
|
|
|
pBRainbow.Image = colored;
|
|
|
|
|
ToggleRainbow(true);
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDRainbow.Value = 5;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pBRainbow.Image = greyscale;
|
|
|
|
|
ToggleRainbow(false);
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDRainbow.Value = 0;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ToggleRainbow(bool on)
|
|
|
|
|
{
|
2014-06-09 01:41:36 +02:00
|
|
|
|
nUDRainbow.Enabled = on;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
if (on)
|
|
|
|
|
{
|
2014-05-31 06:37:02 +02:00
|
|
|
|
//pBRainbow.Location = new Point(216 - 78, pBRainbow.Location.Y);
|
2014-05-05 04:25:53 +02:00
|
|
|
|
pBController.BackgroundImage = Properties.Resources.rainbowC;
|
2014-08-17 00:09:15 +02:00
|
|
|
|
cBLightbyBattery.Text = Properties.Resources.DimByBattery.Replace("*nl*", "\n");
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlLowBattery.Enabled = cBLightbyBattery.Checked;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
//pBRainbow.Location = new Point(216, pBRainbow.Location.Y);
|
2014-05-05 04:25:53 +02:00
|
|
|
|
pBController.BackgroundImage = null;
|
2014-08-17 00:09:15 +02:00
|
|
|
|
cBLightbyBattery.Text = Properties.Resources.ColorByBattery.Replace("*nl*", "\n");
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbspc.Enabled = on;
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlLowBattery.Enabled = !on;
|
|
|
|
|
pnlFull.Enabled = !on;
|
2014-04-30 21:32:44 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Bitmap GreyscaleImage(Bitmap image)
|
|
|
|
|
{
|
|
|
|
|
Bitmap c = (Bitmap)image;
|
|
|
|
|
Bitmap d = new Bitmap(c.Width, c.Height);
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < c.Width; i++)
|
|
|
|
|
{
|
|
|
|
|
for (int x = 0; x < c.Height; x++)
|
|
|
|
|
{
|
|
|
|
|
Color oc = c.GetPixel(i, x);
|
|
|
|
|
int grayScale = (int)((oc.R * 0.3) + (oc.G * 0.59) + (oc.B * 0.11));
|
|
|
|
|
Color nc = Color.FromArgb(oc.A, grayScale, grayScale, grayScale);
|
|
|
|
|
d.SetPixel(i, x, nc);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return d;
|
|
|
|
|
}
|
2014-05-05 09:31:24 +02:00
|
|
|
|
|
|
|
|
|
private void numUDL2_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.L2Deadzone[device] = (byte)(nUDL2.Value * 255);
|
2014-05-05 09:31:24 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void numUDR2_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.R2Deadzone[device] = (byte)(nUDR2.Value * 255);
|
2014-05-12 07:48:50 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-06-26 20:02:01 +02:00
|
|
|
|
private void nUDSX_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.SXDeadzone[device] = (double)nUDSX.Value;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (nUDSX.Value <= 0 && nUDSZ.Value <= 0)
|
|
|
|
|
pBSADeadzone.Visible = false;
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pBSADeadzone.Visible = true;
|
|
|
|
|
pBSADeadzone.Size = new Size((int)(nUDSX.Value * 125), (int)(nUDSZ.Value * 125));
|
2014-11-14 20:44:50 +01:00
|
|
|
|
pBSADeadzone.Location = new Point(lbSATrack.Location.X + (int)(dpix * 63) - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + (int)(dpix * 63) - pBSADeadzone.Size.Height / 2);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
2014-06-26 20:02:01 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void nUDSZ_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.SZDeadzone[device] = (double)nUDSZ.Value;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (nUDSX.Value <= 0 && nUDSZ.Value <= 0)
|
|
|
|
|
pBSADeadzone.Visible = false;
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pBSADeadzone.Visible = true;
|
|
|
|
|
pBSADeadzone.Size = new Size((int)(nUDSX.Value * 125), (int)(nUDSZ.Value * 125));
|
2014-11-14 20:44:50 +01:00
|
|
|
|
pBSADeadzone.Location = new Point(lbSATrack.Location.X + (int)(dpix * 63) - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + (int)(dpiy * 63) - pBSADeadzone.Size.Height / 2);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
2014-06-26 20:02:01 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-05-12 07:48:50 +02:00
|
|
|
|
private void bnTouchLeft_MouseHover(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-05-24 04:30:43 +02:00
|
|
|
|
pBController.Image = L;
|
|
|
|
|
}
|
2014-05-12 07:48:50 +02:00
|
|
|
|
|
|
|
|
|
private void bnTouchMulti_MouseHover(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
pBController.Image = M;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void bnTouchRight_MouseHover(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
pBController.Image = R;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void bnTouchUpper_MouseHover(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
pBController.Image = U;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Toucpad_Leave(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
pBController.Image = Properties.Resources.DS4_Controller;
|
|
|
|
|
}
|
|
|
|
|
|
2014-05-21 23:42:25 +02:00
|
|
|
|
private void numUDRS_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.RSDeadzone[device] = (byte)Math.Round((nUDRS.Value * 127),0);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (nUDRS.Value <= 0)
|
|
|
|
|
pBRSDeadzone.Visible = false;
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pBRSDeadzone.Visible = true;
|
|
|
|
|
pBRSDeadzone.Size = new Size((int)(nUDRS.Value * 125), (int)(nUDRS.Value * 125));
|
2014-11-14 20:44:50 +01:00
|
|
|
|
pBRSDeadzone.Location = new Point(lbRSTrack.Location.X + (int)(dpix * 63) - pBRSDeadzone.Size.Width / 2, lbRSTrack.Location.Y + (int)(dpiy * 63) - pBRSDeadzone.Size.Width / 2);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
2014-05-21 23:42:25 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void numUDLS_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LSDeadzone[device] = (byte)Math.Round((nUDLS.Value * 127),0);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
if (nUDLS.Value <= 0)
|
|
|
|
|
pBLSDeadzone.Visible = false;
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pBLSDeadzone.Visible = true;
|
|
|
|
|
pBLSDeadzone.Size = new Size((int)(nUDLS.Value*125), (int)(nUDLS.Value*125));
|
2014-11-14 20:44:50 +01:00
|
|
|
|
pBLSDeadzone.Location = new Point(lbLSTrack.Location.X + (int)(dpix * 63) - pBLSDeadzone.Size.Width / 2, lbLSTrack.Location.Y + (int)(dpiy * 63) - pBLSDeadzone.Size.Width / 2);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
2014-05-21 23:42:25 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-05-24 04:30:43 +02:00
|
|
|
|
private void numUDMouseSens_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ButtonMouseSensitivity[device] = (int)numUDMouseSens.Value;
|
|
|
|
|
//Global.ButtonMouseSensitivity(device, (int)numUDMouseSens.Value);
|
2014-05-24 04:30:43 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-05-25 01:08:40 +02:00
|
|
|
|
private void LightBar_MouseDown(object sender, MouseEventArgs e)
|
|
|
|
|
{
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (!saving)
|
|
|
|
|
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
|
2014-05-25 01:08:40 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Lightbar_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
tp.Hide(((TrackBar)sender));
|
|
|
|
|
}
|
2014-05-30 22:39:39 +02:00
|
|
|
|
|
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
2014-05-31 06:37:02 +02:00
|
|
|
|
|
|
|
|
|
private void nUDflashLED_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (nUDflashLED.Value % 10 != 0)
|
|
|
|
|
nUDflashLED.Value = Math.Round(nUDflashLED.Value / 10, 0) * 10;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.FlashAt[device] = (int)nUDflashLED.Value;
|
2014-05-31 06:37:02 +02:00
|
|
|
|
}
|
2014-06-02 19:29:38 +02:00
|
|
|
|
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
private void cBMouseAccel_CheckedChanged(object sender, EventArgs e)
|
2014-06-24 00:27:14 +02:00
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.MouseAccel[device] = cBMouseAccel.Checked;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBShiftControl_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ShiftModifier[device] = cBShiftControl.SelectedIndex;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
if (cBShiftControl.SelectedIndex < 1)
|
|
|
|
|
cBShiftLight.Checked = false;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void tabControls_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (tabControls.SelectedIndex == 3)
|
2014-06-24 00:27:14 +02:00
|
|
|
|
sixaxisTimer.Start();
|
|
|
|
|
else
|
|
|
|
|
sixaxisTimer.Stop();
|
2014-07-26 01:17:45 +02:00
|
|
|
|
if (tabControls.SelectedIndex == 1)
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlShift.Visible = true;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
else
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlShift.Visible = false;
|
2014-06-24 00:27:14 +02:00
|
|
|
|
}
|
2014-06-26 20:02:01 +02:00
|
|
|
|
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
private void DrawCircle(object sender, PaintEventArgs e)
|
2014-06-26 20:02:01 +02:00
|
|
|
|
{
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
// Create pen.
|
|
|
|
|
Pen blackPen = new Pen(Color.Red);
|
|
|
|
|
|
|
|
|
|
// Create rectangle for ellipse.
|
|
|
|
|
Rectangle rect = new Rectangle(0, 0, ((PictureBox)sender).Size.Width, ((PictureBox)sender).Size.Height);
|
|
|
|
|
|
|
|
|
|
// Draw ellipse to screen.
|
|
|
|
|
e.Graphics.DrawEllipse(blackPen, rect);
|
|
|
|
|
}
|
|
|
|
|
|
2014-07-26 01:17:45 +02:00
|
|
|
|
private void lbEmpty_Click(object sender, EventArgs e)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
{
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBLowRedBar.Value = tBRedBar.Value;
|
|
|
|
|
tBLowGreenBar.Value = tBGreenBar.Value;
|
|
|
|
|
tBLowBlueBar.Value = tBBlueBar.Value;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-07-26 01:17:45 +02:00
|
|
|
|
private void lbShift_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBShiftRedBar.Value = tBRedBar.Value;
|
|
|
|
|
tBShiftGreenBar.Value = tBGreenBar.Value;
|
|
|
|
|
tBShiftBlueBar.Value = tBBlueBar.Value;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void lbSATip_Click(object sender, EventArgs e)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pnlSixaxis.Visible = !pnlSixaxis.Visible;
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
pBSADeadzone.Visible = !pBSADeadzone.Visible;
|
|
|
|
|
btnSATrack.Visible = !btnSATrack.Visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SixaxisPanel_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbSATip_Click(sender, e);
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
}
|
|
|
|
|
|
2014-07-26 01:17:45 +02:00
|
|
|
|
private void lbSATrack_Click(object sender, EventArgs e)
|
Shift modifier: Hold an action to use another set of controls, if nothing is set to the shifted control, in falls back to the default action
View input of controls in profiles, see exactly when a deadzone is passed and check the input delay for controllers (special thanks to jhebbel), click the on sixaxis panel
Click the Empty text on in the lightbar box to copy the lightbar color from full to empty.
While opened, option to keep the window size after closing the profile's settings
Old profiles are automatically upgraded if it's missing new settings, such as how colors are now saved, sixaxis deadzones, and shift controls
Other UI changes for profile settings, flipped touchpad and other settings boxes
Others:
Fix for when clicking the semicolon in the select an action screen
Fix assigning Sixaxis action to a key
minor UI changes and bug fixes, such as auto resize of the log listview
DS4Updater: Also now works for the new numbering system, can read the version number right from the exe instead of in profiles.xml, UI additions to better notify users of errors, Bug fixes for non-portable users
2014-07-07 21:22:42 +02:00
|
|
|
|
{
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbSATip_Click(sender, e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBShiftLight_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
if (Global.ShiftModifier[device] < 1)
|
2014-07-26 01:17:45 +02:00
|
|
|
|
cBShiftLight.Checked = false;
|
|
|
|
|
if (!cBShiftLight.Checked)
|
|
|
|
|
{
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pBShiftController.BackColor = pBController.BackColor;
|
|
|
|
|
pBShiftController.BackgroundImage = pBController.BackgroundImage;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2014-10-21 04:31:13 +02:00
|
|
|
|
alphacolor = Math.Max(tBShiftRedBar.Value, Math.Max(tBShiftGreenBar.Value, tBShiftBlueBar.Value));
|
|
|
|
|
reg = Color.FromArgb(tBShiftRedBar.Value, tBShiftGreenBar.Value, tBShiftBlueBar.Value);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
|
2014-11-01 22:49:22 +01:00
|
|
|
|
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ShiftColorOn[device]= cBShiftLight.Checked;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
lbShift.Enabled = cBShiftLight.Checked;
|
|
|
|
|
lbShiftRed.Enabled = cBShiftLight.Checked;
|
|
|
|
|
lbShiftGreen.Enabled = cBShiftLight.Checked;
|
|
|
|
|
lbShiftBlue.Enabled = cBShiftLight.Checked;
|
2014-10-21 04:31:13 +02:00
|
|
|
|
tBShiftRedBar.Enabled = cBShiftLight.Checked;
|
|
|
|
|
tBShiftGreenBar.Enabled = cBShiftLight.Checked;
|
|
|
|
|
tBShiftBlueBar.Enabled = cBShiftLight.Checked;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnBrowse_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if( openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
cBLaunchProgram.Checked = true;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LaunchProgram[device] = openFileDialog1.FileName;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
pBProgram.Image = Icon.ExtractAssociatedIcon(openFileDialog1.FileName).ToBitmap();
|
|
|
|
|
btnBrowse.Text = Path.GetFileNameWithoutExtension(openFileDialog1.FileName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBLaunchProgram_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!cBLaunchProgram.Checked)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LaunchProgram[device] = string.Empty;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
pBProgram.Image = null;
|
2014-08-17 00:09:15 +02:00
|
|
|
|
btnBrowse.Text = Properties.Resources.Browse;
|
2014-07-26 01:17:45 +02:00
|
|
|
|
}
|
2014-06-26 20:02:01 +02:00
|
|
|
|
}
|
2014-08-23 22:52:20 +02:00
|
|
|
|
|
|
|
|
|
private void cBDinput_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.DinputOnly[device] = cBDinput.Checked;
|
2014-12-02 01:07:29 +01:00
|
|
|
|
if (device < 4)
|
2014-08-23 22:52:20 +02:00
|
|
|
|
{
|
|
|
|
|
root.btnStartStop_Clicked(false);
|
|
|
|
|
root.btnStartStop_Clicked(false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-15 04:37:14 +02:00
|
|
|
|
private void cbStartTouchpadOff_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.StartTouchpadOff[device] = cbStartTouchpadOff.Checked;
|
2014-09-15 04:37:14 +02:00
|
|
|
|
}
|
2014-12-17 19:29:22 +01:00
|
|
|
|
|
2014-09-15 04:37:14 +02:00
|
|
|
|
private void Items_MouseHover(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
switch (((System.Windows.Forms.Control)sender).Name)
|
|
|
|
|
{
|
|
|
|
|
case "cBlowerRCOn": root.lbLastMessage.Text = Properties.Resources.BestUsedRightSide; break;
|
|
|
|
|
case "cBDoubleTap": root.lbLastMessage.Text = Properties.Resources.TapAndHold; break;
|
|
|
|
|
case "lbControlTip": root.lbLastMessage.Text = Properties.Resources.UseControllerForMapping; break;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
case "cBTouchpadJitterCompensation": root.lbLastMessage.Text = Properties.Resources.Jitter; break;
|
2014-09-15 04:37:14 +02:00
|
|
|
|
case "pBRainbow": root.lbLastMessage.Text = Properties.Resources.AlwaysRainbow; break;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
case "cBFlushHIDQueue": root.lbLastMessage.Text = Properties.Resources.FlushHIDTip; break;
|
|
|
|
|
case "cBLightbyBattery": root.lbLastMessage.Text = Properties.Resources.LightByBatteryTip; break;
|
|
|
|
|
case "lbGryo": root.lbLastMessage.Text = Properties.Resources.GyroReadout; break;
|
|
|
|
|
case "tBsixaxisGyroX": root.lbLastMessage.Text = Properties.Resources.GyroX; break;
|
|
|
|
|
case "tBsixaxisGyroY": root.lbLastMessage.Text = Properties.Resources.GyroY; break;
|
|
|
|
|
case "tBsixaxisGyroZ": root.lbLastMessage.Text = Properties.Resources.GyroZ; break;
|
2014-09-15 04:37:14 +02:00
|
|
|
|
case "tBsixaxisAccelX": root.lbLastMessage.Text = "AccelX"; break;
|
|
|
|
|
case "tBsixaxisAccelY": root.lbLastMessage.Text = "AccelY"; break;
|
|
|
|
|
case "tBsixaxisAccelZ": root.lbLastMessage.Text = "AccelZ"; break;
|
|
|
|
|
case "lbEmpty": root.lbLastMessage.Text = Properties.Resources.CopyFullColor; break;
|
|
|
|
|
case "lbShift": root.lbLastMessage.Text = Properties.Resources.CopyFullColor; break;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
case "lbSATip": root.lbLastMessage.Text = Properties.Resources.SixAxisReading; break;
|
2014-09-15 04:37:14 +02:00
|
|
|
|
case "cBDinput": root.lbLastMessage.Text = Properties.Resources.DinputOnly; break;
|
2015-02-08 22:51:52 +01:00
|
|
|
|
case "btnFlashColor": root.lbLastMessage.Text = Properties.Resources.FlashAtTip; break;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
case "cbStartTouchpadOff": root.lbLastMessage.Text = Properties.Resources.TouchpadOffTip; break;
|
|
|
|
|
case "cBTPforControls": root.lbLastMessage.Text = Properties.Resources.UsingTPSwipes; break;
|
|
|
|
|
default: root.lbLastMessage.Text = Properties.Resources.HoverOverItems; break;
|
2014-12-17 19:29:22 +01:00
|
|
|
|
|
|
|
|
|
case "bnUp": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnLeft": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnRight": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnDown": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "btnLeftStick": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "btnRightStick": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnCross": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnCircle": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnSquare": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnTriangle": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "lbGyro": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnGyroZN": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnGyroZP": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnGyroXN": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnGyroXP": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "lbTPSwipes": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnSwipeUp": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnSwipeLeft": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnSwipeRight": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnSwipeDown": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
|
|
|
|
|
case "bnShiftUp": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftLeft": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftRight": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftDown": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "btnShiftLeftStick": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "btnShiftRightStick": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftCross": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftCircle": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftSquare": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftTriangle": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "lbShiftGyro": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftGyroZN": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftGyroZP": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftGyroXN": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftGyroXP": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "lbShiftTPSwipes": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftSwipeUp": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftSwipeLeft": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftSwipeRight": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
|
|
|
|
case "bnShiftSwipeDown": root.lbLastMessage.Text = Properties.Resources.RightClickPresets; break;
|
2014-09-15 04:37:14 +02:00
|
|
|
|
}
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
if (root.lbLastMessage.Text != Properties.Resources.HoverOverItems)
|
2014-09-15 04:37:14 +02:00
|
|
|
|
root.lbLastMessage.ForeColor = Color.Black;
|
|
|
|
|
else
|
|
|
|
|
root.lbLastMessage.ForeColor = SystemColors.GrayText;
|
|
|
|
|
}
|
2014-11-15 22:54:14 +01:00
|
|
|
|
|
|
|
|
|
private void cBTPforControls_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.UseTPforControls[device] = cBTPforControls.Checked;
|
2014-11-15 22:54:14 +01:00
|
|
|
|
gBTouchpad.Enabled = !cBTPforControls.Checked;
|
|
|
|
|
if (cBTPforControls.Checked)
|
|
|
|
|
{
|
|
|
|
|
tabControls.Size = new Size(tabControls.Size.Width, (int)(282 * dpiy));
|
|
|
|
|
lBControls.Items.Add(Properties.Resources.SwipeUp + " : " + UpdateRegButtonList(bnSwipeUp));
|
|
|
|
|
lBControls.Items.Add(Properties.Resources.SwipeDown + " : " + UpdateRegButtonList(bnSwipeDown));
|
|
|
|
|
lBControls.Items.Add(Properties.Resources.SwipeLeft + " : " + UpdateRegButtonList(bnSwipeLeft));
|
|
|
|
|
lBControls.Items.Add(Properties.Resources.SwipeRight + " : " + UpdateRegButtonList(bnSwipeRight));
|
|
|
|
|
bnSwipeUp.Text = Properties.Resources.SwipeUp;
|
|
|
|
|
bnSwipeDown.Text = Properties.Resources.SwipeDown;
|
|
|
|
|
bnSwipeLeft.Text = Properties.Resources.SwipeLeft;
|
|
|
|
|
bnSwipeRight.Text = Properties.Resources.SwipeRight;
|
|
|
|
|
lBShiftControls.Items.Add(Properties.Resources.SwipeUp + " : " + UpdateRegButtonList(bnShiftSwipeUp));
|
|
|
|
|
lBShiftControls.Items.Add(Properties.Resources.SwipeDown + " : " + UpdateRegButtonList(bnShiftSwipeDown));
|
|
|
|
|
lBShiftControls.Items.Add(Properties.Resources.SwipeLeft + " : " + UpdateRegButtonList(bnShiftSwipeLeft));
|
|
|
|
|
lBShiftControls.Items.Add(Properties.Resources.SwipeRight + " : " + UpdateRegButtonList(bnShiftSwipeRight));
|
|
|
|
|
bnShiftSwipeUp.Text = Properties.Resources.SwipeUp;
|
|
|
|
|
bnShiftSwipeDown.Text = Properties.Resources.SwipeDown;
|
|
|
|
|
bnShiftSwipeLeft.Text = Properties.Resources.SwipeLeft;
|
|
|
|
|
bnShiftSwipeRight.Text = Properties.Resources.SwipeRight;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tabControls.Size = new Size(tabControls.Size.Width, (int)(242 * dpiy));
|
|
|
|
|
lBControls.Items.RemoveAt(36);
|
|
|
|
|
lBControls.Items.RemoveAt(35);
|
|
|
|
|
lBControls.Items.RemoveAt(34);
|
|
|
|
|
lBControls.Items.RemoveAt(33);
|
|
|
|
|
lBShiftControls.Items.RemoveAt(36);
|
|
|
|
|
lBShiftControls.Items.RemoveAt(35);
|
|
|
|
|
lBShiftControls.Items.RemoveAt(34);
|
|
|
|
|
lBShiftControls.Items.RemoveAt(33);
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-11-20 20:03:18 +01:00
|
|
|
|
|
|
|
|
|
private void cBControllerInput_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.DS4Mapping=cBControllerInput.Checked;
|
2014-11-20 20:03:18 +01:00
|
|
|
|
}
|
2014-12-13 21:12:03 +01:00
|
|
|
|
|
|
|
|
|
private void btnAddAction_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
SpecActions sA = new SpecActions(this);
|
|
|
|
|
sA.TopLevel = false;
|
|
|
|
|
sA.Dock = DockStyle.Fill;
|
|
|
|
|
sA.Visible = true;
|
|
|
|
|
tPSpecial.Controls.Add(sA);
|
|
|
|
|
sA.BringToFront();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnEditAction_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (lVActions.SelectedIndices.Count > 0 && lVActions.SelectedIndices[0] >= 0)
|
|
|
|
|
{
|
|
|
|
|
SpecActions sA = new SpecActions(this, lVActions.SelectedItems[0].Text, lVActions.SelectedIndices[0]);
|
|
|
|
|
sA.TopLevel = false;
|
|
|
|
|
sA.Dock = DockStyle.Fill;
|
|
|
|
|
sA.Visible = true;
|
|
|
|
|
tPSpecial.Controls.Add(sA);
|
|
|
|
|
sA.BringToFront();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnRemAction_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (lVActions.SelectedIndices.Count > 0 && lVActions.SelectedIndices[0] >= 0)
|
|
|
|
|
{
|
|
|
|
|
Global.RemoveAction(lVActions.SelectedItems[0].Text);
|
|
|
|
|
lVActions.Items.Remove(lVActions.SelectedItems[0]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void lVActions_ItemChecked(object sender, ItemCheckedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
List<string> pactions = new List<string>();
|
|
|
|
|
foreach (ListViewItem lvi in lVActions.Items)
|
|
|
|
|
if (lvi.Checked)
|
|
|
|
|
pactions.Add(lvi.Text);
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ProfileActions[device] = pactions;
|
2014-12-13 21:12:03 +01:00
|
|
|
|
if (lVActions.Items.Count >= 50)
|
|
|
|
|
{
|
|
|
|
|
btnNewAction.Enabled = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void nUDLSCurve_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.LSCurve[device] = (int)Math.Round(nUDLSCurve.Value, 0);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void nUDRSCurve_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.RSCurve[device] = (int)Math.Round(nUDRSCurve.Value, 0);
|
2014-12-13 21:12:03 +01:00
|
|
|
|
}
|
2014-12-17 19:29:22 +01:00
|
|
|
|
|
|
|
|
|
private void cMSPresets_Opened(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
string name = cMSPresets.SourceControl.Name;
|
|
|
|
|
if (name == "bnUp" || name == "bnLeft" || name == "bnRight" || name == "bnDown")
|
|
|
|
|
controlToolStripMenuItem.Text = "Dpad";
|
|
|
|
|
else if (name == "btnLeftStick")
|
|
|
|
|
controlToolStripMenuItem.Text = "Left Stick";
|
|
|
|
|
else if (name == "btnRightStick")
|
|
|
|
|
controlToolStripMenuItem.Text = "Right Stick";
|
|
|
|
|
else if (name == "bnCross" || name == "bnCircle" || name == "bnSquare" || name == "bnTriangle")
|
|
|
|
|
controlToolStripMenuItem.Text = "Face Buttons";
|
|
|
|
|
else if (name == "lbGyro" || name.StartsWith("bnGyro"))
|
|
|
|
|
controlToolStripMenuItem.Text = "Sixaxis";
|
|
|
|
|
else if (name == "lbTPSwipes" || name.StartsWith("bnSwipe"))
|
|
|
|
|
controlToolStripMenuItem.Text = "Touchpad Swipes";
|
|
|
|
|
else if (name == "bnShiftUp" || name == "bnShiftLeft" || name == "bnShiftRight" || name == "bnShiftDown")
|
|
|
|
|
controlToolStripMenuItem.Text = "Dpad (Shift)";
|
|
|
|
|
else if (name == "btnShiftLeftStick")
|
|
|
|
|
controlToolStripMenuItem.Text = "Left Stick (Shift)";
|
|
|
|
|
else if (name == "btnShiftRightStick")
|
|
|
|
|
controlToolStripMenuItem.Text = "Right Stick (Shift)";
|
|
|
|
|
else if (name == "bnShiftCross" || name == "bnShiftCircle" || name == "bnShiftSquare" || name == "bnShiftTriangle")
|
|
|
|
|
controlToolStripMenuItem.Text = "Face Buttons (Shift)";
|
|
|
|
|
else if (name == "lbShiftGyro" || name.StartsWith("bnShiftGyro"))
|
|
|
|
|
controlToolStripMenuItem.Text = "Sixaxis (Shift)";
|
|
|
|
|
else if (name == "lbShiftTPSwipes" || name.StartsWith("bnShiftSwipe"))
|
|
|
|
|
controlToolStripMenuItem.Text = "Touchpad Swipes (Shift)";
|
|
|
|
|
else
|
|
|
|
|
controlToolStripMenuItem.Text = "Select another control";
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
MouseToolStripMenuItem.Visible = !(name == "lbTPSwipes" || name.StartsWith("bnSwipe") || name == "lbShiftTPSwipes" || name.StartsWith("bnShiftSwipe"));
|
2014-12-17 19:29:22 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void BatchToggle_Bn(bool scancode, Button button1, Button button2, Button button3, Button button4)
|
|
|
|
|
{
|
|
|
|
|
Toggle_Bn(scancode, false, false, false, button1);
|
|
|
|
|
Toggle_Bn(scancode, false, false, false, button2);
|
|
|
|
|
Toggle_Bn(scancode, false, false, false, button3);
|
|
|
|
|
Toggle_Bn(scancode, false, false, false, button4);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
private void SetPreset(object sender, EventArgs e)
|
2014-12-17 19:29:22 +01:00
|
|
|
|
{
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
bool scancode = false;
|
2014-12-17 19:29:22 +01:00
|
|
|
|
KeyValuePair<object, string> tagU;
|
|
|
|
|
KeyValuePair<object, string> tagL;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
KeyValuePair<object, string> tagR;
|
2014-12-17 19:29:22 +01:00
|
|
|
|
KeyValuePair<object, string> tagD;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
string name = ((ToolStripMenuItem)sender).Name;
|
|
|
|
|
if (name.Contains("Dpad") || name.Contains("DPad"))
|
2014-12-17 19:29:22 +01:00
|
|
|
|
{
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
if (name.Contains("InvertedX"))
|
|
|
|
|
{
|
2014-12-17 19:29:22 +01:00
|
|
|
|
tagU = new KeyValuePair<object, string>("Up Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Right Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Left Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Down Button", "0,0,0,0,0,0,0,0");
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("InvertedY"))
|
|
|
|
|
{
|
2014-12-17 19:29:22 +01:00
|
|
|
|
tagU = new KeyValuePair<object, string>("Down Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Left Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Right Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Up Button", "0,0,0,0,0,0,0,0");
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("Inverted"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Down Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Right Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Left Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Up Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2014-12-17 19:29:22 +01:00
|
|
|
|
tagU = new KeyValuePair<object, string>("Up Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Left Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Right Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Down Button", "0,0,0,0,0,0,0,0");
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("LS"))
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (name.Contains("InvertedX"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Left Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Left X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Left X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Left Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("InvertedY"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Left Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Left X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Left X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Left Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("Inverted"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Left Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Left X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Left X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Left Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Left Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Left X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Left X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Left Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("RS"))
|
|
|
|
|
{
|
|
|
|
|
if (name.Contains("InvertedX"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Right Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Right X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Right X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Right Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("InvertedY"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Right Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Right X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Right X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Right Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("Inverted"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Right Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Right X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Right X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Right Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Right Y-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Right X-Axis-", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Right X-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Right Y-Axis+", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
2014-12-17 19:29:22 +01:00
|
|
|
|
}
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
else if (name.Contains("ABXY"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Y Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("X Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("B Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("A Button", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("WASD"))
|
|
|
|
|
{
|
|
|
|
|
if (name.Contains("ScanCode"))
|
|
|
|
|
scancode = true;
|
|
|
|
|
tagU = new KeyValuePair<object, string>((int)Keys.W, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>((int)Keys.A, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>((int)Keys.D, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>((int)Keys.S, "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("ArrowKeys"))
|
|
|
|
|
{
|
|
|
|
|
if (name.Contains("ScanCode"))
|
|
|
|
|
scancode = true;
|
|
|
|
|
tagU = new KeyValuePair<object, string>((int)Keys.Up, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>((int)Keys.Left, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>((int)Keys.Right, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>((int)Keys.Down, "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("Mouse"))
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (name.Contains("InvertedX"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Mouse Up", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Mouse Right", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Mouse Left", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Mouse Down", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("InvertedY"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Mouse Down", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Mouse Left", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Mouse Right", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Mouse Up", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else if (name.Contains("Inverted"))
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Mouse Down", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Mouse Right", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Mouse Left", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Mouse Up", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>("Mouse Up", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>("Mouse Left", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>("Mouse Right", "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>("Mouse Down", "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else //default
|
|
|
|
|
{
|
|
|
|
|
tagU = new KeyValuePair<object, string>(null, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagL = new KeyValuePair<object, string>(null, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagR = new KeyValuePair<object, string>(null, "0,0,0,0,0,0,0,0");
|
|
|
|
|
tagD = new KeyValuePair<object, string>(null, "0,0,0,0,0,0,0,0");
|
|
|
|
|
}
|
|
|
|
|
|
2014-12-17 19:29:22 +01:00
|
|
|
|
Button button1, button2, button3, button4;
|
|
|
|
|
if (controlToolStripMenuItem.Text == "Dpad")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnUp;
|
|
|
|
|
button2 = bnLeft;
|
|
|
|
|
button3 = bnRight;
|
|
|
|
|
button4 = bnDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Left Stick")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnLSUp;
|
|
|
|
|
button2 = bnLSLeft;
|
|
|
|
|
button3 = bnLSRight;
|
|
|
|
|
button4 = bnLSDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Right Stick")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnRSUp;
|
|
|
|
|
button2 = bnRSLeft;
|
|
|
|
|
button3 = bnRSRight;
|
|
|
|
|
button4 = bnRSDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Face Buttons")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnTriangle;
|
|
|
|
|
button2 = bnSquare;
|
|
|
|
|
button3 = bnCircle;
|
|
|
|
|
button4 = bnCross;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Sixaxis")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnGyroZN;
|
|
|
|
|
button2 = bnGyroXP;
|
|
|
|
|
button3 = bnGyroXN;
|
|
|
|
|
button4 = bnGyroZP;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Touchpad Swipes")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnSwipeUp;
|
|
|
|
|
button2 = bnSwipeLeft;
|
|
|
|
|
button3 = bnSwipeRight;
|
|
|
|
|
button4 = bnSwipeDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Dpad (Shift)")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnShiftUp;
|
|
|
|
|
button2 = bnShiftLeft;
|
|
|
|
|
button3 = bnShiftRight;
|
|
|
|
|
button4 = bnShiftDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Left Stick (Shift)")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnShiftLSUp;
|
|
|
|
|
button2 = bnShiftLSLeft;
|
|
|
|
|
button3 = bnShiftLSRight;
|
|
|
|
|
button4 = bnShiftLSDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Right Stick (Shift)")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnShiftRSUp;
|
|
|
|
|
button2 = bnShiftRSLeft;
|
|
|
|
|
button3 = bnShiftRSRight;
|
|
|
|
|
button4 = bnShiftRSDown;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Face Buttons (Shift)")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnShiftTriangle;
|
|
|
|
|
button2 = bnShiftSquare;
|
|
|
|
|
button3 = bnShiftCircle;
|
|
|
|
|
button4 = bnShiftCross;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Sixaxis (Shift)")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnShiftGyroZN;
|
|
|
|
|
button2 = bnShiftGyroXP;
|
|
|
|
|
button3 = bnShiftGyroXN;
|
|
|
|
|
button4 = bnShiftGyroZP;
|
|
|
|
|
}
|
|
|
|
|
else if (controlToolStripMenuItem.Text == "Touchpad Swipes (Shift)")
|
|
|
|
|
{
|
|
|
|
|
button1 = bnShiftSwipeUp;
|
|
|
|
|
button2 = bnShiftSwipeLeft;
|
|
|
|
|
button3 = bnShiftSwipeRight;
|
|
|
|
|
button4 = bnShiftSwipeDown;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
button1 = button2 = button3 = button4 = null;
|
|
|
|
|
ChangeButtonText("Up Button", tagU, button1);
|
|
|
|
|
ChangeButtonText("Left Button", tagL, button2);
|
|
|
|
|
ChangeButtonText("Right Button", tagR, button3);
|
|
|
|
|
ChangeButtonText("Down Button", tagD, button4);
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
BatchToggle_Bn(scancode, button1, button2, button3, button4);
|
2014-12-17 19:29:22 +01:00
|
|
|
|
|
|
|
|
|
UpdateLists();
|
|
|
|
|
cMSPresets.Hide();
|
|
|
|
|
}
|
|
|
|
|
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
private void cBWhileCharging_SelectedIndexChanged(object sender, EventArgs e)
|
2014-12-17 19:29:22 +01:00
|
|
|
|
{
|
2015-02-08 22:51:52 +01:00
|
|
|
|
Global.ChargingType[device] = cBWhileCharging.SelectedIndex;
|
Version 1.4.222
Added Press/Toggle Key to Special Actions, you can hold a trigger to
hold a key or toggle a key with one set of buttons, and untoggle it by
pressing or releasing another set of buttons
Added Disconnect BT to Special Actions, PS+Options to d/c is now added
to Special actions and can be enabled for each profile. You can now set
Disconnect BT to any control(s) and how long you need to hold the
control(s) to take affect
Added Partial German Translation (Thanks Michél)
Added 95% Finished Russian Translation (Thanks overclockers.ru members:
KoNoRIMCI & Sr_psycho)
Added Partial Italian Translation (Thanks Giulio)
Updates to the translations sheets, they should now have every bit of
text in DS4Windows, minus the controls of the controller
English Spelling fixes
Main/Starting tab only shows info for connected controllers, and context
menu only shows options for connected controllers.
Mouse wheel scrolling with analog sticks/triggers/gyro, the mouse now
scrolls smoothly
Slightly reworked analog mouse movement + mouse acceleration (not as
janky anymore)
When starting DS4Windows, if no controllers are connected, DS4Windows
defaults to the profile tab
Certain log warnings (Like unable to get controller exclusively) shows
up in red
Easter egg: try pressing a few buttons in sequence while in the log tab
Fixed Start Profile with TP off being unchecked next time a profile is
opened
Other minor Bug Fixes, such as clearing the log then moving to a new tab
crashing DS4W
2015-01-17 21:16:48 +01:00
|
|
|
|
btnChargingColor.Visible = cBWhileCharging.SelectedIndex == 3;
|
2014-12-17 19:29:22 +01:00
|
|
|
|
}
|
2015-02-08 22:51:52 +01:00
|
|
|
|
|
|
|
|
|
private void btnFlashColor_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (btnFlashColor.BackColor != pBController.BackColor)
|
|
|
|
|
advColorDialog.Color = btnFlashColor.BackColor;
|
|
|
|
|
else
|
|
|
|
|
advColorDialog.Color = Color.Black;
|
|
|
|
|
advColorDialog_OnUpdateColor(lbPercentFlashBar.ForeColor, e);
|
|
|
|
|
if (advColorDialog.ShowDialog() == DialogResult.OK)
|
|
|
|
|
{
|
|
|
|
|
if (advColorDialog.Color.GetBrightness() > 0)
|
|
|
|
|
btnFlashColor.BackColor = advColorDialog.Color;
|
|
|
|
|
else
|
|
|
|
|
btnFlashColor.BackColor = pBController.BackColor;
|
|
|
|
|
Global.FlashColor[device] = new DS4Color(advColorDialog.Color);
|
|
|
|
|
}
|
|
|
|
|
if (device < 4)
|
|
|
|
|
DS4LightBar.forcelight[device] = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void pBController_BackColorChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (Global.FlashColor[device].Equals(new DS4Color { red = 0, green = 0, blue = 0 }))
|
|
|
|
|
{
|
|
|
|
|
btnFlashColor.BackColor = pBController.BackColor;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void pBController_BackgroundImageChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
btnFlashColor.BackgroundImage = pBController.BackgroundImage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void cBFlashType_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
Global.FlashType[device]= (byte)cBFlashType.SelectedIndex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void nUDRainbowB_ValueChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
//Global.
|
|
|
|
|
}
|
2014-04-27 21:32:09 +02:00
|
|
|
|
}
|
2014-03-28 02:50:40 +01:00
|
|
|
|
}
|