Example #1
0
 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();
 }
Example #2
0
 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;
 }
Example #3
0
        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");
        }
Example #4
0
 /// <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;
 }
Example #5
0
        /// <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());
                    }
                }
            }
        }