Skip to content

Commit

Permalink
configurable key bindings without recompiling
Browse files Browse the repository at this point in the history
  • Loading branch information
jnnnnn committed Dec 13, 2016
1 parent 1d620b5 commit a938096
Show file tree
Hide file tree
Showing 4 changed files with 360 additions and 25 deletions.
66 changes: 66 additions & 0 deletions EDAP/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,72 @@
<setting name="Scale" serializeAs="String">
<value>1</value>
</setting>
<setting name="keyThrottle0" serializeAs="String">
<value>KEY_X</value>
</setting>
<setting name="keyThrottle50" serializeAs="String">
<value>KEY_P</value>
</setting>
<setting name="keyThrottleReduce25" serializeAs="String">
<value>KEY_Q</value>
</setting>
<setting name="keyThrottle100" serializeAs="String">
<value>KEY_F</value>
</setting>
<setting name="keyBoost" serializeAs="String">
<value>TAB</value>
</setting>
<setting name="keyNextDestination" serializeAs="String">
<value>KEY_N</value>
</setting>
<setting name="keyFire1" serializeAs="String">
<value>KEY_O</value>
</setting>
<setting name="keyHyperspace" serializeAs="String">
<value>KEY_G</value>
</setting>
<setting name="keyNavMenu" serializeAs="String">
<value>KEY_1</value>
</setting>
<setting name="keyRight" serializeAs="String">
<value>KEY_D</value>
</setting>
<setting name="keySelect" serializeAs="String">
<value>SPACEBAR</value>
</setting>
<setting name="keyMenuTabRight" serializeAs="String">
<value>KEY_E</value>
</setting>
<setting name="keyDown" serializeAs="String">
<value>KEY_S</value>
</setting>
<setting name="keySystemMap" serializeAs="String">
<value>KEY_6</value>
</setting>
<setting name="keySysMapScrollRight" serializeAs="String">
<value>KEY_K</value>
</setting>
<setting name="keyScreenshot" serializeAs="String">
<value>F10</value>
</setting>
<setting name="keyRollLeft" serializeAs="String">
<value>NUMPAD_7</value>
</setting>
<setting name="keyRollRight" serializeAs="String">
<value>NUMPAD_9</value>
</setting>
<setting name="keyPitchUp" serializeAs="String">
<value>NUMPAD_5</value>
</setting>
<setting name="keyPitchDown" serializeAs="String">
<value>NUMPAD_8</value>
</setting>
<setting name="keyYawLeft" serializeAs="String">
<value>NUMPAD_4</value>
</setting>
<setting name="keyYawRight" serializeAs="String">
<value>NUMPAD_6</value>
</setting>
</EDAP.Properties.Settings>
</applicationSettings>
</configuration>
55 changes: 30 additions & 25 deletions EDAP/Pilot.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,30 +27,35 @@ class PilotJumper
public const int TIMERINTERVAL_MS = 100;
public string status = "";

private ScanCode keyThrottle0 = ScanCode.KEY_X;
private ScanCode keyThrottle50 = ScanCode.KEY_P;
private ScanCode keyThrottleReduce25 = ScanCode.KEY_Q;
private ScanCode keyThrottle100 = ScanCode.KEY_F;
private ScanCode keyBoost = ScanCode.TAB;
private ScanCode keyNextDestination = ScanCode.KEY_N;
private ScanCode keyFire1 = ScanCode.KEY_O; // fire discovery scanner
private ScanCode keyHyperspace = ScanCode.KEY_G;

private ScanCode keyNavMenu = ScanCode.KEY_1;
private ScanCode keyRight = ScanCode.KEY_D;
private ScanCode keySelect = ScanCode.SPACEBAR;
private ScanCode keyMenuTabRight = ScanCode.KEY_E;
private ScanCode keyDown = ScanCode.KEY_S;
private ScanCode keySystemMap = ScanCode.KEY_6;
private ScanCode keySysMapScrollRight = ScanCode.KEY_K;
private ScanCode keyScreenshot = ScanCode.F10;

private ScanCode keyRollLeft = ScanCode.NUMPAD_7;
private ScanCode keyRollRight = ScanCode.NUMPAD_9;
private ScanCode keyPitchUp = ScanCode.NUMPAD_5;
private ScanCode keyPitchDown = ScanCode.NUMPAD_8;
private ScanCode keyYawLeft = ScanCode.NUMPAD_4;
private ScanCode keyYawRight = ScanCode.NUMPAD_6;
private ScanCode keyThrottle0 = parseKeyBinding(Properties.Settings.Default.keyThrottle0);
private ScanCode keyThrottle50 = parseKeyBinding(Properties.Settings.Default.keyThrottle50);
private ScanCode keyThrottleReduce25 = parseKeyBinding(Properties.Settings.Default.keyThrottleReduce25);
private ScanCode keyThrottle100 = parseKeyBinding(Properties.Settings.Default.keyThrottle100);
private ScanCode keyBoost = parseKeyBinding(Properties.Settings.Default.keyBoost);
private ScanCode keyNextDestination = parseKeyBinding(Properties.Settings.Default.keyNextDestination);
private ScanCode keyFire1 = parseKeyBinding(Properties.Settings.Default.keyFire1);
private ScanCode keyHyperspace = parseKeyBinding(Properties.Settings.Default.keyHyperspace);

private ScanCode keyNavMenu = parseKeyBinding(Properties.Settings.Default.keyNavMenu);
private ScanCode keyRight = parseKeyBinding(Properties.Settings.Default.keyRight);
private ScanCode keySelect = parseKeyBinding(Properties.Settings.Default.keySelect);
private ScanCode keyMenuTabRight = parseKeyBinding(Properties.Settings.Default.keyMenuTabRight);
private ScanCode keyDown = parseKeyBinding(Properties.Settings.Default.keyDown);
private ScanCode keySystemMap = parseKeyBinding(Properties.Settings.Default.keySystemMap);
private ScanCode keySysMapScrollRight = parseKeyBinding(Properties.Settings.Default.keySysMapScrollRight);
private ScanCode keyScreenshot = parseKeyBinding(Properties.Settings.Default.keyScreenshot);

private ScanCode keyRollLeft = parseKeyBinding(Properties.Settings.Default.keyRollLeft);
private ScanCode keyRollRight = parseKeyBinding(Properties.Settings.Default.keyRollRight);
private ScanCode keyPitchUp = parseKeyBinding(Properties.Settings.Default.keyPitchUp);
private ScanCode keyPitchDown = parseKeyBinding(Properties.Settings.Default.keyPitchDown);
private ScanCode keyYawLeft = parseKeyBinding(Properties.Settings.Default.keyYawLeft);
private ScanCode keyYawRight = parseKeyBinding(Properties.Settings.Default.keyYawRight);

static private ScanCode parseKeyBinding(string s)
{
return (ScanCode)Enum.Parse(typeof(ScanCode), s);
}

[Flags]
public enum PilotState
Expand Down Expand Up @@ -152,7 +157,7 @@ public void Act()
// just in case, we should make sure no keys have been forgotten about
if (OncePerJump(PilotState.clearedJump))
{
keyboard.Tap(throttle0); // cut throttle
keyboard.Tap(keyThrottle0); // cut throttle
keyboard.Clear();
}

Expand Down
198 changes: 198 additions & 0 deletions EDAP/Properties/Settings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a938096

Please sign in to comment.