I am a long-time user of both DEVONthink and Typinator. Some of my Typinator expansions do not work as expected in DT, but they work just fine in other apps such as TextEdit. Here’s an example:
Given this text:
Expanding a simple Typinator rule that should insert “ABC” at the cursor position does this instead:
In other words, it “eats” the carriage return on the previous line. I’ve tried this in plain text, Markdown, and RTF documents. Same results in all.
Has anyone else experienced problems like this using Typinator in DEVONthink?
I’m not seeing any issue with a simple expansion of t1 —> ABC.
On further investigation, it appears that the problem has something to do with an interaction between Typinator and Keyboard Maestro. Although I don’t have any macros defined in Keyboard Maestro which use the same trigger as the problematic Typinator expansion, if I exit the Keyboard Maestro engine, the expansion works fine, but if I restart Keyboard Maestro, the expansion fails.
Why not use KM to make expansions too?
I use Typinator extensively for expansions and forms, and KM for other macros. Typinator expansion sets can be limited to a single app, or excluded from a single app. And KM macros can be limited to a single app, or excluded from a single app. So if you have a keyboard shortcut that needs to occur in both Typinator and KM, then tweak the scope settings in one or both.
In response to Jim’s question about why not use KM for expansions, I tend to favor Typinator for 2 reasons:
- It actually handles text triggers (as opposed to, say, hotkey triggers) a little better.
- It’s incredibly easy to create a substitution on-the-fly in Typinator.
Problem solved and it’s entirely my fault…
I have the B and Y keys mapped to a DEVONthink group in Keyboard Maestro such that if I am in a highlighting state, they select a blue or yellow highlighter color, and if KM is not in this state, they would work as normal B and Y keys. I have another KM macro that toggles the highlighting state with ⌥H.
Although KM was not in the highlighting state, I think a race condition occurred between Typinator and KM whenever a substitution was triggered by a pattern that contained a “B” or a “Y”.
For now, I disabled the KM macros, and all is well again with the world!