OK I found a new way to directly run the macro using bixby key but it's a little bit tricky. Go to Bixby key setting - choose double press to open Bixby - disable "use single press" option.
Next the tricky part is to identify the logcat message when you single press the bixby key. I use the app "logcat reader" to get the message ( need to do ADB hack to make the app work). In the logcat reader app, press start button then single press the bixby button then press stop button in the app. Then search for "bixby", now your job is identify the right logcat message for the single press of bixby key. For my phone, it is something like this (WinkService) [bixby_latency]::key = [wink_service], not sure it will work with other samsung phones but you can try my logcat message.
In MacroDroid
Trigger
- Device actions -> logcat message -> copy and paste the message that you found in logcat reader app -> ok.
Action
- whatever you want
So now everytime you press the bixby key, It will trigger your macro straightway. Cheer!