public ConfigEditor(ILog log, MainWindow form) { logger = log; mainWindow = form; resources = new ComponentResourceManager(typeof(ConfigEditor)); aliasResources = new ResXResourceSet(ConfigurationManager.AppSettings["KeyAliasesResxFileName"]); newCombinations = new List <IKeyCombination>(); actionItems = ActionComboBoxKeys(); mouseActionItems = MouseActionsComboBoxItems(); currentCombination = new TwoKeysCombination(); combinationsConfiguration = new KeyCombinationsConfiguration(); combinationsConfiguration.CombinationSize = 2; InitializeComponent(); }
public ConfigEditor(ILog log, MainWindow form, KeyCombinationsConfiguration configuration, string configFileName) { logger = log; mainWindow = form; resources = new ComponentResourceManager(typeof(ConfigEditor)); aliasResources = Globals.AliasResources; combinationsConfiguration = configuration; actionItems = ActionComboBoxKeys(); mouseActionItems = MouseActionsComboBoxItems(); currentCombination = new TwoKeysCombination(); newCombinations = configuration.Combinations.ToList(); InitializeComponent(); this.ConfigNameTxtBox.Text = configFileName.Split('.')[0]; newConfigName = this.ConfigNameTxtBox.Text; }
public void LoadCombinationsConfiguration(IConfigSource config = null) { if (config != null) { configSource = config; } if (configSource == null) { throw new NullReferenceException(nameof(configSource)); } logger.Info("Loading configuration"); combinationsConfig = configSource.ReadConfigFromFile(); logger.Info("configuration loaded"); }
/// <summary> /// Initializes a new instance of the <see cref="KeyboardHook" /> class. /// </summary> /// <param name="log"></param> /// <param name="combinationsConfiguration">The combinations configuration.</param> /// <param name="effects">The sounds effects.</param> /// <param name="helpWindow">Gui helper window</param> public KeyboardHook(ILog log, KeyCombinationsConfiguration combinationsConfiguration, KeysSoundEffects effects, HelpWindow helpWindow = null) { logger = log; hookInstance = LoadPInvokeKernel32Library("User32"); baseConfiguration = combinationsConfiguration; currentCombination = baseConfiguration.GetCombinationInstance(logger); combinationSize = baseConfiguration.CombinationSize; configCombinations = baseConfiguration.Combinations; lastUsedCombination = baseConfiguration.GetCombinationInstance(logger); combinationsKeysVirtualCodes = configCombinations.ToVirtualKeyCodes().ToList(); numericKeypadKeysVirtualCodes = Globals.NumericKeypadVirtualKeyCodes.ToList(); numericKeypadWithShiftKeyVirtualCodes = Globals.NumericKeypadWithShiftVirtualKeyCodes.ToList(); numericKeysVirtualCodes = Globals.NumericVirtualKeyCodes.ToList(); modKeysVirtualCodes = Globals.ModKeysVirtualKeyCodes.ToList(); KeysStateChecker = new WindowsInputDeviceStateAdaptor(); inputSimulator = new InputSimulator(); soundEffects = effects; helperWindow = helpWindow; }
/// <summary> /// Fills the combinations table. /// </summary> /// <param name="logger">The logger.</param> /// <param name="combinationsTable">The combinations table.</param> /// <param name="loadedConfiguration">The loaded configuration.</param> public static void FillCombinationsTable(ILog logger, DataGridView combinationsTable, KeyCombinationsConfiguration loadedConfiguration) { IEnumerable <IKeyCombination> combinations; if (loadedConfiguration == null) { logger.Warn(ConfigurationManager.AppSettings["NoConfigurationLoadedError"]); combinations = new List <IKeyCombination>(); } else { combinations = loadedConfiguration.Combinations; } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { combinationsTable.Rows[i].Cells[j + 1].Value = ""; var searchedCombination = combinations .FirstOrDefault(x => x.HasKeys(i.ToString(), j.ToString())); if (searchedCombination != null) { combinationsTable.Rows[i].Cells[j + 1].Value = string.Join(" ", searchedCombination.Action.ToString()); } } } }