There is a feature in QuickSilver's triggers that I rely heavily on, which is assigning an action to a key when it's hold down for a minimum amount of time.
What this has allowed me to do:
Short-press F1 => sends F1 to the currently focused app
Longer-press F1 (e.g. for > 0.1s or 0.2s; configurable) => Do my configured action (and don't send F1)
I have hold keys assigned to all my function keys that activate specific apps, and I'd really love to be able to do it without relying on Quicksilver
Ah, sorry, of course you have to delete all pre defined F10 Mac Os or App actions first in the system preferences. Otherwise these actions are also executed. F10 should only do what you record with key sequencer.
What you recorded looks like it should.
To be sure, I did a few attempts with F10. For example:
Short pressed: launch App A
Long pressed: launch App B
Or different action in the same App
Everything works perfectly.
Your long pressed action is launch Chrome? What is the short pressed action?
It's in my first post :-). I want short-pressed keys to send the keystroke (so it gets caught by either the OS or the currently active app) and do nothing else, and long-press keys to be swallowed (i.e. not to be sent to the OS or app) and do the action instead. (So your suggestion - to disable the original keystrokes from the app or macOS obviously defeats the purpose)
For example, in multiple of my apps, the F2 key allows me to rename an object. (Every spreadsheet has this, for example). I also want to use it - when long pressed - to open my calendar, and NOT trigger the rename action on any other app.
What QuickSilver does: it defers the keypress on key down, and when the key is lifted up again, depending on how long it's been held, it either sends the deferred keystroke, or it disposes of it and executes the action.
The reason why this can never work with key sequences is that key sequences never defer or swallow keystrokes, it's simply not what they're designed to do. (It would be horrible if they did, imagine a key sequence that requires you to press "A-B-C" in order; your A-key would globally completely stop working because BTT would be waiting for you to press B.)
The alternative that BTT has (sending or after completing a sequence) is fine for simple text replacements, but not really useful if you don't know what the effect of the keypresses has been.