For a while, I have been trying to use the "Delete" button to go 1 folder back in Finder and "Return" button to open the folder/file. This has been a feature of Windows File Explorer forever and wanted to replicate this behavior in MacOS.
Whenever I tried implementing this, it always resulted in breaking something or the other like when trying to rename a file or when using spotlight.
Finally I figured out and wanted to post this so others may find it useful.
Create a Conditional Activation Group
Give it whatever name you like. I named it "Finder" for easy reference
Add the following rules:
Change to "ALL" of the following are true
App Name contains "Finder"
Focused Element Role is "AXOutline"
Save
Add the following 2 Triggers:
Test it out. With this method, the triggers won't work on desktop or when renaming or anywhere else. Only when you are in a Finder window and navigating.
good job! thanks. I had encountered the same issues so this awesome. Implementation seems to be working great with no problems when renaming or using spotlight/Alfred etc
thanks
actually i did run into some issues-IIRC when renaming files the delete would not delete but instead moved back/up in the folder structure. This was one of the couple issues that I had encountered before. Was able to fix it and get iit working by adding a couple new triggers for the delete key and adding some advanced conditions to them using the condition element_focused contains (and the one not containing) AXtextfield. Added the 2 desired actions, the default delete and then cmd up or cmd [ depending yourr preference of back or folder up
1 Like
[
{
"BTTLastUpdatedAt" : 1686803905.166939,
"BTTTriggerConditionsReadOnly" : "NOT (focused_element_details CONTAINS "AXTextField")",
"BTTTriggerConditions" : "YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGvEBgLDBMYHCAoMjM2PUFGR0pOUlZXWmBkaGpVJG51bGzTDQ4PEBESXxAXTlNDb21wb3VuZFByZWRpY2F0ZVR5cGVfEA9OU1N1YnByZWRpY2F0ZXNWJGNsYXNzEACAAoAX0hQPFRdaTlMub2JqZWN0c6EWgAOAFtMNDg8ZGhIQAoAEgBfSFA8dF6EegAWAFtQPISIjJCUmJ18QEU5TUmlnaHRFeHByZXNzaW9uXxAQTlNMZWZ0RXhwcmVzc2lvbl8QE05TUHJlZGljYXRlT3BlcmF0b3KAFYAQgAaAE9UpKissDy0uLzAxWU5TT3BlcmFuZF5OU1NlbGVjdG9yTmFtZV8QEE5TRXhwcmVzc2lvblR5cGVbTlNBcmd1bWVudHOACIAHEAOACoAPXHZhbHVlRm9yS2V5OtIrDzQ1EAGACdI3ODk6WiRjbGFzc25hbWVYJGNsYXNzZXNfEBBOU1NlbGZFeHByZXNzaW9uozk7PFxOU0V4cHJlc3Npb25YTlNPYmplY3TSFA8+QKE_gAuADtMPK0JDREVZTlNLZXlQYXRogA0QCoAMXxAXZm9jdXNlZF9lbGVtZW50X2RldGFpbHPSNzhISV8QHE5TS2V5UGF0aFNwZWNpZmllckV4cHJlc3Npb26jSDs80jc4S0xeTlNNdXRhYmxlQXJyYXmjS008V05TQXJyYXnSNzhPUF8QE05TS2V5UGF0aEV4cHJlc3Npb26kT1E7PF8QFE5TRnVuY3Rpb25FeHByZXNzaW9u01MrD1QQVV8QD05TQ29uc3RhbnRWYWx1ZYARgBJbQVhUZXh0RmllbGTSNzhYWV8QGU5TQ29uc3RhbnRWYWx1ZUV4cHJlc3Npb26jWDs81A9bXF1eEBBfWk5TTW9kaWZpZXJXTlNGbGFnc15OU09wZXJhdG9yVHlwZYAUEGPSNzhhYl8QFU5TSW5QcmVkaWNhdGVPcGVyYXRvcqNhYzxfEBNOU1ByZWRpY2F0ZU9wZXJhdG9y0jc4ZWZfEBVOU0NvbXBhcmlzb25QcmVkaWNhdGWjZWc8W05TUHJlZGljYXRl0jc4TWmiTTzSNzhrbF8QE05TQ29tcG91bmRQcmVkaWNhdGWja2c8AAgAEQAaACQAKQAyADcASQBMAFEAUwBuAHQAewCVAKcArgCwALIAtAC5AMQAxgDIAMoA0QDTANUA1wDcAN4A4ADiAOsA_wESASgBKgEsAS4BMAE7AUUBVAFnAXMBdQF3AXkBewF9AYoBjwGRAZMBmAGjAawBvwHDAdAB2QHeAeAB4gHkAesB9QH3AfkB+wIVAhoCOQI9AkICUQJVAl0CYgJ4An0ClAKbAq0CrwKxAr0CwgLeAuIC6wL2Av4DDQMPAxEDFgMuAzIDSANNA2UDaQN1A3oDfQOCA5gAAAAAAAACAQAAAAAAAABtAAAAAAAAAAAAAAAAAAADnA==",
"BTTTriggerType" : 0,
"BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
"BTTLayoutIndependentActionChar" : "UP",
"BTTAutoAdaptActionToKeyboardLayout" : true,
"BTTShortcutToSend" : "55,126",
"BTTAdditionalConfiguration" : "0",
"BTTKeyboardShortcutKeyboardType" : 0,
"BTTUUID" : "01357C95-205F-4992-8FF2-CFF3FC4BCF10",
"BTTTriggerOnDown" : 1,
"BTTLayoutIndependentChar" : "DELETE",
"BTTEnabled" : 1,
"BTTEnabled2" : 1,
"BTTShortcutKeyCode" : 51,
"BTTShortcutModifierKeys" : 0,
"BTTOrder" : 1,
"BTTAutoAdaptToKeyboardLayout" : 0
},
{
"BTTLastUpdatedAt" : 1686803905.146318,
"BTTTriggerConditionsReadOnly" : "focused_element_details CONTAINS "AXTextField"",
"BTTTriggerConditions" : "YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGvEBYLDBMYICorLTQ4PT5BRUlOT1JYXGBiVSRudWxs0w0ODxAREl8QF05TQ29tcG91bmRQcmVkaWNhdGVUeXBlXxAPTlNTdWJwcmVkaWNhdGVzViRjbGFzcxABgAKAFdIUDxUXWk5TLm9iamVjdHOhFoADgBTUDxkaGxwdHh9fEBFOU1JpZ2h0RXhwcmVzc2lvbl8QEE5TTGVmdEV4cHJlc3Npb25fEBNOU1ByZWRpY2F0ZU9wZXJhdG9ygBOADoAEgBHVISIjJA8lJicoKVlOU09wZXJhbmReTlNTZWxlY3Rvck5hbWVfEBBOU0V4cHJlc3Npb25UeXBlW05TQXJndW1lbnRzgAaABRADgAiADVx2YWx1ZUZvcktleTrSIw8QLIAH0i4vMDFaJGNsYXNzbmFtZVgkY2xhc3Nlc18QEE5TU2VsZkV4cHJlc3Npb26jMDIzXE5TRXhwcmVzc2lvblhOU09iamVjdNIUDzU3oTaACYAM0w8jOTo7PFlOU0tleVBhdGiACxAKgApfEBdmb2N1c2VkX2VsZW1lbnRfZGV0YWlsc9IuLz9AXxAcTlNLZXlQYXRoU3BlY2lmaWVyRXhwcmVzc2lvbqM_MjPSLi9CQ15OU011dGFibGVBcnJheaNCRDNXTlNBcnJhedIuL0ZHXxATTlNLZXlQYXRoRXhwcmVzc2lvbqRGSDIzXxAUTlNGdW5jdGlvbkV4cHJlc3Npb27TSiMPS0xNXxAPTlNDb25zdGFudFZhbHVlgA8QAIAQW0FYVGV4dEZpZWxk0i4vUFFfEBlOU0NvbnN0YW50VmFsdWVFeHByZXNzaW9uo1AyM9QPU1RVVkxMV1pOU01vZGlmaWVyV05TRmxhZ3NeTlNPcGVyYXRvclR5cGWAEhBj0i4vWVpfEBVOU0luUHJlZGljYXRlT3BlcmF0b3KjWVszXxATTlNQcmVkaWNhdGVPcGVyYXRvctIuL11eXxAVTlNDb21wYXJpc29uUHJlZGljYXRlo11fM1tOU1ByZWRpY2F0ZdIuL0RhokQz0i4vY2RfEBNOU0NvbXBvdW5kUHJlZGljYXRlo2NfMwAIABEAGgAkACkAMgA3AEkATABRAFMAbAByAHkAkwClAKwArgCwALIAtwDCAMQAxgDIANEA5QD4AQ4BEAESARQBFgEhASsBOgFNAVkBWwFdAV8BYQFjAXABdQF3AXwBhwGQAaMBpwG0Ab0BwgHEAcYByAHPAdkB2wHdAd8B+QH+Ah0CIQImAjUCOQJBAkYCXAJhAngCfwKRApMClQKXAqMCqALEAsgC0QLcAuQC8wL1AvcC_AMUAxgDLgMzA0sDTwNbA2ADYwNoA34AAAAAAAACAQAAAAAAAABlAAAAAAAAAAAAAAAAAAADgg==",
"BTTTriggerType" : 0,
"BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
"BTTLayoutIndependentActionChar" : "DELETE",
"BTTAutoAdaptActionToKeyboardLayout" : true,
"BTTShortcutToSend" : "51",
"BTTAdditionalConfiguration" : "0",
"BTTKeyboardShortcutScope" : 0,
"BTTKeyboardShortcutKeyboardType" : 0,
"BTTUUID" : "9F525CA0-6835-4F4B-BD16-84245F6C4B16",
"BTTTriggerOnDown" : 1,
"BTTLayoutIndependentChar" : "DELETE",
"BTTEnabled" : 1,
"BTTEnabled2" : 1,
"BTTShortcutKeyCode" : 51,
"BTTShortcutModifierKeys" : 0,
"BTTOrder" : 2,
"BTTAutoAdaptToKeyboardLayout" : 0,
"BTTTriggerConfig" : {
"BTTKeyboardPreventRecursiveTriggers" : 1
}
}
]
That's strange. I haven't run in to any issues yet but I will keep this in mind if I do. Thanks!
Can you provide / update this as an exported preset? I am unable to "paste" it back into BTT, and apparently using presets is the proper way of doing this -- more info here: Presets · GitBook
mitev88
September 11, 2023, 8:25am
7
Great Job! Works like a charm for me!
Ppau
November 8, 2024, 11:37am
8
Thanks! I didn't know about conditional activation groups
I mapped these to key sequences (double tapping Enter anf Shift respectively), and it works great!