Implement combined axis logic and tests.
This commit is contained in:
parent
a7e78c33f3
commit
49292ff13f
5 changed files with 192 additions and 65 deletions
|
@ -26,26 +26,6 @@ func NewRuleTargetAxis(device_name string,
|
|||
inverted bool,
|
||||
deadzoneStart int32,
|
||||
deadzoneEnd int32) (*RuleTargetAxis, error) {
|
||||
return NewRuleTargetAxisPartial(
|
||||
device_name,
|
||||
device,
|
||||
axis,
|
||||
inverted,
|
||||
deadzoneStart,
|
||||
deadzoneEnd,
|
||||
AxisValueMin,
|
||||
AxisValueMax,
|
||||
)
|
||||
}
|
||||
|
||||
func NewRuleTargetAxisPartial(device_name string,
|
||||
device Device,
|
||||
axis evdev.EvCode,
|
||||
inverted bool,
|
||||
deadzoneStart int32,
|
||||
deadzoneEnd int32,
|
||||
minOutput int32,
|
||||
maxOutput int32) (*RuleTargetAxis, error) {
|
||||
|
||||
info, err := device.AbsInfos()
|
||||
|
||||
|
@ -83,6 +63,8 @@ func NewRuleTargetAxisPartial(device_name string,
|
|||
Device: device,
|
||||
Axis: axis,
|
||||
Inverted: inverted,
|
||||
OutputMin: AxisValueMin,
|
||||
OutputMax: AxisValueMax,
|
||||
DeadzoneStart: deadzoneStart,
|
||||
DeadzoneEnd: deadzoneEnd,
|
||||
deadzoneSize: deadzoneSize,
|
||||
|
@ -125,7 +107,7 @@ func (target *RuleTargetAxis) MatchEventDeviceAndCode(device Device, event *evde
|
|||
|
||||
// TODO: Add tests
|
||||
func (target *RuleTargetAxis) InDeadZone(value int32) bool {
|
||||
return value >= target.DeadzoneStart && value <= target.DeadzoneEnd
|
||||
return target.deadzoneSize > 0 && value >= target.DeadzoneStart && value <= target.DeadzoneEnd
|
||||
}
|
||||
|
||||
// GetAxisStrength returns a float between 0.0 and 1.0, representing the proportional
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue