Keyboard help

Is the standard to document the keyboard help in a php file, or in the welcome.html, or both?

Both.

The welcome.htm file and any other files (such as keyboard images) it references provide the help packaged with the keyboard. The php (often largely a copy/paste from the body of the welcome.htm file, plus a header) provides the help that is available online at the keyman.com site.

The php has one slight advantage over the welcome.htm: it can make use of KeymanWeb to generate the on screen keyboard.

For example, in the sil_jarai keyboard source, the <div id='osk'> element inserts a set of On Screen Keyboard representations for the modifier states enumerated in data-states. The pattern is similar for <div id='osk-tablet'> and <div id='osk-phone'>:

<h2>Desktop Keyboard Layout</h2>
<div id='osk' data-states='default shift rightalt '>
</div>

<h2>Mobile/Tablet Keyboard Layout</h2>

<p>
	To stay on the Shift layer, double tap on the Shift key.
</p>

<div id='osk-tablet' data-states='default shift alt'>
</div>

Whereas, welcome.htm doesn’t have access to KeymanWeb, so the presentation of the keyboard is, in this case, using images (other keyboards may use generated html, which is hard to maintain):

  <h2>Desktop layout</h2>
	<h3>Default (unshifted)</h3>
	<p><a href="desktop_layoutU_.png"><img width="100%" class="keyboard" src="desktop_layoutU_.png" alt="Default (unshifted) state" /></a></p>
	<h3>Shift</h3>
	<p><a href="desktop_layoutU_S.png"><img width="100%" class="keyboard" src="desktop_layoutU_S.png" alt="Shift state" /></a></p>
	<h3>AltGr (Right Alt)</h3>
	<p><a href="desktop_layoutU_RA.png"><img width="100%" class="keyboard" src="desktop_layoutU_RA.png" alt="AltGr (right Alt) state" /></a></p>

Perhaps we should consider embedding KeymanWeb into Keyman for Windows, just so we can generate these on screen keyboards!