public KeyboardEventConfiguration(KeyboardInputKeyConfiguration inputKeyConfiguration, ModifierConfiguration modifierConfiguration, LockConfiguration lockConfiguration)
        {
            Guard.ObjectNotNull(() => inputKeyConfiguration);
            Guard.ObjectNotNull(() => modifierConfiguration);
            Guard.ObjectNotNull(() => lockConfiguration);

            InputKeyConfiguration = inputKeyConfiguration;
            ModifierConfiguration = modifierConfiguration;
            LockConfiguration     = lockConfiguration;
        }
 public bool CheckIfApplicable(KeyboardInput input)
 {
     return(InputKeyConfiguration.CheckIfApplicable(input.InputKey) &&
            ModifierConfiguration.CheckIfApplicable(input.Modifiers) &&
            LockConfiguration.CheckIfApplicable(input.Locks));
 }