J’essaie de remapper un double faucet du fn clé à différentes combinaisons de touches en fonction de l’software la plus importante. Je peux le faire fonctionner pour une software, mais lorsque j’importe une règle pour la deuxième software, cela ne fonctionne pas. La suppression de la règle pour l’software n°1 lui permettra de fonctionner pour l’software n°2, donc je sais que les règles individuelles fonctionnent correctement. N’est-ce pas attainable de le faire à Karabiner ? Voici le json que j’utilise :
{"title": "double faucet fn",
"guidelines": (
{ "description": "double faucet fn for Cmd-Backslash in VSCode",
"manipulators": (
{
"sort": "primary",
"from": {
"key_code": "fn",
"modifiers": {
"non-obligatory": (
"any"
)
}
},
"to": (
{
"key_code": "backslash",
"modifiers": (
"left_command"
)
}
),
"situations": (
{
"sort": "variable_if",
"identify": "key pressed",
"worth": 1
},
{
"sort": "frontmost_application_if",
"bundle_identifiers": ("^com.microsoft.VSCode$")
}
)
},
{
"sort": "primary",
"from": {
"key_code": "fn",
"modifiers": {
"non-obligatory": (
"any"
)
}
},
"to": (
{
"set_variable": {
"identify": "key pressed",
"worth": 1
}
},
{
"key_code": "fn"
}
),
"description": "to_delayed_action is ready to 400ms in karabiner.json",
"to_delayed_action": {
"to_if_invoked": (
{
"set_variable": {
"identify": "key pressed",
"worth": 0
}
}
),
"to_if_canceled": (
{
"set_variable": {
"identify": "key pressed",
"worth": 0
}
}
)
}
}
)
},
{ "description": "double faucet fn for Cmd-T in FF",
"manipulators": (
{
"sort": "primary",
"from": {
"key_code": "fn",
"modifiers": {
"non-obligatory": (
"any"
)
}
},
"to": (
{
"key_code": "t",
"modifiers": (
"left_command"
)
}
),
"situations": (
{
"sort": "variable_if",
"identify": "key pressed",
"worth": 1
},
{
"sort": "frontmost_application_if",
"bundle_identifiers": ("^org.mozilla.firefox$")
}
)
},
{
"sort": "primary",
"from": {
"key_code": "fn",
"modifiers": {
"non-obligatory": (
"any"
)
}
},
"to": (
{
"set_variable": {
"identify": "key pressed",
"worth": 1
}
},
{
"key_code": "fn"
}
),
"description": "to_delayed_action is ready to 400ms in karabiner.json",
"to_delayed_action": {
"to_if_invoked": (
{
"set_variable": {
"identify": "key pressed",
"worth": 0
}
}
),
"to_if_canceled": (
{
"set_variable": {
"identify": "key pressed",
"worth": 0
}
}
)
}
}
)
}
)
}