Skip to content

Commit aaedb8a

Browse files
committed
Merge branch 'main' of https://github.com/seerge/g-helper
2 parents 9cdd069 + cbb0af3 commit aaedb8a

File tree

4 files changed

+49
-32
lines changed

4 files changed

+49
-32
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ jobs:
1414
build:
1515
runs-on: windows-2022
1616
steps:
17-
- uses: actions/checkout@v3
17+
- uses: actions/checkout@v4
1818
- name: Setup dotnet
19-
uses: actions/setup-dotnet@v3
19+
uses: actions/setup-dotnet@v4
2020
with:
21-
dotnet-version: |
22-
8.0.x
21+
dotnet-version: '8.0.x'
2322
- name: Build
2423
run: |
2524
dotnet build app/GHelper.sln

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
codeql:
1818
runs-on: windows-2022
1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2121
- name: Initialize CodeQL
2222
uses: github/codeql-action/init@v2
2323
with:

.github/workflows/release.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ jobs:
1313
release:
1414
runs-on: windows-2022
1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717
- name: Setup dotnet
18-
uses: actions/setup-dotnet@v3
18+
uses: actions/setup-dotnet@v4
1919
with:
20-
dotnet-version: |
21-
8.0.x
20+
dotnet-version: '8.0.x'
2221
- name: Publish
2322
run: |
2423
dotnet publish app/GHelper.sln --configuration Release --runtime win-x64 -p:PublishSingleFile=true --no-self-contained

app/Input/InputDispatcher.cs

Lines changed: 42 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using GHelper.Display;
1+
using GHelper.Display;
22
using GHelper.Helpers;
33
using GHelper.Mode;
44
using GHelper.USB;
@@ -26,6 +26,9 @@ public class InputDispatcher
2626
public static Keys keyProfile4 = (Keys)AppConfig.Get("keybind_profile_4", (int)Keys.F20);
2727
public static Keys keyXGM = (Keys)AppConfig.Get("keybind_xgm", (int)Keys.F21);
2828

29+
public static ModifierKeys keyModifier = GetModifierKeys("modifier_keybind", ModifierKeys.Shift | ModifierKeys.Control);
30+
public static ModifierKeys keyModifierAlt = GetModifierKeys("modifier_keybind_alt", ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt);
31+
2932
static ModeControl modeControl = Program.modeControl;
3033
static ScreenControl screenControl = new ScreenControl();
3134

@@ -108,7 +111,23 @@ public void InitBacklightTimer()
108111
AppConfig.Get("keyboard_ac_timeout") > 0 && SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online;
109112
}
110113

114+
private static ModifierKeys GetModifierKeys(string configKey, ModifierKeys defaultModifiers)
115+
{
116+
string configValue = AppConfig.GetString(configKey, "");
117+
118+
if (string.IsNullOrWhiteSpace(configValue))
119+
return defaultModifiers;
120+
121+
ModifierKeys modifiers = ModifierKeys.None;
122+
HashSet<string> keys = new HashSet<string>(configValue.Split('-'), StringComparer.OrdinalIgnoreCase);
111123

124+
if (keys.Contains("win")) modifiers |= ModifierKeys.Win;
125+
if (keys.Contains("shift")) modifiers |= ModifierKeys.Shift;
126+
if (keys.Contains("control")) modifiers |= ModifierKeys.Control;
127+
if (keys.Contains("alt")) modifiers |= ModifierKeys.Alt;
128+
129+
return modifiers;
130+
}
112131

113132
public void RegisterKeys()
114133
{
@@ -119,37 +138,37 @@ public void RegisterKeys()
119138

120139
if (keyProfile != Keys.None)
121140
{
122-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile);
123-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile);
141+
hook.RegisterHotKey(keyModifier, keyProfile);
142+
hook.RegisterHotKey(keyModifierAlt, keyProfile);
124143
}
125144

126-
if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp);
145+
if (keyApp != Keys.None) hook.RegisterHotKey(keyModifier, keyApp);
127146

128147
if (!AppConfig.Is("skip_hotkeys"))
129148
{
130149
if (AppConfig.IsDUO())
131150
{
132-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F7);
133-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F8);
151+
hook.RegisterHotKey(keyModifierAlt, Keys.F7);
152+
hook.RegisterHotKey(keyModifierAlt, Keys.F8);
134153
}
135154

136-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F13);
155+
hook.RegisterHotKey(keyModifierAlt, Keys.F13);
137156

138-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14);
139-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F15);
157+
hook.RegisterHotKey(keyModifierAlt, Keys.F14);
158+
hook.RegisterHotKey(keyModifierAlt, Keys.F15);
140159

141-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile0);
142-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile1);
143-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile2);
144-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile3);
145-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile4);
146-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyXGM);
160+
hook.RegisterHotKey(keyModifierAlt, keyProfile0);
161+
hook.RegisterHotKey(keyModifierAlt, keyProfile1);
162+
hook.RegisterHotKey(keyModifierAlt, keyProfile2);
163+
hook.RegisterHotKey(keyModifierAlt, keyProfile3);
164+
hook.RegisterHotKey(keyModifierAlt, keyProfile4);
165+
hook.RegisterHotKey(keyModifierAlt, keyXGM);
147166

148167
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
149168
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
150169
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
151170
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeUp);
152-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, Keys.F20);
171+
hook.RegisterHotKey(keyModifier, Keys.F20);
153172
}
154173

155174
if (!AppConfig.IsZ13() && !AppConfig.IsAlly() && !AppConfig.IsVivoZenPro())
@@ -160,11 +179,11 @@ public void RegisterKeys()
160179

161180
if (AppConfig.IsAlly())
162181
{
163-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F1);
164-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F2);
165-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F3);
166-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F4);
167-
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F6);
182+
hook.RegisterHotKey(keyModifierAlt, Keys.F1);
183+
hook.RegisterHotKey(keyModifierAlt, Keys.F2);
184+
hook.RegisterHotKey(keyModifierAlt, Keys.F3);
185+
hook.RegisterHotKey(keyModifierAlt, Keys.F4);
186+
hook.RegisterHotKey(keyModifierAlt, Keys.F6);
168187
}
169188

170189
// FN-Lock group
@@ -425,14 +444,14 @@ public void KeyPressed(object sender, KeyPressedEventArgs e)
425444

426445
}
427446

428-
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift))
447+
if (e.Modifier == keyModifier)
429448
{
430449
if (e.Key == keyProfile) modeControl.CyclePerformanceMode();
431450
if (e.Key == keyApp) Program.SettingsToggle();
432451
if (e.Key == Keys.F20) ToggleMic();
433452
}
434453

435-
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift | ModifierKeys.Alt))
454+
if (e.Modifier == keyModifierAlt)
436455
{
437456
if (e.Key == keyProfile) modeControl.CyclePerformanceMode(true);
438457

0 commit comments

Comments
 (0)