private bool PerformAction(HotKey.Actions action) { switch (action) { case HotKey.Actions.ConnectDisconnect: mCore.HKConnectDisconnect(); break; case HotKey.Actions.Connect: mCore.HKConnect(); break; case HotKey.Actions.Disconnect: mCore.HKDisconnect(); break; case HotKey.Actions.OpenFile: mCore.OpenFile(Application.OpenForms[0]); break; case HotKey.Actions.ReopenLastFile: mCore.ReOpenFile(Application.OpenForms[0]); break; case HotKey.Actions.SaveFile: mCore.SaveProgram(); break; case HotKey.Actions.ExecuteFile: mCore.RunProgram(); break; case HotKey.Actions.AbortFile: mCore.AbortProgram(); break; case HotKey.Actions.HelpOnline: mCore.HelpOnLine(); break; case HotKey.Actions.Reset: mCore.GrblReset(); break; case HotKey.Actions.Homing: mCore.GrblHoming(); break; case HotKey.Actions.Unlock: mCore.GrblUnlock(); break; case HotKey.Actions.PauseJob: mCore.FeedHold(false); break; case HotKey.Actions.ResumeJob: mCore.CycleStartResume(false); break; case HotKey.Actions.SetNewZero: mCore.SetNewZero(); break; case HotKey.Actions.JogHome: RequestJog(GrblCore.JogDirection.Home); break; case HotKey.Actions.JogN: RequestJog(GrblCore.JogDirection.N); break; case HotKey.Actions.JogNE: RequestJog(GrblCore.JogDirection.NE); break; case HotKey.Actions.JogE: RequestJog(GrblCore.JogDirection.E); break; case HotKey.Actions.JogSE: RequestJog(GrblCore.JogDirection.SE); break; case HotKey.Actions.JogS: RequestJog(GrblCore.JogDirection.S); break; case HotKey.Actions.JogSW: RequestJog(GrblCore.JogDirection.SW); break; case HotKey.Actions.JogW: RequestJog(GrblCore.JogDirection.W); break; case HotKey.Actions.JogNW: RequestJog(GrblCore.JogDirection.NW); break; case HotKey.Actions.OverridePowerDefault: case HotKey.Actions.OverridePowerUp: case HotKey.Actions.OverridePowerDown: case HotKey.Actions.OverrideLinearDefault: case HotKey.Actions.OverrideLinearUp: case HotKey.Actions.OverrideLinearDown: case HotKey.Actions.OverrideRapidDefault: case HotKey.Actions.OverrideRapidUp: case HotKey.Actions.OverrideRapidDown: mCore.HotKeyOverride(action); break; case HotKey.Actions.CustomButton1: EmulateCustomButtonDown(0); break; case HotKey.Actions.CustomButton2: EmulateCustomButtonDown(1); break; case HotKey.Actions.CustomButton3: EmulateCustomButtonDown(2); break; case HotKey.Actions.CustomButton4: EmulateCustomButtonDown(3); break; case HotKey.Actions.CustomButton5: EmulateCustomButtonDown(4); break; case HotKey.Actions.CustomButton6: EmulateCustomButtonDown(5); break; case HotKey.Actions.CustomButton7: EmulateCustomButtonDown(6); break; case HotKey.Actions.CustomButton8: EmulateCustomButtonDown(7); break; case HotKey.Actions.CustomButton9: EmulateCustomButtonDown(8); break; case HotKey.Actions.CustomButton10: EmulateCustomButtonDown(9); break; default: break; } //ConnectDisconnect = 10, Connect = 11, Disconnect = 12, //OpenFile = 20, ReopenLastFile = 21, SaveFile = 22, ExecuteFile = 23, //HelpOnline = 30, //Reset = 100, Homing = 101, Unlock = 102, PauseJob = 103, ResumeJob = 104, SetNewZero = 105, //JogHome = 1000, JogN = 1001, JogNE = 1002, JogE = 1003, JogSE = 1004, JogS = 1005, JogSO = 1006, JogO = 1007, JogNO = 1008, //CustomButton1 = 2000, CustomButton2 = 2001, CustomButton3 = 2002, CustomButton4 = 2003, CustomButton5 = 2004, CustomButton6 = 2005, CustomButton7 = 2006, CustomButton8 = 2007, CustomButton9 = 2008, CustomButton10 = 2009 return(true); }