This checkbox is there because of a difficult path that we have to work through with mnemonic layouts. Deadkeys, especially with punctuation or diacritic style characters, on the hardware keyboard often conflict with overrides in a Keyman mnemonic layout.
This may be easiest to explain with an example. Let’s say your backquote key ` on your hardware keyboard is a deadkey. You can type `, a to get
à. However your favourite Keyman keyboard adds support for
ȁ. If the
Treat hardware deadkeys as plain keys option is off, then you’d need to type `, spacebar, `, spacebar, a to get it – which is cumbersome, and non-intuitive. When this option is on, you can type `, `, a to get all your doubly graved goodness.
I don’t really have a perfect answer for this. A good solution (especially for the end user) may be to make a positional Keyman keyboard that replicates the LA keyboard (you can import the LA keyboard in Keyman Developer as a starting point), and then extend that with the extra functionality that you want.
(Note that you can also continue to use a mnemonic layout and add base layout-specific features with the
Mnemonic layouts feel nice for the keyboard developer, especially at first. But they do come with a bunch of compromises which become increasingly tricky to address.