Skip to content

Always populate trigger list based on key down events #2082

@jambl3r

Description

@jambl3r

Arguments for from @GfEW in #2077

Press "Tap to record trigger", type e. g. Alt+F11 (i. e. Alt_down,F11_down,F11_up,Alt_up, sticking below with whichever Alt key side you choose), and add some action - for the sake of this test e. g. toggle flashlight -, then save the map and type the trigger.
--> Nothing happens.

This is currently intended behaviour. The order of the 'up' events is what determines the order in the list. This situation where nothing happens but the user expected it to (because they replicated their trigger exactly after recording) can be 'solved' with #591 'together in any order' being the default option.

That doesn't make sense to me, because the behaviour encountered in step 1 is inconsistent:

  • recording learns "up" events
  • triggering acts on "down" events.

I think that whichever way KeyMapper chooses, it should stick with it, to ensure recorded triggers are immediately functional without manual reordering. (This worked fine in 3.2.1.)

Whilst ignoring the order of trigger keys would "cover up" the inconsistency discussed above, it might better be resolved (if it exists on A11+).

I find it hard to believe we're talking about the same thing here, because the inconsistency between record and replay event modes really makes no sense.

I've just checked again on a phone with KeyMapper v3.2.1-foss 132 and BT keyboard connected: "record" and "retype" both register key "down" events on that device, and ignore key "up" events.

In v4.0.5-foss 247 however, every multi key trigger I record initially does not work when retyped as recorded. It becomes functional only after manually reversing the displayed order of trigger keys. That discrepancy can't seriously be intentional.

It would work just as fine (well, almost) if both used "up" events instead, but that's not what v4.0.5-foss 247 does here.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestuser experienceissues related to use, usability, ease of understanding

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions