spiegel-keyman/web/docs/engine/guide/examples/__full-manual-control.html
Eberhard Beilharz 9ced04684a
chore(web): improve the KeymanWeb integration documentation
- replace use of `kmw` with `keyman`
- unify pattern to load keyboards: do it in `keyman.init().then()` instead
  of in the document `onload`

Part-of: keymanapp/keyman.com#449
Test-bot: skip
2026-06-03 19:37:08 +02:00

50 lines
1.4 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<script src='https://s.keyman.com/kmw/engine/17.0.331/keymanweb.js'></script>
<script type='text/javascript' src='js/unified_loader.js'></script>
<script type="text/javascript">
var KWControl = null;
keyman.init().then(async function() {
// Load the keyboards of your choice here.
await loadKeyboards();
KWControl = document.getElementById('KWControl');
var kbds = keyman.getKeyboards();
for(var kbd in kbds)
{
var opt = document.createElement('OPTION');
opt.value = kbds[kbd].InternalName + "$$" + kbds[kbd].LanguageCode;
opt.innerHTML = kbds[kbd].Name;
KWControl.appendChild(opt);
}
document.f.multilingual.focus();
keyman.setActiveKeyboard('', '');
});
function KWControlChange() {
var name = KWControl.value.substr(0, KWControl.value.indexOf("$$"));
var languageCode = KWControl.value.substr(KWControl.value.indexOf("$$") + 2);
keyman.setActiveKeyboard(name, languageCode);
document.f.multilingual.focus();
}
</script>
</head>
<body>
<h1>Manual Control - Custom Interface</h1>
<form name='f' action='.' method='post'>
<p>Keyboard: <select id='KWControl' onchange='KWControlChange()'><option value=''>English</option></select></p>
<p><input type='text' id='multilingual' name='multilingual' size="40" placeholder="id='multilingual'"/></p>
</form>
<a href="full-manual-control">Back to Document</a>
</body>
</html>