Does PressAndHold automatically combine region with general language? The .plists in PressAndHold.app for en and en_US have different sets of &lt;key&lt; definitions with no overlap.  Some have a different naming style.  Do they get combined if a US locale is selected?

OR where is there any Apple documentation to explain the gory details of how this thing works?  (searching developer.apple.com found nothing useful)

There are a lot of things here in Apple.SE and elsewhere that talk about specific edits, but I haven't found anything that explains some of the odd differences between the two files.

The biggest reason I'm interested is that all the pop-ups I can find a key for are specified as &amp;lt;key&amp;lt;Roman-Accent-[key]&amp;lt;/key&amp;lt; but I'd like to find a way to get the pop-ups specified with UI.

   &lt;key&gt;UI-Currency-$&lt;/key&gt;
   &lt;dict&gt;
      &lt;key&gt;Direction&lt;/key&gt;
      &lt;string&gt;right&lt;/string&gt;
      &lt;key&gt;Keycaps&lt;/key&gt;
      &lt;string&gt;$ ¢&lt;/string&gt;
      &lt;key&gt;Strings&lt;/key&gt;
      &lt;string&gt;$ ¢&lt;/string&gt;
   &lt;/dict&gt;
   &lt;key&gt;UI-TopLevelDomain&lt;/key&gt;
   &lt;dict&gt;
      &lt;key&gt;Direction&lt;/key&gt;
      &lt;string&gt;left&lt;/string&gt;
      &lt;key&gt;Keycaps&lt;/key&gt;
      &lt;string&gt;.com .net .edu .org .us&lt;/string&gt;
      &lt;key&gt;Strings&lt;/key&gt;
      &lt;string&gt;.com .net .edu .org .us&lt;/string&gt;
   &lt;/dict&gt;
I can’t be sure, but I suspect the answer is NO.

I finally found some pages about how “firmlinks” can be created. One said I would have to specify them in /usr/share/firmlinks. Another said that file is only for directories from Apple and users must specify them in /etc/synthetic.conf.

Neither method worked, using the syntax in the pages’ examples.

But then I learned that the file I should modify is not actually in the read-only area.  So I made the changes I wanted and tried it out.  Didn’t work!

A little more investigation revealed that Apple put an identical file in the read-only area which overrides the one in the data area.  Copied the one I had edited into the read-only area, and the pop-ups I had added worked.