Skip to content

Commit ca300db

Browse files
Fix plugin for Macro Deck 2.13.x
1 parent 4415a66 commit ca300db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2840
-3028
lines changed

Actions/CommandlineAction.cs

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -7,60 +7,57 @@
77
using SuchByte.WindowsUtils.GUI;
88
using SuchByte.WindowsUtils.Language;
99
using System;
10-
using System.Collections.Generic;
1110
using System.Diagnostics;
12-
using System.Text;
1311

14-
namespace SuchByte.WindowsUtils.Actions
12+
namespace SuchByte.WindowsUtils.Actions;
13+
14+
public class CommandlineAction : PluginAction
1515
{
16-
public class CommandlineAction : PluginAction
17-
{
18-
public override string Name => PluginLanguageManager.PluginStrings.ActionCommandline;
16+
public override string Name => PluginLanguageManager.PluginStrings.ActionCommandline;
1917

20-
public override string Description => PluginLanguageManager.PluginStrings.ActionCommandlineDescription;
18+
public override string Description => PluginLanguageManager.PluginStrings.ActionCommandlineDescription;
2119

22-
public override bool CanConfigure => true;
20+
public override bool CanConfigure => true;
2321

24-
public override void Trigger(string clientId, ActionButton actionButton)
22+
public override void Trigger(string clientId, ActionButton actionButton)
23+
{
24+
if (!string.IsNullOrWhiteSpace(this.Configuration))
2525
{
26-
if (!String.IsNullOrWhiteSpace(this.Configuration))
26+
try
2727
{
28-
try
29-
{
30-
JObject configurationObject = JObject.Parse(this.Configuration);
31-
var workingDirectory = configurationObject["workingDirectory"].ToString();
32-
var command = configurationObject["command"].ToString();
33-
bool.TryParse(configurationObject["saveVariable"].ToString(), out bool saveVariable);
28+
JObject configurationObject = JObject.Parse(this.Configuration);
29+
var workingDirectory = configurationObject["workingDirectory"].ToString();
30+
var command = configurationObject["command"].ToString();
31+
bool.TryParse(configurationObject["saveVariable"].ToString(), out bool saveVariable);
3432

35-
var p = new Process
36-
{
37-
StartInfo = new ProcessStartInfo("cmd.exe")
38-
{
39-
UseShellExecute = false,
40-
WorkingDirectory = workingDirectory,
41-
Arguments = "/C " + command,
42-
RedirectStandardOutput = saveVariable,
43-
}
44-
};
45-
p.Start();
46-
if (saveVariable)
33+
var p = new Process
34+
{
35+
StartInfo = new ProcessStartInfo("cmd.exe")
4736
{
48-
var output = p.StandardOutput.ReadToEnd().Replace(Environment.NewLine, String.Empty);
49-
Debug.WriteLine(output);
50-
var variableName = configurationObject["variableName"].ToString();
51-
Enum.TryParse(typeof(VariableType), configurationObject["variableType"].ToString(), true, out object type);
52-
VariableManager.SetValue(variableName, output, (VariableType) type, PluginInstance.Main, null);
37+
UseShellExecute = false,
38+
WorkingDirectory = workingDirectory,
39+
Arguments = "/C " + command,
40+
RedirectStandardOutput = saveVariable,
5341
}
42+
};
43+
p.Start();
44+
if (saveVariable)
45+
{
46+
var output = p.StandardOutput.ReadToEnd().Replace(Environment.NewLine, String.Empty);
47+
Debug.WriteLine(output);
48+
var variableName = configurationObject["variableName"].ToString();
49+
Enum.TryParse(typeof(VariableType), configurationObject["variableType"].ToString(), true, out object type);
50+
VariableManager.SetValue(variableName, output, (VariableType) type, PluginInstance.Main, null);
5451
}
55-
catch (Exception e) {
56-
Debug.WriteLine(e.Message);
57-
}
52+
}
53+
catch (Exception e) {
54+
Debug.WriteLine(e.Message);
5855
}
5956
}
57+
}
6058

61-
public override ActionConfigControl GetActionConfigControl(ActionConfigurator actionConfigurator)
62-
{
63-
return new CommandSelector(this);
64-
}
59+
public override ActionConfigControl GetActionConfigControl(ActionConfigurator actionConfigurator)
60+
{
61+
return new CommandSelector(this);
6562
}
6663
}

Actions/DecreaseVolumeAction.cs

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
11
using SuchByte.MacroDeck.ActionButton;
22
using SuchByte.MacroDeck.Plugins;
33
using SuchByte.WindowsUtils.Language;
4-
using System;
5-
using System.Collections.Generic;
6-
using System.Runtime.InteropServices;
7-
using System.Text;
8-
using System.Windows.Forms;
94
using WindowsInput;
105

11-
namespace SuchByte.WindowsUtils.Actions
12-
{
13-
public class DecreaseVolumeAction : PluginAction
14-
{
6+
namespace SuchByte.WindowsUtils.Actions;
157

16-
public override string Name => PluginLanguageManager.PluginStrings.ActionDecreaseVolume;
8+
public class DecreaseVolumeAction : PluginAction
9+
{
10+
public override string Name => PluginLanguageManager.PluginStrings.ActionDecreaseVolume;
1711

18-
public override string Description => PluginLanguageManager.PluginStrings.ActionDecreaseVolumeDescription;
12+
public override string Description => PluginLanguageManager.PluginStrings.ActionDecreaseVolumeDescription;
1913

20-
public override void Trigger(string clientId, ActionButton actionButton)
21-
{
22-
PluginInstance.Main.InputSimulator.Keyboard.KeyPress(VirtualKeyCode.VOLUME_DOWN);
23-
}
14+
public override void Trigger(string clientId, ActionButton actionButton)
15+
{
16+
PluginInstance.Main.InputSimulator.Keyboard.KeyPress(VirtualKeyCode.VOLUME_DOWN);
2417
}
2518
}

Actions/HotkeyAction.cs

Lines changed: 83 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -7,108 +7,106 @@
77
using SuchByte.WindowsUtils.Language;
88
using System;
99
using System.Collections.Generic;
10-
using System.Text;
1110
using System.Threading;
1211
using WindowsInput;
1312

14-
namespace SuchByte.WindowsUtils.Actions
13+
namespace SuchByte.WindowsUtils.Actions;
14+
15+
public class HotkeyAction : PluginAction
1516
{
16-
public class HotkeyAction : PluginAction
17-
{
18-
public override string Name => PluginLanguageManager.PluginStrings.ActionHotkey;
17+
public override string Name => PluginLanguageManager.PluginStrings.ActionHotkey;
1918

20-
public override string Description => PluginLanguageManager.PluginStrings.ActionHotkeyDescription;
19+
public override string Description => PluginLanguageManager.PluginStrings.ActionHotkeyDescription;
2120

22-
public override bool CanConfigure => true;
21+
public override bool CanConfigure => true;
2322

2423

25-
public override ActionConfigControl GetActionConfigControl(ActionConfigurator actionConfigurator)
26-
{
27-
return new HotkeyConfigurator(this, actionConfigurator);
28-
}
24+
public override ActionConfigControl GetActionConfigControl(ActionConfigurator actionConfigurator)
25+
{
26+
return new HotkeyConfigurator(this, actionConfigurator);
27+
}
2928

30-
public override void Trigger(string clientId, ActionButton actionButton)
29+
public override void Trigger(string clientId, ActionButton actionButton)
30+
{
31+
try
3132
{
32-
try
33+
if (this.Configuration != null && this.Configuration.Length > 0)
3334
{
34-
if (this.Configuration != null && this.Configuration.Length > 0)
35+
JObject jObject = JObject.Parse(this.Configuration);
36+
if (jObject != null)
3537
{
36-
JObject jObject = JObject.Parse(this.Configuration);
37-
if (jObject != null)
38+
List<VirtualKeyCode> modifierKeys = new List<VirtualKeyCode>();
39+
VirtualKeyCode virtualKeyCode = (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), jObject["key"].ToString());
40+
41+
if (bool.Parse(jObject["lwin"].ToString()))
3842
{
39-
List<VirtualKeyCode> modifierKeys = new List<VirtualKeyCode>();
40-
VirtualKeyCode virtualKeyCode = (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), jObject["key"].ToString());
41-
42-
if (bool.Parse(jObject["lwin"].ToString()))
43-
{
44-
modifierKeys.Add(VirtualKeyCode.LWIN);
45-
}
46-
if (bool.Parse(jObject["rwin"].ToString()))
47-
{
48-
modifierKeys.Add(VirtualKeyCode.RWIN);
49-
}
50-
51-
if (bool.Parse(jObject["ctrl"].ToString()))
52-
{
53-
modifierKeys.Add(VirtualKeyCode.CONTROL);
54-
}
55-
if (bool.Parse(jObject["lctrl"].ToString()))
56-
{
57-
modifierKeys.Add(VirtualKeyCode.LCONTROL);
58-
}
59-
if (bool.Parse(jObject["rctrl"].ToString()))
60-
{
61-
modifierKeys.Add(VirtualKeyCode.RCONTROL);
62-
}
63-
64-
if (bool.Parse(jObject["shift"].ToString()))
65-
{
66-
modifierKeys.Add(VirtualKeyCode.SHIFT);
67-
}
68-
if (bool.Parse(jObject["lshift"].ToString()))
69-
{
70-
modifierKeys.Add(VirtualKeyCode.LSHIFT);
71-
}
72-
if (bool.Parse(jObject["rshift"].ToString()))
73-
{
74-
modifierKeys.Add(VirtualKeyCode.RSHIFT);
75-
}
76-
77-
if (bool.Parse(jObject["alt"].ToString()))
78-
{
79-
modifierKeys.Add(VirtualKeyCode.MENU);
80-
}
81-
if (bool.Parse(jObject["lalt"].ToString()))
82-
{
83-
modifierKeys.Add(VirtualKeyCode.LMENU);
84-
}
85-
if (bool.Parse(jObject["ralt"].ToString()))
86-
{
87-
modifierKeys.Add(VirtualKeyCode.RMENU);
88-
}
89-
90-
// Using KeyDown and KeyUp with delay because some applications doesn't recognize the ModifiedKeyStroke of H.InputSimulator because it's too fast
91-
92-
foreach (VirtualKeyCode modifierKey in modifierKeys)
93-
{
94-
PluginInstance.Main.InputSimulator.Keyboard.KeyDown(modifierKey);
95-
}
96-
97-
PluginInstance.Main.InputSimulator.Keyboard.KeyDown(virtualKeyCode);
98-
99-
Thread.Sleep(100);
100-
101-
PluginInstance.Main.InputSimulator.Keyboard.KeyUp(virtualKeyCode);
102-
103-
foreach (VirtualKeyCode modifierKey in modifierKeys)
104-
{
105-
PluginInstance.Main.InputSimulator.Keyboard.KeyUp(modifierKey);
106-
}
43+
modifierKeys.Add(VirtualKeyCode.LWIN);
44+
}
45+
if (bool.Parse(jObject["rwin"].ToString()))
46+
{
47+
modifierKeys.Add(VirtualKeyCode.RWIN);
48+
}
10749

50+
if (bool.Parse(jObject["ctrl"].ToString()))
51+
{
52+
modifierKeys.Add(VirtualKeyCode.CONTROL);
53+
}
54+
if (bool.Parse(jObject["lctrl"].ToString()))
55+
{
56+
modifierKeys.Add(VirtualKeyCode.LCONTROL);
57+
}
58+
if (bool.Parse(jObject["rctrl"].ToString()))
59+
{
60+
modifierKeys.Add(VirtualKeyCode.RCONTROL);
61+
}
62+
63+
if (bool.Parse(jObject["shift"].ToString()))
64+
{
65+
modifierKeys.Add(VirtualKeyCode.SHIFT);
66+
}
67+
if (bool.Parse(jObject["lshift"].ToString()))
68+
{
69+
modifierKeys.Add(VirtualKeyCode.LSHIFT);
10870
}
71+
if (bool.Parse(jObject["rshift"].ToString()))
72+
{
73+
modifierKeys.Add(VirtualKeyCode.RSHIFT);
74+
}
75+
76+
if (bool.Parse(jObject["alt"].ToString()))
77+
{
78+
modifierKeys.Add(VirtualKeyCode.MENU);
79+
}
80+
if (bool.Parse(jObject["lalt"].ToString()))
81+
{
82+
modifierKeys.Add(VirtualKeyCode.LMENU);
83+
}
84+
if (bool.Parse(jObject["ralt"].ToString()))
85+
{
86+
modifierKeys.Add(VirtualKeyCode.RMENU);
87+
}
88+
89+
// Using KeyDown and KeyUp with delay because some applications doesn't recognize the ModifiedKeyStroke of H.InputSimulator because it's too fast
90+
91+
foreach (VirtualKeyCode modifierKey in modifierKeys)
92+
{
93+
PluginInstance.Main.InputSimulator.Keyboard.KeyDown(modifierKey);
94+
}
95+
96+
PluginInstance.Main.InputSimulator.Keyboard.KeyDown(virtualKeyCode);
97+
98+
Thread.Sleep(100);
99+
100+
PluginInstance.Main.InputSimulator.Keyboard.KeyUp(virtualKeyCode);
101+
102+
foreach (VirtualKeyCode modifierKey in modifierKeys)
103+
{
104+
PluginInstance.Main.InputSimulator.Keyboard.KeyUp(modifierKey);
105+
}
106+
109107
}
110108
}
111-
catch { }
112109
}
110+
catch { }
113111
}
114112
}

Actions/IncreaseVolumeAction.cs

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
11
using SuchByte.MacroDeck.ActionButton;
22
using SuchByte.MacroDeck.Plugins;
33
using SuchByte.WindowsUtils.Language;
4-
using System;
5-
using System.Collections.Generic;
6-
using System.Runtime.InteropServices;
7-
using System.Text;
8-
using System.Windows.Forms;
94
using WindowsInput;
105

11-
namespace SuchByte.WindowsUtils.Actions
12-
{
13-
public class IncreaseVolumeAction : PluginAction
14-
{
6+
namespace SuchByte.WindowsUtils.Actions;
157

16-
public override string Name => PluginLanguageManager.PluginStrings.ActionIncreaseVolume;
8+
public class IncreaseVolumeAction : PluginAction
9+
{
10+
public override string Name => PluginLanguageManager.PluginStrings.ActionIncreaseVolume;
1711

18-
public override string Description => PluginLanguageManager.PluginStrings.ActionIncreaseVolumeDescription;
12+
public override string Description => PluginLanguageManager.PluginStrings.ActionIncreaseVolumeDescription;
1913

20-
public override void Trigger(string clientId, ActionButton actionButton)
21-
{
22-
PluginInstance.Main.InputSimulator.Keyboard.KeyPress(VirtualKeyCode.VOLUME_UP);
23-
}
14+
public override void Trigger(string clientId, ActionButton actionButton)
15+
{
16+
PluginInstance.Main.InputSimulator.Keyboard.KeyPress(VirtualKeyCode.VOLUME_UP);
2417
}
2518
}

0 commit comments

Comments
 (0)