Add config settings for combined axis.
This commit is contained in:
parent
49292ff13f
commit
ab8698ea9a
3 changed files with 28 additions and 0 deletions
|
@ -49,6 +49,8 @@ func (parser *ConfigParser) BuildRules(pInputDevs map[string]*evdev.InputDevice,
|
||||||
newRule, err = makeMappingRuleLatched(ruleConfig, pDevs, vDevs, base)
|
newRule, err = makeMappingRuleLatched(ruleConfig, pDevs, vDevs, base)
|
||||||
case RuleTypeAxis:
|
case RuleTypeAxis:
|
||||||
newRule, err = makeMappingRuleAxis(ruleConfig, pDevs, vDevs, base)
|
newRule, err = makeMappingRuleAxis(ruleConfig, pDevs, vDevs, base)
|
||||||
|
case RuleTypeAxisCombined:
|
||||||
|
newRule, err = makeMappingRuleAxisCombined(ruleConfig, pDevs, vDevs, base)
|
||||||
case RuleTypeAxisToButton:
|
case RuleTypeAxisToButton:
|
||||||
newRule, err = makeMappingRuleAxisToButton(ruleConfig, pDevs, vDevs, base)
|
newRule, err = makeMappingRuleAxisToButton(ruleConfig, pDevs, vDevs, base)
|
||||||
case RuleTypeAxisToRelaxis:
|
case RuleTypeAxisToRelaxis:
|
||||||
|
@ -146,6 +148,29 @@ func makeMappingRuleAxis(ruleConfig RuleConfig,
|
||||||
return mappingrules.NewMappingRuleAxis(base, input, output), nil
|
return mappingrules.NewMappingRuleAxis(base, input, output), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func makeMappingRuleAxisCombined(ruleConfig RuleConfig,
|
||||||
|
pDevs map[string]Device,
|
||||||
|
vDevs map[string]Device,
|
||||||
|
base mappingrules.MappingRuleBase) (*mappingrules.MappingRuleAxisCombined, error) {
|
||||||
|
|
||||||
|
inputLower, err := makeRuleTargetAxis(ruleConfig.InputLower, pDevs)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
inputUpper, err := makeRuleTargetAxis(ruleConfig.InputUpper, pDevs)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
output, err := makeRuleTargetAxis(ruleConfig.Output, vDevs)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return mappingrules.NewMappingRuleAxisCombined(base, inputLower, inputUpper, output), nil
|
||||||
|
}
|
||||||
|
|
||||||
func makeMappingRuleAxisToButton(ruleConfig RuleConfig,
|
func makeMappingRuleAxisToButton(ruleConfig RuleConfig,
|
||||||
pDevs map[string]Device,
|
pDevs map[string]Device,
|
||||||
vDevs map[string]Device,
|
vDevs map[string]Device,
|
||||||
|
|
|
@ -32,6 +32,8 @@ type RuleConfig struct {
|
||||||
Name string `yaml:"name,omitempty"`
|
Name string `yaml:"name,omitempty"`
|
||||||
Type string `yaml:"type"`
|
Type string `yaml:"type"`
|
||||||
Input RuleTargetConfig `yaml:"input,omitempty"`
|
Input RuleTargetConfig `yaml:"input,omitempty"`
|
||||||
|
InputLower RuleTargetConfig `yaml:"input_lower,omitempty"`
|
||||||
|
InputUpper RuleTargetConfig `yaml:"input_upper,omitempty"`
|
||||||
Inputs []RuleTargetConfig `yaml:"inputs,omitempty"`
|
Inputs []RuleTargetConfig `yaml:"inputs,omitempty"`
|
||||||
Output RuleTargetConfig `yaml:"output"`
|
Output RuleTargetConfig `yaml:"output"`
|
||||||
Modes []string `yaml:"modes,omitempty"`
|
Modes []string `yaml:"modes,omitempty"`
|
||||||
|
|
|
@ -12,6 +12,7 @@ const (
|
||||||
RuleTypeButtonCombo = "button-combo"
|
RuleTypeButtonCombo = "button-combo"
|
||||||
RuleTypeLatched = "button-latched"
|
RuleTypeLatched = "button-latched"
|
||||||
RuleTypeAxis = "axis"
|
RuleTypeAxis = "axis"
|
||||||
|
RuleTypeAxisCombined = "axis-combined"
|
||||||
RuleTypeModeSelect = "mode-select"
|
RuleTypeModeSelect = "mode-select"
|
||||||
RuleTypeAxisToButton = "axis-to-button"
|
RuleTypeAxisToButton = "axis-to-button"
|
||||||
RuleTypeAxisToRelaxis = "axis-to-relaxis"
|
RuleTypeAxisToRelaxis = "axis-to-relaxis"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue