Reloading altered keyboard layout
According to a thread in the Ukelele group, changing the key layout ID before installing can cause OS X to load the new layout. This should be done on a working copy of the layout bundle, not an installed one, and may not work in newer versions of OS X (I could not get it to work under High Sierra). If changing the ID doesn't work for you, logging out and back in again should reload keyboard layouts.
Steps:

Open a working copy of the layout bundle in Ukelele. Note this can't be an installed, active layout (i.e. one in a relevant &quot;Library/Keyboard Layouts&quot; folder).
Generate a new ID:

In Ukelele's list of keyboard layouts for the bundle, right-click the layout and choose &quot;Set Keyboard Name and Script…&quot;.
Change the script (e.g. from &quot;Unicode&quot; to &quot;Roman&quot;), taking note of the original value.
Click OK
Repeat the last 3 steps and change the script back to the original value.
Save the layout.


If an older copy of the layout is installed, remove it from the relevant &quot;Keyboard Layout&quot; folder.
Copy the updated layout to the relevant &quot;Keyboard Layout&quot; folder.

Under the hood, this changes the &quot;id&quot; attribute of the root &lt;keyboard&gt; element in Contents/Resources/&lt;name&gt;.layout within the bundle.