Bugfixes.
This commit is contained in:
parent
4c76ad4f49
commit
f773897509
2 changed files with 25 additions and 24 deletions
|
@ -20,7 +20,11 @@ func (rule *MappingRuleBase) modeCheck(mode *string) bool {
|
|||
|
||||
// eventFromTarget creates an outputtable event from a RuleTarget
|
||||
func eventFromTarget(output RuleTarget, value int32, mode *string) *evdev.InputEvent {
|
||||
// TODO: this could perhaps use some sort of multiclassing... then again, maybe this is fine?
|
||||
if len(output.ModeSelect) > 0 {
|
||||
if value == 0 {
|
||||
return nil
|
||||
}
|
||||
index := 0
|
||||
if currentMode := slices.Index(output.ModeSelect, *mode); currentMode != -1 {
|
||||
// find the next mode
|
||||
|
@ -28,8 +32,10 @@ func eventFromTarget(output RuleTarget, value int32, mode *string) *evdev.InputE
|
|||
}
|
||||
|
||||
*mode = output.ModeSelect[index]
|
||||
logger.Logf("Mode changed to '%s'", *mode)
|
||||
return nil
|
||||
}
|
||||
|
||||
return &evdev.InputEvent{
|
||||
Type: output.Type,
|
||||
Code: output.Code,
|
||||
|
@ -64,10 +70,6 @@ func (rule *SimpleMappingRule) MatchEvent(device *evdev.InputDevice, event *evde
|
|||
return nil
|
||||
}
|
||||
|
||||
if event.Type != evdev.EV_ABS {
|
||||
logger.Logf("DEBUG: mode check passed for rule '%s'. Mode '%s' modes '%v'", rule.Name, *mode, rule.Modes)
|
||||
}
|
||||
|
||||
if device != rule.Input.Device ||
|
||||
event.Code != rule.Input.Code {
|
||||
return nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue