Merge pull request #4397 from keymanapp/modify/android/build-help

modify(android/app): Change build-help.sh to generate offline help from Markdown files
This commit is contained in:
Darcy Wong 2021-02-03 16:14:48 +07:00 committed by GitHub
commit 545f3f9678
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
158 changed files with 823 additions and 6418 deletions

3
android/.gitignore vendored
View file

@ -41,6 +41,9 @@ KMEA/**/assets/resources
# keymanweb OSK font
KMEA/**/assets/keymanweb-osk.*
# KMAPRo generated offline help
KMAPro/**/assets/info/
# KMAPRo default packages
KMAPro/**/assets/*.kmp

View file

@ -111,6 +111,11 @@ else
DAEMON_FLAG=
fi
# Convert markdown to html for offline help
echo "Converting markdown to html for offline help"
cd "$KEYMAN_ROOT/android/help"
./build-help.sh htm
cd "$KEYMAN_ROOT/android/KMAPro"
# Download default keyboard and dictionary
if [ "$DO_KEYBOARDS_DOWNLOAD" = true ]; then

View file

@ -1,102 +0,0 @@
/***********************
Wrapper CSS
***********************/
#android-tab-header{
width: 100%;
background: #f2f2f2;
}
#android-mobile-header, #android-tablet-header{
width: 50%;
float: left;
text-align: center;
background: #e4e4e4;
padding: 10px 0px;
cursor: pointer;
}
.tab{
display: none;
}
#android-mobile-header.selected-tab, #android-tablet-header.selected-tab, .tab.selected-tab{
display: block;
background: #f2f2f2;
}
#android-mobile-header h4, #android-tablet-header h4{
font-size: 14pt;
font-weight: bold;
}
h2{
font-size: 22pt;
font-weight: 400;
margin: 30px 20px 15px 20px;
text-align: center;
color: #BA2034;
}
/*
Setting display: block; to ~!important will break CSS rules for phone vs tablet.
*/
p img{
margin-top: 10px !important;
display: block;
margin-left: auto !important;
margin-right: auto !important;
margin-bottom: 10px !important;
}
table{
width: 100%;
margin-bottom: 50px;
}
td{
text-align: left;
vertical-align: middle;
padding: 10px;
}
td:first-child{
width: 15%;
}
td:last-child{
width: 85%;
}
th{
font-weight: bold;
font-size: 14pt;
padding: 15px 0px 5px 0px;
}
.command{
font-weight: bold;
color: #69B7D3;
}
#toolbar{
padding-top: 40px;
}
/***********************
Images CSS
***********************/
#section2 img{
min-width: 40px;
}
/**
Removes existing max-width property settings from images in tables.
They overly shrink the images on the main Android symbol glossary.
*/
#section2 td img {
max-width: unset;
}

View file

@ -1,7 +0,0 @@
.embed-on .content-online {
display: none;
}
.embed-off .content-in-app {
display: none;
}

View file

@ -1,28 +0,0 @@
.phone-form .tablet {
display: none;
}
.tablet-form .phone {
display: none;
}
#section2 a.phone, #section2 a.tablet {
color: #000000;
}
.tablet-form a.phone {
display: block;
}
.phone-form a.tablet {
display: block;
}
.phone-form #android-mobile-header {
background: #f2f2f2;
}
.tablet-form #android-tablet-header {
background: #f2f2f2;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

View file

@ -1,250 +0,0 @@
if(typeof KeyRenderer == 'undefined')
{
var KeyRenderer = new function()
{
var site = '/cdn/dev';
this.render = function(s)
{
return "<span class='highlightKeys'>" + this.renderInternal(s, true) + "</span>";
}
this.renderInternal = function(s, includePrintable)
{
var i = 0, r = '';
var spkey = {PgUp:'pgup',PgDn:'pgdn',Left:'left',Right:'right',Up:'up',Down:'down',Ins:'ins',Del:'del',Home:'home',End:'end',
Enter:'enter',Tab:'tab',Esc:'esc',Caps:'caps',Shift:'shift2',Ctrl:'ctrl2',Alt:'alt2',Bksp:'bksp'};
while(i < s.length)
{
var endspan = false;
var ch = s.charAt(i);
if(ch == '[' && i < s.length-1)
{
i++; ch = s.charAt(i);
if(ch != '[')
{
/* Ctrl+Shift+Alt+key */
var t = '';
while(s.charAt(i) != ']' && i < s.length)
{
t += s.charAt(i);
i++;
}
var n = t.indexOf('&'),t1=t;
if(n >= 0)
{
ch = t.substr(n,t.length-n);
t = t.substr(0,n);
}
else
{
ch = t.charAt(t.length-1);
t = t.substr(0, t.length-1);
}
r += "<span class='key-grp'>";
var x = t1.indexOf('!'),u='',ks,kn;
if(x >= 0)
{
ks = t1.substr(x+1,t1.length-x-1);
kn = spkey[ks];
if(kn)
{
u = "<img src='"+site+"/img/keys/tr.gif' title='"+ks+"' alt='"+ks+"' class='key-"+kn+"' />";
t = t.substr(0,x); ch = '*';
}
}
if(t.indexOf('C') >= 0) r += "<img src='"+site+"/img/keys/tr.gif' title='Ctrl' alt='Ctrl' class='key-ctrl' />";
if(t.indexOf('S') >= 0) r += "<img src='"+site+"/img/keys/tr.gif' title='Shift' alt='Shift' class='key-shift' />";
if(t.indexOf('A') >= 0) r += "<img src='"+site+"/img/keys/tr.gif' title='Alt' alt='Alt' class='key-alt' />";
r += u;
endspan = true;
}
}
if(!endspan || ch != '*')
{
if(ch.substr(0,1) == '&')
{
if(ch == '&')
{
ch = '';
while(s.charAt(i) != ';' && i < s.length)
{
ch += s.charAt(i);
i++;
}
ch += ';';
}
if(ch == '&lt;') ch = '<';
else if(ch == '&gt;') ch = '>';
else if(ch == '&amp;') ch = '&';
else if(ch == '&quot;') ch = '"';
}
chv = ch.charCodeAt(0);
r += "<img src='"+site+"/img/keys/tr.gif' class='key-"+chv.toString()+"' title='"+this.encodeEntities(ch)+"' alt='"+this.encodeEntities(ch)+"' />";
}
if(endspan) r += "</span>";
i++;
}
if(includePrintable)
{
r += "<span class='key-print'>";
i = 0;
while(i < s.length)
{
endspan = false;
ch = s.charAt(i);
if(ch == '[' && i < s.length-1)
{
i++; ch = s.charAt(i);
if(ch != '[')
{
/* Ctrl+Shift+Alt+key */
t = '';
while(s.charAt(i) != ']' && i < s.length)
{
t += s.charAt(i);
i++;
}
var t1 = t;
ch = t.charAt(t.length-1);
t = t.substr(0, t.length-1);
r += "<span class='key-grp'>";
var x = t1.indexOf('!'),u='',ks,kn;
if(x >= 0)
{
ks = t1.substr(x+1,t1.length-x-1);
kn = spkey[ks];
if(kn)
{
u = ks;
t = t.substr(0,x); ch = '*';
}
}
if(t.indexOf('C') >= 0) r += "Ctrl+";
if(t.indexOf('S') >= 0) r += "Shift+";
if(t.indexOf('A') >= 0) r += "Alt+";
endspan = true;
r += u;
}
}
if(!endspan || ch != '*')
if(ch == ' ') r += "<span class='key-grp'>Space</span>"; else r += this.encodeEntities(ch);
if(endspan) r += "</span>";
i++;
}
r += "</span>";
}
return r;
}
this.encodeEntities = function(s)
{
return s.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('"', '&quot;').replace("'", '&#39;');
}
this.getElementsByClassName = function(className, tag, elm)
{
if (document.getElementsByClassName) {
getElementsByClassName = function (className, tag, elm) {
elm = elm || document;
var elements = elm.getElementsByClassName(className),
nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
returnElements = [],
current;
for(var i=0, il=elements.length; i<il; i+=1){
current = elements[i];
if(!nodeName || nodeName.test(current.nodeName)) {
returnElements.push(current);
}
}
return returnElements;
};
}
else if (document.evaluate) {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = "",
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
returnElements = [],
elements,
node;
for(var j=0, jl=classes.length; j<jl; j+=1){
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
}
try {
elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
}
catch (e) {
elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
}
while ((node = elements.iterateNext())) {
returnElements.push(node);
}
return returnElements;
};
}
else {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = [],
elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
current,
returnElements = [],
match;
for(var k=0, kl=classes.length; k<kl; k+=1){
classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
}
for(var l=0, ll=elements.length; l<ll; l+=1){
current = elements[l];
match = false;
for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
match = classesToCheck[m].test(current.className);
if (!match) {
break;
}
}
if (match) {
returnElements.push(current);
}
}
return returnElements;
};
}
return getElementsByClassName(className, tag, elm);
};
this.renderAll = function()
{
var elems = KeyRenderer.getElementsByClassName('keys');
for(var i = 0; i < elems.length; i++)
{
elems[i].innerHTML = KeyRenderer.render(elems[i].innerHTML);
}
//<script>document.writeln(KeyRenderer.render('hf'));</script>
}
}
if(window.attachEvent)
{
window.attachEvent('onload', KeyRenderer.renderAll);
}
else if(window.addEventListener)
{
window.addEventListener('load', KeyRenderer.renderAll, false);
}
}

View file

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2 class="content-in-app">Getting Started</h2>
<h2 class="content-online">Keyman for Android</h2>
<p class="content-online"><a href='http://help.keyman.com.local/products/android/version-history'>Version history</a></p>
<p>
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
To get started, here are some helpful hints:
</p>
<table>
<tr>
<th colspan="2">Keyboard Keys <br/>(Keyboard Present)</th>
</tr>
<tr>
<td>
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</td>
<td>Select another language/keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="hide-keyboard-ap" src="../../../cdn/dev/img/app/13.0/hide-keyboard-ap.png">
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/13.0/hide-keyboard-at.png">
</td>
<td>Hide the keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="backspace-ap" src="../../../cdn/dev/img/app/13.0/backspace-ap.png">
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/13.0/backspace-at.png">
</td>
<td>Backspace</td>
</tr>
<tr>
<td>
<img class="phone" id="return-ap" src="../../../cdn/dev/img/app/13.0/return-ap.png">
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/13.0/return-at.png">
</td>
<td>Return</td>
</tr>
<tr>
<td>
<img class="phone" id="shift-ap" src="../../../cdn/dev/img/app/13.0/shift-ap.png">
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/13.0/shift-at.png">
</td>
<td>Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys
(which can access additional key layers)
</td>
</tr>
<tr>
<td>
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/13.0/touch-hold-ap.png">
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/13.0/touch-hold-at.png">
</td>
<td>Keys with a small dot in the top right corner indicate a long press key. Access
further functionality by long pressing the key
</td>
</tr>
<tr>
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
</tr>
<tr>
<td><img id="share-ap" src="../../../cdn/dev/img/app/13.0/share-a.png"></td>
<td>Share your text via Mail, Text, or Twitter</td>
</tr>
<tr>
<td><img id="browser-ap" src="../../../cdn/dev/img/app/13.0/browser-a.png"></td>
<td>Open the Keyman Browser to use the web in your language</td>
</tr>
<tr>
<td><img id="menu-ap" src="../../../cdn/dev/img/app/13.0/menu-icon-a.png"></td>
<td>Open the menu for additional options</td>
</tr>
<tr>
<td><img id="font-size-ap" src="../../../cdn/dev/img/app/13.0/font-size-a.png"></td>
<td>Adjust the font size</td>
</tr>
<tr>
<td><img id="delete-ap" src="../../../cdn/dev/img/app/13.0/delete-a.png"></td>
<td>Delete all current text</td>
</tr>
<tr>
<td><img id="info-ap" src="../../../cdn/dev/img/app/13.0/info-a.png"></td>
<td>Load this help page</td>
</tr>
<tr>
<td><img id="get-started-ap" src="../../../cdn/dev/img/app/13.0/get-started-a.png"></td>
<td>Open the initial setup screen</td>
</tr>
<tr>
<td><img id="settings-ap" src="../../../cdn/dev/img/app/13.0/settings-a.png"></td>
<td>Open the Keyman Settings screen</td>
</tr>
<tr>
<td><img id="cloud-download-ap" src="../../../cdn/dev/img/app/13.0/ic_cloud_download.png"></td>
<td>Update available to download for keyboard / dictionary</td>
</tr>
</table>
<h2>Accessing Keyboard Help</h2>
<p>
Step 1) Open the keyboard list by touching the globe key.
</p>
<p>
<img class="phone" id="keyboard-help1-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<br/>
<p>
Step 2) Touch the info icon for your keyboard.
</p>
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
<br/>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
<h2>Integrate Keyman with your App or Website</h2>
<p>
If you are interested in learning how Keyman can be integrated into your own app or
website, visit <a href="https://keyman.com/engine/">keyman.com/engine</a>
</p>
<h2>Further Help</h2>
<p>
For more information on Keyman, visit <a href="https://keyman.com">keyman.com</a>
<br/><br/>
For more information on Keyman for Android, visit <a href="https://keyman.com/android">keyman.com/android</a>
</p>
<div class="content-online">
<h2>Keyman for Android Documentation Versions</h2>
<ul>
<li><a href='index.html'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/12.0/'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/11.0/'>Keyman for Android 11.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/10.0/'>Keyman for Android 10.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/2.0/'>Keyman for Android 2.0 Documentation</a></li>
</ul>
</div>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2 class="content-in-app">Getting Started</h2>
<h2 class="content-online">Keyman for Android</h2>
<p class="content-online"><a href='http://help.keyman.com.local/products/android/version-history'>Version history</a></p>
<p>
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
To get started, here are some helpful hints:
</p>
<table>
<tr>
<th colspan="2">Keyboard Keys <br/>(Keyboard Present)</th>
</tr>
<tr>
<td>
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</td>
<td>Select another language/keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="hide-keyboard-ap" src="../../../cdn/dev/img/app/13.0/hide-keyboard-ap.png">
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/13.0/hide-keyboard-at.png">
</td>
<td>Hide the keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="backspace-ap" src="../../../cdn/dev/img/app/13.0/backspace-ap.png">
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/13.0/backspace-at.png">
</td>
<td>Backspace</td>
</tr>
<tr>
<td>
<img class="phone" id="return-ap" src="../../../cdn/dev/img/app/13.0/return-ap.png">
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/13.0/return-at.png">
</td>
<td>Return</td>
</tr>
<tr>
<td>
<img class="phone" id="shift-ap" src="../../../cdn/dev/img/app/13.0/shift-ap.png">
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/13.0/shift-at.png">
</td>
<td>Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys
(which can access additional key layers)
</td>
</tr>
<tr>
<td>
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/13.0/touch-hold-ap.png">
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/13.0/touch-hold-at.png">
</td>
<td>Keys with a small dot in the top right corner indicate a long press key. Access
further functionality by long pressing the key
</td>
</tr>
<tr>
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
</tr>
<tr>
<td><img id="share-ap" src="../../../cdn/dev/img/app/13.0/share-a.png"></td>
<td>Share your text via Mail, Text, or Twitter</td>
</tr>
<tr>
<td><img id="browser-ap" src="../../../cdn/dev/img/app/13.0/browser-a.png"></td>
<td>Open the Keyman Browser to use the web in your language</td>
</tr>
<tr>
<td><img id="menu-ap" src="../../../cdn/dev/img/app/13.0/menu-icon-a.png"></td>
<td>Open the menu for additional options</td>
</tr>
<tr>
<td><img id="font-size-ap" src="../../../cdn/dev/img/app/13.0/font-size-a.png"></td>
<td>Adjust the font size</td>
</tr>
<tr>
<td><img id="delete-ap" src="../../../cdn/dev/img/app/13.0/delete-a.png"></td>
<td>Delete all current text</td>
</tr>
<tr>
<td><img id="info-ap" src="../../../cdn/dev/img/app/13.0/info-a.png"></td>
<td>Load this help page</td>
</tr>
<tr>
<td><img id="get-started-ap" src="../../../cdn/dev/img/app/13.0/get-started-a.png"></td>
<td>Open the initial setup screen</td>
</tr>
<tr>
<td><img id="settings-ap" src="../../../cdn/dev/img/app/13.0/settings-a.png"></td>
<td>Open the Keyman Settings screen</td>
</tr>
<tr>
<td><img id="cloud-download-ap" src="../../../cdn/dev/img/app/13.0/ic_cloud_download.png"></td>
<td>Update available to download for keyboard / dictionary</td>
</tr>
</table>
<h2>Accessing Keyboard Help</h2>
<p>
Step 1) Open the keyboard list by touching the globe key.
</p>
<p>
<img class="phone" id="keyboard-help1-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<br/>
<p>
Step 2) Touch the info icon for your keyboard.
</p>
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
<br/>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
<h2>Integrate Keyman with your App or Website</h2>
<p>
If you are interested in learning how Keyman can be integrated into your own app or
website, visit <a href="https://keyman.com/engine/">keyman.com/engine</a>
</p>
<h2>Further Help</h2>
<p>
For more information on Keyman, visit <a href="https://keyman.com">keyman.com</a>
<br/><br/>
For more information on Keyman for Android, visit <a href="https://keyman.com/android">keyman.com/android</a>
</p>
<div class="content-online">
<h2>Keyman for Android Documentation Versions</h2>
<ul>
<li><a href='index.html'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/12.0/'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/11.0/'>Keyman for Android 11.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/10.0/'>Keyman for Android 10.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/2.0/'>Keyman for Android 2.0 Documentation</a></li>
</ul>
</div>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2 class="content-in-app">Getting Started</h2>
<h2 class="content-online">Keyman for Android</h2>
<p class="content-online"><a href='http://help.keyman.com.local/products/android/version-history'>Version history</a></p>
<p>
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
To get started, here are some helpful hints:
</p>
<table>
<tr>
<th colspan="2">Keyboard Keys <br/>(Keyboard Present)</th>
</tr>
<tr>
<td>
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</td>
<td>Select another language/keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="hide-keyboard-ap" src="../../../cdn/dev/img/app/13.0/hide-keyboard-ap.png">
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/13.0/hide-keyboard-at.png">
</td>
<td>Hide the keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="backspace-ap" src="../../../cdn/dev/img/app/13.0/backspace-ap.png">
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/13.0/backspace-at.png">
</td>
<td>Backspace</td>
</tr>
<tr>
<td>
<img class="phone" id="return-ap" src="../../../cdn/dev/img/app/13.0/return-ap.png">
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/13.0/return-at.png">
</td>
<td>Return</td>
</tr>
<tr>
<td>
<img class="phone" id="shift-ap" src="../../../cdn/dev/img/app/13.0/shift-ap.png">
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/13.0/shift-at.png">
</td>
<td>Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys
(which can access additional key layers)
</td>
</tr>
<tr>
<td>
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/13.0/touch-hold-ap.png">
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/13.0/touch-hold-at.png">
</td>
<td>Keys with a small dot in the top right corner indicate a long press key. Access
further functionality by long pressing the key
</td>
</tr>
<tr>
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
</tr>
<tr>
<td><img id="share-ap" src="../../../cdn/dev/img/app/13.0/share-a.png"></td>
<td>Share your text via Mail, Text, or Twitter</td>
</tr>
<tr>
<td><img id="browser-ap" src="../../../cdn/dev/img/app/13.0/browser-a.png"></td>
<td>Open the Keyman Browser to use the web in your language</td>
</tr>
<tr>
<td><img id="menu-ap" src="../../../cdn/dev/img/app/13.0/menu-icon-a.png"></td>
<td>Open the menu for additional options</td>
</tr>
<tr>
<td><img id="font-size-ap" src="../../../cdn/dev/img/app/13.0/font-size-a.png"></td>
<td>Adjust the font size</td>
</tr>
<tr>
<td><img id="delete-ap" src="../../../cdn/dev/img/app/13.0/delete-a.png"></td>
<td>Delete all current text</td>
</tr>
<tr>
<td><img id="info-ap" src="../../../cdn/dev/img/app/13.0/info-a.png"></td>
<td>Load this help page</td>
</tr>
<tr>
<td><img id="get-started-ap" src="../../../cdn/dev/img/app/13.0/get-started-a.png"></td>
<td>Open the initial setup screen</td>
</tr>
<tr>
<td><img id="settings-ap" src="../../../cdn/dev/img/app/13.0/settings-a.png"></td>
<td>Open the Keyman Settings screen</td>
</tr>
<tr>
<td><img id="cloud-download-ap" src="../../../cdn/dev/img/app/13.0/ic_cloud_download.png"></td>
<td>Update available to download for keyboard / dictionary</td>
</tr>
</table>
<h2>Accessing Keyboard Help</h2>
<p>
Step 1) Open the keyboard list by touching the globe key.
</p>
<p>
<img class="phone" id="keyboard-help1-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<br/>
<p>
Step 2) Touch the info icon for your keyboard.
</p>
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
<br/>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
<h2>Integrate Keyman with your App or Website</h2>
<p>
If you are interested in learning how Keyman can be integrated into your own app or
website, visit <a href="https://keyman.com/engine/">keyman.com/engine</a>
</p>
<h2>Further Help</h2>
<p>
For more information on Keyman, visit <a href="https://keyman.com">keyman.com</a>
<br/><br/>
For more information on Keyman for Android, visit <a href="https://keyman.com/android">keyman.com/android</a>
</p>
<div class="content-online">
<h2>Keyman for Android Documentation Versions</h2>
<ul>
<li><a href='index.html'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/12.0/'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/11.0/'>Keyman for Android 11.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/10.0/'>Keyman for Android 10.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/2.0/'>Keyman for Android 2.0 Documentation</a></li>
</ul>
</div>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,222 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Installing Custom Keyboards/Dictionaries - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Installing Custom Keyboards/Dictionaries</h2>
<p>
These same steps can be used for installing custom keyboard or custom dictionary packages. This example is for Khmer Angkor keyboard.
</p>
<p>
Step 1) Click the link to your custom package file.
</p>
<p>
<img class="phone" id="dist-url-screen-ap" src="../../../cdn/dev/img/app/13.0/dist-url-screen-ap.png">
<img class="tablet" id="dist-url-screen-at" src="../../../cdn/dev/img/app/13.0/dist-url-screen-at.png">
</p>
<p>
Step 2) Once the KMP file is on your device, you will need to browse to the KMP file and select it.
From the Keyman menu, select 'Settings'.
<br/>
From the Keyman Settings menu, select 'Add Keyboard from Device'.
</p>
<p><img id="settings-add-keyboard-from-device-ap" src="../../../cdn/dev/img/app/13.0/settings-language-ap.png"></p>
<p>
The device will launch a file browser where you'll browse to the directory of your KMP file.
A common place to look is the "Downloads" folder.
</p>
<p>
<img class="phone" id="dist-file-browser-ap" src="../../../cdn/dev/img/app/13.0/dist-file-browser-ap.png">
<img class="tablet" id="dist-file-browser-at" src="../../../cdn/dev/img/app/13.0/dist-file-browser-at.png">
</p>
<p>
Selecting the KMP file should bring you to Step 3)
</p>
<p>
Step 3) On Android 6.0 (Marshmallow) and higher, mobile apps need to request permissions to access storage. Keyman
for Android needs access to read storage for installing the KMP file. At the dialog, select "ALLOW". Once authorized,
Keyman for Android won't need to ask for storage permission again, unless the user revokes or uninstalls the app.
</p>
<p>
<img class="phone" id="dist-storrage-permission-ap" src="../../../cdn/dev/img/app/13.0/dist-storage-permission-ap.png">
<img class="tablet" id="dist-storrage-permission-at" src="../../../cdn/dev/img/app/13.0/dist-storage-permission-at.png">
</p>
<p>
Older versions of Android grant Storage permissions at app installation time, so those users can skip this step.
</p>
<p>
Step 4) Keyman for Android will verify the package, and display more information about it, including package version and 'readme' notes if available.
This will be displayed at the confirmation to install the keyboard package.
</p>
<p>
If "readme.htm" is not included, a generic page with the package ID and package version will be shown. Click the
"Install" button to install the entire keyboard package.
</p>
<p>
<img class="phone" id="dist-readme-ap" src="../../../cdn/dev/img/app/13.0/dist-readme-ap.png">
<img class="tablet" id="dist-readme-at" src="../../../cdn/dev/img/app/13.0/dist-readme-at.png">
</p>
<p>
Step 5) All the keyboards in the package are installed as a group. In this example, the package only has the
"Khmer Angkor" keyboard, so it becomes the active keyboard. For custom dictionary packages, only one dictionary
will be installed.
</p>
<p>
If the keyboard package includes Welcome documentation, it will be displayed after the keyboard package is installed.
This documentation helps you to get started using the keyboard.
</p>
<p>
<img class="phone" id="dist-welcome-ap" src="../../../cdn/dev/img/app/13.0/dist-welcome-ap.png">
<img class="tablet" id="dist-welcome-at" src="../../../cdn/dev/img/app/13.0/dist-welcome-at.png">
</p>
<p>
Click the "OK" button to finish installing the keyboard. You should be able to select it from the Keyman globe
and start typing with it in any app.
</p>
<p>
<img class="phone" id="dist-install1-ap" src="../../../cdn/dev/img/app/13.0/dist-install1-ap.png">
<img class="tablet" id="dist-install1-at" src="../../../cdn/dev/img/app/13.0/dist-install1-at.png">
</p>
<p>
To learn how to create a custom installable keyboard,
<a href="https://help.keyman.com/developer/12.0/guides/distribute/">click here</a>.
</p>
<h2>Granting storage permission</h2>
<p>
If Keyman for Android is permanently denied storage access, attempts to install custom packages will fail with the
notification "Storage permission request was denied". Perform these steps to grant Keyman for Android access to storage
</p>
<p>
Step 1) Go to Android Settings.
<br/>
Step 2) Depending on your device, click "Apps", "Apps &amp; notifications", or "App permissions" and grant Keyman
storage permission. The screenshot below is from Android 9.0 Pie.
</p>
<p>
<img class="phone" id="keyman-storage-permission-ap" src="../../../cdn/dev/img/app/13.0/keyman-storage-permission-ap.png">
<img class="tablet" id="keyman-storage-permission-at" src="../../../cdn/dev/img/app/13.0/keyman-storage-permission-at.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,176 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Adding Keyboards - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Adding New Keyboards</h2>
<p>
To add keyboards, follow these steps:
</p><p>
Step 1)
</p><p>
Open the menu for additional options. Select 'Settings'
</p><p>
Step 2)
</p><p>
From the Keyman Settings menu, select 'Installed languages'
</p><p>
<img id="settings-language-ap" src="../../../cdn/dev/img/app/13.0/settings-language-ap.png">
</p><p>
Step 3)
</p><p>
From the 'Installed languages' menu, touch the <span class="command">+</span>
button in the bottom right corner of your screen.
</p><p>
<img id="plus-a" src="../../../cdn/dev/img/app/13.0/plus-a.png">
</p><p>
Step 4)
</p><p>
A list of all available languages will appear. Scroll through this list until you find
the language you want to install. Languages marked with a right arrow have multiple keyboards - for
example we have 10+ different Tamil keyboards.
</p><p>
<img class="phone" id="lang-list-ap" src="../../../cdn/dev/img/app/13.0/lang-list-ap.png">
<img class="tablet" id="lang-list-at" src="../../../cdn/dev/img/app/13.0/lang-list-at.png">
</p><p>
Select the language and keyboard you want to install - a popup will ask for confirmation,
hit the <span class="command">Download</span> button.
</p><p>
<img class="phone" id="confirm-dl-ap" src="../../../cdn/dev/img/app/13.0/confirm-dl-ap.png">
<img class="tablet" id="confirm-dl-at" src="../../../cdn/dev/img/app/13.0/confirm-dl-at.png">
</p><p>
Step 5)
</p><p>
Once the download is complete, the new keyboard will be selected. Touch the <span class="command">&larr;</span>
button on the top left corner of the popup several times and the new keyboard will become active.
</p><p>
<img class="phone" id="success-ap" src="../../../cdn/dev/img/app/13.0/dl-success-ap.png">
<img class="tablet" id="success-at" src="../../../cdn/dev/img/app/13.0/dl-success-at.png">
</p><p>
Alternate Step for System Keyboard)
</p><p>
The Keyman system keyboard has an additional <span class="command">CLOSE KEYMAN</span> button at the bottom left of
the "Keyboards" menu. Pushing this button will close Keyman and switch to the next non-Keyman system keyboard.
</p><p>
<img id="close-keyman-a" src="../../../cdn/dev/img/app/13.0/close-keyman-a.png"/>
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,181 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>The System-Wide Keyboard - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Installing System Wide Keyboards</h2>
<p>
Step 1) Open the Keyman app and select the menu for additional options.
The screenshots below are of a device running Android 9.0 Pie.
</p>
<p>
<img class="phone" id="settings1-ap" src="../../../cdn/dev/img/app/13.0/settings1-ap.png">
<img class="tablet" id="settings1-at" src="../../../cdn/dev/img/app/13.0/settings1-at.png">
</p>
<br/>
<p>
Step 2) Select 'Get Started' and then select 'Enable Keyman as system-wide keyboard'.
</p>
<p>
<img class="phone" id="settings2-ap" src="../../../cdn/dev/img/app/13.0/settings2-ap.png">
<img class="tablet" id="settings2-at" src="../../../cdn/dev/img/app/13.0/settings2-at.png">
</p>
<br/>
<p>
This will open an Android settings screen for 'Available virtual keyboard'.
</p>
<p>
<img class="phone" id="settings3-ap" src="../../../cdn/dev/img/app/13.0/settings3-ap.png">
<img class="tablet" id="settings3-at" src="../../../cdn/dev/img/app/13.0/settings3-at.png">
</p>
<br/>
<p>
Step 3) Enable 'Keyman' as an available virtual keyboard.
This will bring up two confirmation dialogs.
</p>
<p>
<img class="phone" id="settings4-ap" src="../../../cdn/dev/img/app/13.0/settings4-ap.png">
<img class="tablet" id="settings4-at" src="../../../cdn/dev/img/app/13.0/settings4-at.png">
</p>
<br/>
<p>
<img class="phone" id="settings5-ap" src="../../../cdn/dev/img/app/13.0/settings5-ap.png">
<img class="tablet" id="settings5-at" src="../../../cdn/dev/img/app/13.0/settings5-at.png">
</p>
<br/>
<p>
Select 'OK' on both. Now when the on-screen keyboard appears for apps other than Keyman,
you'll see a keyboard icon at the bottom right.
</p>
<p>
<img class="phone" id="settings6-ap" src="../../../cdn/dev/img/app/13.0/settings6-ap.png">
<img class="tablet" id="settings6-at" src="../../../cdn/dev/img/app/13.0/settings6-at.png">
</p>
<br/>
<p>
Click the keyboard icon whenever you want to change the current system keyboard.
</p>
<p>
<img class="phone" id="settings7-ap" src="../../../cdn/dev/img/app/13.0/settings7-ap.png">
<img class="tablet" id="settings7-at" src="../../../cdn/dev/img/app/13.0/settings7-at.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,150 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Switching Between Keyboards - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Switching Between Keyboards</h2>
<p>
To switch keyboards, follow these steps:
</p>
<p>
Step 1)
</p>
<p>
With the keyboard visible, touch the globe key:
<p>
<img class="phone" id="globe-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="globe-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<p>
This will bring up a list of all currently installed languages (the default is English
EuroLatin (SIL)). If you have already downloaded additional languages, they will appear here.
Simply select them and the keyboard will re-appear with the new language.
</p>
<h2>Hotkey</h2>
<p>
To switch between languages while using an external keyboard (i.e. a bluetooth keyboard), a quick and easy way is to
use a hotkey combination. Press and hold 'Ctrl' and then press 'Tab'.
You should then see the same listing of languages/keyboards. Tap on any available language of your choice.
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,200 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Removing Dictionaries - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Removing a Dictionary</h2>
<p>
To uninstall a dictionary, follow these steps:
</p>
<p>
Step 1)
</p>
<p>
Open the menu for additional options. Select 'Settings'
</p>
<p>
Step 2)
</p>
<p>
From the Keyman Settings menu, select 'Installed languages'
</p>
<p>
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-languages-ap.png">
</p>
<p>
Step 3)
</p>
<p>
From the 'Installed languages' menu, select the language for the dictionary you want to remove. In this example,
we will be removing the "MTNT Dictionary" for the English language.
</p>
<p>
<img id="settings-two-installed-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png">
</p>
<p>
Step 4)
</p>
<p>
The language Settings menu lists currently installed keyboards and dictionaries associated with the language.
Select the dictionary you want to uninstall at the bottom of the page.
</p>
<p>
<img id="english-settings-ap" src="../../../cdn/dev/img/app/13.0/english-settings-ap.png">
</p>
<p>
Step 5)
</p>
<p>
The dictionaries menu displays the dictionaries that are available for a language. Installed dictionaries show a check mark.
Select the dictionary to display the info menu.
</p>
<p>
<img id="english-dictionaries-ap" src="../../../cdn/dev/img/app/13.0/english-dictionaries-ap.png">
</p>
<p>
Step 6)
</p>
<p>
The bottom of the dictionary settings menu displays an option to uninstall the dictionary.
Select 'Uninstall dictionary' to get a prompt to delete the dictionary.
</p>
<p>
<img id="english-dictionary-info-ap" src="../../../cdn/dev/img/app/13.0/english-dictionary-info-ap.png">
</p>
<p>
Step 7)
</p>
<p>
Press "Delete" to uninstall the dictionary.
</p>
<p>
<img id="confirm-english-dictionary-delete-ap" src="../../../cdn/dev/img/app/13.0/confirm-english-dictionary-delete-ap.png">
</p>
<p>
You'll see a notification when the dictionary is deleted.
</p>
<p>
<img id="uninstall-dictionary-notification-ap" src="../../../cdn/dev/img/app/13.0/uninstall-dictionary-notification-ap.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,172 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Removing Keyboards - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Removing a Keyboard</h2>
<p>
To uninstall a keyboard, follow these steps:
</p><p>
Step 1)
</p><p>
Open the menu for additional options. Select 'Settings'
</p><p>
Step 2)
</p><p>
From the Keyman Settings menu, select 'Installed languages'
</p><p>
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-languages-ap.png">
</p><p>
Step 3)
</p><p>
From the 'Installed languages' menu, select the language for the keyboard you want to remove.
</p><p>
<img id="settings-two-installed-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png">
</p><p>
Step 4)
</p><p>
The language Settings menu lists currently installed keyboards associated with the language.
Select the keyboard you want to uninstall
</p><p>
<img id="khmer-settings-ap" src="../../../cdn/dev/img/app/13.0/khmer-settings-ap.png">
</p><p>
Step 5)
</p><p>
The bottom of the keyboard settings menu displays an option to uninstall the keyboard.
Select 'Uninstall keyboard' to get a prompt to delete the keyboard.
</p><p>
Note: the default 'SIL EuroLatin' keyboard for English cannot be removed.
</p><p>
<img id="settings-khmer-info-ap" src="../../../cdn/dev/img/app/13.0/settings-khmer-info-ap.png">
</p><p>
Step 6)
</p><p>
Press "Delete" to uninstall the keyboard.
</p><p>
<img id="confirm-khmer-delete-ap" src="../../../cdn/dev/img/app/13.0/confirm-khmer-delete-ap.png">
</p><p>
You'll see a notification when the keyboard is deleted.
</p><p>
<img class="phone" id="uninstall-notification-ap" src="../../../cdn/dev/img/app/13.0/uninstall-notification-ap.png">
<img class="tablet" id="uninstall-notification-at" src="../../../cdn/dev/img/app/13.0/uninstall-notification-at.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,137 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using the Keyman Browser - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on phone-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Using the Keyman Browser</h2>
<p>
Step 1) Click the Keyman Browser button in the Keyman app
</p><p>
Step 2) Enter the URL of a website to visit into the address bar, for example <strong>google.com</strong>.
Keyman Browser will load the page and detect your language if it is present, and reformat it to show your
language instead of square boxes.
</p><p>
Step 3) Use the bookmark button to save the current page for browsing later.
</p><p>
Step 4) Use the Globe icon to swap between languages.
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2 class="content-in-app">Getting Started</h2>
<h2 class="content-online">Keyman for Android</h2>
<p class="content-online"><a href='http://help.keyman.com.local/products/android/version-history'>Version history</a></p>
<p>
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
To get started, here are some helpful hints:
</p>
<table>
<tr>
<th colspan="2">Keyboard Keys <br/>(Keyboard Present)</th>
</tr>
<tr>
<td>
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</td>
<td>Select another language/keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="hide-keyboard-ap" src="../../../cdn/dev/img/app/13.0/hide-keyboard-ap.png">
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/13.0/hide-keyboard-at.png">
</td>
<td>Hide the keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="backspace-ap" src="../../../cdn/dev/img/app/13.0/backspace-ap.png">
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/13.0/backspace-at.png">
</td>
<td>Backspace</td>
</tr>
<tr>
<td>
<img class="phone" id="return-ap" src="../../../cdn/dev/img/app/13.0/return-ap.png">
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/13.0/return-at.png">
</td>
<td>Return</td>
</tr>
<tr>
<td>
<img class="phone" id="shift-ap" src="../../../cdn/dev/img/app/13.0/shift-ap.png">
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/13.0/shift-at.png">
</td>
<td>Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys
(which can access additional key layers)
</td>
</tr>
<tr>
<td>
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/13.0/touch-hold-ap.png">
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/13.0/touch-hold-at.png">
</td>
<td>Keys with a small dot in the top right corner indicate a long press key. Access
further functionality by long pressing the key
</td>
</tr>
<tr>
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
</tr>
<tr>
<td><img id="share-ap" src="../../../cdn/dev/img/app/13.0/share-a.png"></td>
<td>Share your text via Mail, Text, or Twitter</td>
</tr>
<tr>
<td><img id="browser-ap" src="../../../cdn/dev/img/app/13.0/browser-a.png"></td>
<td>Open the Keyman Browser to use the web in your language</td>
</tr>
<tr>
<td><img id="menu-ap" src="../../../cdn/dev/img/app/13.0/menu-icon-a.png"></td>
<td>Open the menu for additional options</td>
</tr>
<tr>
<td><img id="font-size-ap" src="../../../cdn/dev/img/app/13.0/font-size-a.png"></td>
<td>Adjust the font size</td>
</tr>
<tr>
<td><img id="delete-ap" src="../../../cdn/dev/img/app/13.0/delete-a.png"></td>
<td>Delete all current text</td>
</tr>
<tr>
<td><img id="info-ap" src="../../../cdn/dev/img/app/13.0/info-a.png"></td>
<td>Load this help page</td>
</tr>
<tr>
<td><img id="get-started-ap" src="../../../cdn/dev/img/app/13.0/get-started-a.png"></td>
<td>Open the initial setup screen</td>
</tr>
<tr>
<td><img id="settings-ap" src="../../../cdn/dev/img/app/13.0/settings-a.png"></td>
<td>Open the Keyman Settings screen</td>
</tr>
<tr>
<td><img id="cloud-download-ap" src="../../../cdn/dev/img/app/13.0/ic_cloud_download.png"></td>
<td>Update available to download for keyboard / dictionary</td>
</tr>
</table>
<h2>Accessing Keyboard Help</h2>
<p>
Step 1) Open the keyboard list by touching the globe key.
</p>
<p>
<img class="phone" id="keyboard-help1-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<br/>
<p>
Step 2) Touch the info icon for your keyboard.
</p>
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
<br/>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
<h2>Integrate Keyman with your App or Website</h2>
<p>
If you are interested in learning how Keyman can be integrated into your own app or
website, visit <a href="https://keyman.com/engine/">keyman.com/engine</a>
</p>
<h2>Further Help</h2>
<p>
For more information on Keyman, visit <a href="https://keyman.com">keyman.com</a>
<br/><br/>
For more information on Keyman for Android, visit <a href="https://keyman.com/android">keyman.com/android</a>
</p>
<div class="content-online">
<h2>Keyman for Android Documentation Versions</h2>
<ul>
<li><a href='index.html'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/12.0/'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/11.0/'>Keyman for Android 11.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/10.0/'>Keyman for Android 10.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/2.0/'>Keyman for Android 2.0 Documentation</a></li>
</ul>
</div>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2 class="content-in-app">Getting Started</h2>
<h2 class="content-online">Keyman for Android</h2>
<p class="content-online"><a href='http://help.keyman.com.local/products/android/version-history'>Version history</a></p>
<p>
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
To get started, here are some helpful hints:
</p>
<table>
<tr>
<th colspan="2">Keyboard Keys <br/>(Keyboard Present)</th>
</tr>
<tr>
<td>
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</td>
<td>Select another language/keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="hide-keyboard-ap" src="../../../cdn/dev/img/app/13.0/hide-keyboard-ap.png">
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/13.0/hide-keyboard-at.png">
</td>
<td>Hide the keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="backspace-ap" src="../../../cdn/dev/img/app/13.0/backspace-ap.png">
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/13.0/backspace-at.png">
</td>
<td>Backspace</td>
</tr>
<tr>
<td>
<img class="phone" id="return-ap" src="../../../cdn/dev/img/app/13.0/return-ap.png">
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/13.0/return-at.png">
</td>
<td>Return</td>
</tr>
<tr>
<td>
<img class="phone" id="shift-ap" src="../../../cdn/dev/img/app/13.0/shift-ap.png">
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/13.0/shift-at.png">
</td>
<td>Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys
(which can access additional key layers)
</td>
</tr>
<tr>
<td>
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/13.0/touch-hold-ap.png">
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/13.0/touch-hold-at.png">
</td>
<td>Keys with a small dot in the top right corner indicate a long press key. Access
further functionality by long pressing the key
</td>
</tr>
<tr>
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
</tr>
<tr>
<td><img id="share-ap" src="../../../cdn/dev/img/app/13.0/share-a.png"></td>
<td>Share your text via Mail, Text, or Twitter</td>
</tr>
<tr>
<td><img id="browser-ap" src="../../../cdn/dev/img/app/13.0/browser-a.png"></td>
<td>Open the Keyman Browser to use the web in your language</td>
</tr>
<tr>
<td><img id="menu-ap" src="../../../cdn/dev/img/app/13.0/menu-icon-a.png"></td>
<td>Open the menu for additional options</td>
</tr>
<tr>
<td><img id="font-size-ap" src="../../../cdn/dev/img/app/13.0/font-size-a.png"></td>
<td>Adjust the font size</td>
</tr>
<tr>
<td><img id="delete-ap" src="../../../cdn/dev/img/app/13.0/delete-a.png"></td>
<td>Delete all current text</td>
</tr>
<tr>
<td><img id="info-ap" src="../../../cdn/dev/img/app/13.0/info-a.png"></td>
<td>Load this help page</td>
</tr>
<tr>
<td><img id="get-started-ap" src="../../../cdn/dev/img/app/13.0/get-started-a.png"></td>
<td>Open the initial setup screen</td>
</tr>
<tr>
<td><img id="settings-ap" src="../../../cdn/dev/img/app/13.0/settings-a.png"></td>
<td>Open the Keyman Settings screen</td>
</tr>
<tr>
<td><img id="cloud-download-ap" src="../../../cdn/dev/img/app/13.0/ic_cloud_download.png"></td>
<td>Update available to download for keyboard / dictionary</td>
</tr>
</table>
<h2>Accessing Keyboard Help</h2>
<p>
Step 1) Open the keyboard list by touching the globe key.
</p>
<p>
<img class="phone" id="keyboard-help1-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<br/>
<p>
Step 2) Touch the info icon for your keyboard.
</p>
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
<br/>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
<h2>Integrate Keyman with your App or Website</h2>
<p>
If you are interested in learning how Keyman can be integrated into your own app or
website, visit <a href="https://keyman.com/engine/">keyman.com/engine</a>
</p>
<h2>Further Help</h2>
<p>
For more information on Keyman, visit <a href="https://keyman.com">keyman.com</a>
<br/><br/>
For more information on Keyman for Android, visit <a href="https://keyman.com/android">keyman.com/android</a>
</p>
<div class="content-online">
<h2>Keyman for Android Documentation Versions</h2>
<ul>
<li><a href='index.html'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/12.0/'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/11.0/'>Keyman for Android 11.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/10.0/'>Keyman for Android 10.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/2.0/'>Keyman for Android 2.0 Documentation</a></li>
</ul>
</div>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2 class="content-in-app">Getting Started</h2>
<h2 class="content-online">Keyman for Android</h2>
<p class="content-online"><a href='http://help.keyman.com.local/products/android/version-history'>Version history</a></p>
<p>
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
To get started, here are some helpful hints:
</p>
<table>
<tr>
<th colspan="2">Keyboard Keys <br/>(Keyboard Present)</th>
</tr>
<tr>
<td>
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</td>
<td>Select another language/keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="hide-keyboard-ap" src="../../../cdn/dev/img/app/13.0/hide-keyboard-ap.png">
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/13.0/hide-keyboard-at.png">
</td>
<td>Hide the keyboard</td>
</tr>
<tr>
<td>
<img class="phone" id="backspace-ap" src="../../../cdn/dev/img/app/13.0/backspace-ap.png">
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/13.0/backspace-at.png">
</td>
<td>Backspace</td>
</tr>
<tr>
<td>
<img class="phone" id="return-ap" src="../../../cdn/dev/img/app/13.0/return-ap.png">
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/13.0/return-at.png">
</td>
<td>Return</td>
</tr>
<tr>
<td>
<img class="phone" id="shift-ap" src="../../../cdn/dev/img/app/13.0/shift-ap.png">
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/13.0/shift-at.png">
</td>
<td>Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys
(which can access additional key layers)
</td>
</tr>
<tr>
<td>
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/13.0/touch-hold-ap.png">
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/13.0/touch-hold-at.png">
</td>
<td>Keys with a small dot in the top right corner indicate a long press key. Access
further functionality by long pressing the key
</td>
</tr>
<tr>
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
</tr>
<tr>
<td><img id="share-ap" src="../../../cdn/dev/img/app/13.0/share-a.png"></td>
<td>Share your text via Mail, Text, or Twitter</td>
</tr>
<tr>
<td><img id="browser-ap" src="../../../cdn/dev/img/app/13.0/browser-a.png"></td>
<td>Open the Keyman Browser to use the web in your language</td>
</tr>
<tr>
<td><img id="menu-ap" src="../../../cdn/dev/img/app/13.0/menu-icon-a.png"></td>
<td>Open the menu for additional options</td>
</tr>
<tr>
<td><img id="font-size-ap" src="../../../cdn/dev/img/app/13.0/font-size-a.png"></td>
<td>Adjust the font size</td>
</tr>
<tr>
<td><img id="delete-ap" src="../../../cdn/dev/img/app/13.0/delete-a.png"></td>
<td>Delete all current text</td>
</tr>
<tr>
<td><img id="info-ap" src="../../../cdn/dev/img/app/13.0/info-a.png"></td>
<td>Load this help page</td>
</tr>
<tr>
<td><img id="get-started-ap" src="../../../cdn/dev/img/app/13.0/get-started-a.png"></td>
<td>Open the initial setup screen</td>
</tr>
<tr>
<td><img id="settings-ap" src="../../../cdn/dev/img/app/13.0/settings-a.png"></td>
<td>Open the Keyman Settings screen</td>
</tr>
<tr>
<td><img id="cloud-download-ap" src="../../../cdn/dev/img/app/13.0/ic_cloud_download.png"></td>
<td>Update available to download for keyboard / dictionary</td>
</tr>
</table>
<h2>Accessing Keyboard Help</h2>
<p>
Step 1) Open the keyboard list by touching the globe key.
</p>
<p>
<img class="phone" id="keyboard-help1-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<br/>
<p>
Step 2) Touch the info icon for your keyboard.
</p>
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
<br/>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
<h2>Integrate Keyman with your App or Website</h2>
<p>
If you are interested in learning how Keyman can be integrated into your own app or
website, visit <a href="https://keyman.com/engine/">keyman.com/engine</a>
</p>
<h2>Further Help</h2>
<p>
For more information on Keyman, visit <a href="https://keyman.com">keyman.com</a>
<br/><br/>
For more information on Keyman for Android, visit <a href="https://keyman.com/android">keyman.com/android</a>
</p>
<div class="content-online">
<h2>Keyman for Android Documentation Versions</h2>
<ul>
<li><a href='index.html'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/12.0/'>Keyman for Android 12.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/11.0/'>Keyman for Android 11.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/10.0/'>Keyman for Android 10.0 Documentation</a></li>
<li><a href='http://help.keyman.com.local/products/android/2.0/'>Keyman for Android 2.0 Documentation</a></li>
</ul>
</div>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,222 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Installing Custom Keyboards/Dictionaries - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Installing Custom Keyboards/Dictionaries</h2>
<p>
These same steps can be used for installing custom keyboard or custom dictionary packages. This example is for Khmer Angkor keyboard.
</p>
<p>
Step 1) Click the link to your custom package file.
</p>
<p>
<img class="phone" id="dist-url-screen-ap" src="../../../cdn/dev/img/app/13.0/dist-url-screen-ap.png">
<img class="tablet" id="dist-url-screen-at" src="../../../cdn/dev/img/app/13.0/dist-url-screen-at.png">
</p>
<p>
Step 2) Once the KMP file is on your device, you will need to browse to the KMP file and select it.
From the Keyman menu, select 'Settings'.
<br/>
From the Keyman Settings menu, select 'Add Keyboard from Device'.
</p>
<p><img id="settings-add-keyboard-from-device-ap" src="../../../cdn/dev/img/app/13.0/settings-language-ap.png"></p>
<p>
The device will launch a file browser where you'll browse to the directory of your KMP file.
A common place to look is the "Downloads" folder.
</p>
<p>
<img class="phone" id="dist-file-browser-ap" src="../../../cdn/dev/img/app/13.0/dist-file-browser-ap.png">
<img class="tablet" id="dist-file-browser-at" src="../../../cdn/dev/img/app/13.0/dist-file-browser-at.png">
</p>
<p>
Selecting the KMP file should bring you to Step 3)
</p>
<p>
Step 3) On Android 6.0 (Marshmallow) and higher, mobile apps need to request permissions to access storage. Keyman
for Android needs access to read storage for installing the KMP file. At the dialog, select "ALLOW". Once authorized,
Keyman for Android won't need to ask for storage permission again, unless the user revokes or uninstalls the app.
</p>
<p>
<img class="phone" id="dist-storrage-permission-ap" src="../../../cdn/dev/img/app/13.0/dist-storage-permission-ap.png">
<img class="tablet" id="dist-storrage-permission-at" src="../../../cdn/dev/img/app/13.0/dist-storage-permission-at.png">
</p>
<p>
Older versions of Android grant Storage permissions at app installation time, so those users can skip this step.
</p>
<p>
Step 4) Keyman for Android will verify the package, and display more information about it, including package version and 'readme' notes if available.
This will be displayed at the confirmation to install the keyboard package.
</p>
<p>
If "readme.htm" is not included, a generic page with the package ID and package version will be shown. Click the
"Install" button to install the entire keyboard package.
</p>
<p>
<img class="phone" id="dist-readme-ap" src="../../../cdn/dev/img/app/13.0/dist-readme-ap.png">
<img class="tablet" id="dist-readme-at" src="../../../cdn/dev/img/app/13.0/dist-readme-at.png">
</p>
<p>
Step 5) All the keyboards in the package are installed as a group. In this example, the package only has the
"Khmer Angkor" keyboard, so it becomes the active keyboard. For custom dictionary packages, only one dictionary
will be installed.
</p>
<p>
If the keyboard package includes Welcome documentation, it will be displayed after the keyboard package is installed.
This documentation helps you to get started using the keyboard.
</p>
<p>
<img class="phone" id="dist-welcome-ap" src="../../../cdn/dev/img/app/13.0/dist-welcome-ap.png">
<img class="tablet" id="dist-welcome-at" src="../../../cdn/dev/img/app/13.0/dist-welcome-at.png">
</p>
<p>
Click the "OK" button to finish installing the keyboard. You should be able to select it from the Keyman globe
and start typing with it in any app.
</p>
<p>
<img class="phone" id="dist-install1-ap" src="../../../cdn/dev/img/app/13.0/dist-install1-ap.png">
<img class="tablet" id="dist-install1-at" src="../../../cdn/dev/img/app/13.0/dist-install1-at.png">
</p>
<p>
To learn how to create a custom installable keyboard,
<a href="https://help.keyman.com/developer/12.0/guides/distribute/">click here</a>.
</p>
<h2>Granting storage permission</h2>
<p>
If Keyman for Android is permanently denied storage access, attempts to install custom packages will fail with the
notification "Storage permission request was denied". Perform these steps to grant Keyman for Android access to storage
</p>
<p>
Step 1) Go to Android Settings.
<br/>
Step 2) Depending on your device, click "Apps", "Apps &amp; notifications", or "App permissions" and grant Keyman
storage permission. The screenshot below is from Android 9.0 Pie.
</p>
<p>
<img class="phone" id="keyman-storage-permission-ap" src="../../../cdn/dev/img/app/13.0/keyman-storage-permission-ap.png">
<img class="tablet" id="keyman-storage-permission-at" src="../../../cdn/dev/img/app/13.0/keyman-storage-permission-at.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,176 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Adding Keyboards - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Adding New Keyboards</h2>
<p>
To add keyboards, follow these steps:
</p><p>
Step 1)
</p><p>
Open the menu for additional options. Select 'Settings'
</p><p>
Step 2)
</p><p>
From the Keyman Settings menu, select 'Installed languages'
</p><p>
<img id="settings-language-ap" src="../../../cdn/dev/img/app/13.0/settings-language-ap.png">
</p><p>
Step 3)
</p><p>
From the 'Installed languages' menu, touch the <span class="command">+</span>
button in the bottom right corner of your screen.
</p><p>
<img id="plus-a" src="../../../cdn/dev/img/app/13.0/plus-a.png">
</p><p>
Step 4)
</p><p>
A list of all available languages will appear. Scroll through this list until you find
the language you want to install. Languages marked with a right arrow have multiple keyboards - for
example we have 10+ different Tamil keyboards.
</p><p>
<img class="phone" id="lang-list-ap" src="../../../cdn/dev/img/app/13.0/lang-list-ap.png">
<img class="tablet" id="lang-list-at" src="../../../cdn/dev/img/app/13.0/lang-list-at.png">
</p><p>
Select the language and keyboard you want to install - a popup will ask for confirmation,
hit the <span class="command">Download</span> button.
</p><p>
<img class="phone" id="confirm-dl-ap" src="../../../cdn/dev/img/app/13.0/confirm-dl-ap.png">
<img class="tablet" id="confirm-dl-at" src="../../../cdn/dev/img/app/13.0/confirm-dl-at.png">
</p><p>
Step 5)
</p><p>
Once the download is complete, the new keyboard will be selected. Touch the <span class="command">&larr;</span>
button on the top left corner of the popup several times and the new keyboard will become active.
</p><p>
<img class="phone" id="success-ap" src="../../../cdn/dev/img/app/13.0/dl-success-ap.png">
<img class="tablet" id="success-at" src="../../../cdn/dev/img/app/13.0/dl-success-at.png">
</p><p>
Alternate Step for System Keyboard)
</p><p>
The Keyman system keyboard has an additional <span class="command">CLOSE KEYMAN</span> button at the bottom left of
the "Keyboards" menu. Pushing this button will close Keyman and switch to the next non-Keyman system keyboard.
</p><p>
<img id="close-keyman-a" src="../../../cdn/dev/img/app/13.0/close-keyman-a.png"/>
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,181 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>The System-Wide Keyboard - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Installing System Wide Keyboards</h2>
<p>
Step 1) Open the Keyman app and select the menu for additional options.
The screenshots below are of a device running Android 9.0 Pie.
</p>
<p>
<img class="phone" id="settings1-ap" src="../../../cdn/dev/img/app/13.0/settings1-ap.png">
<img class="tablet" id="settings1-at" src="../../../cdn/dev/img/app/13.0/settings1-at.png">
</p>
<br/>
<p>
Step 2) Select 'Get Started' and then select 'Enable Keyman as system-wide keyboard'.
</p>
<p>
<img class="phone" id="settings2-ap" src="../../../cdn/dev/img/app/13.0/settings2-ap.png">
<img class="tablet" id="settings2-at" src="../../../cdn/dev/img/app/13.0/settings2-at.png">
</p>
<br/>
<p>
This will open an Android settings screen for 'Available virtual keyboard'.
</p>
<p>
<img class="phone" id="settings3-ap" src="../../../cdn/dev/img/app/13.0/settings3-ap.png">
<img class="tablet" id="settings3-at" src="../../../cdn/dev/img/app/13.0/settings3-at.png">
</p>
<br/>
<p>
Step 3) Enable 'Keyman' as an available virtual keyboard.
This will bring up two confirmation dialogs.
</p>
<p>
<img class="phone" id="settings4-ap" src="../../../cdn/dev/img/app/13.0/settings4-ap.png">
<img class="tablet" id="settings4-at" src="../../../cdn/dev/img/app/13.0/settings4-at.png">
</p>
<br/>
<p>
<img class="phone" id="settings5-ap" src="../../../cdn/dev/img/app/13.0/settings5-ap.png">
<img class="tablet" id="settings5-at" src="../../../cdn/dev/img/app/13.0/settings5-at.png">
</p>
<br/>
<p>
Select 'OK' on both. Now when the on-screen keyboard appears for apps other than Keyman,
you'll see a keyboard icon at the bottom right.
</p>
<p>
<img class="phone" id="settings6-ap" src="../../../cdn/dev/img/app/13.0/settings6-ap.png">
<img class="tablet" id="settings6-at" src="../../../cdn/dev/img/app/13.0/settings6-at.png">
</p>
<br/>
<p>
Click the keyboard icon whenever you want to change the current system keyboard.
</p>
<p>
<img class="phone" id="settings7-ap" src="../../../cdn/dev/img/app/13.0/settings7-ap.png">
<img class="tablet" id="settings7-at" src="../../../cdn/dev/img/app/13.0/settings7-at.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,160 +0,0 @@
<br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: session_start(): ps_files_cleanup_dir: opendir(C:\Windows\temp) failed: No such file or directory (2) in C:\src\sites\help.keyman.com\_includes\includes\session-embed.php on line <i>3</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0002</td><td bgcolor='#eeeeec' align='right'>142536</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\src\sites\help.keyman.com\products\android\13.0\switching-between-keyboards.php' bgcolor='#eeeeec'>...\switching-between-keyboards.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>186544</td><td bgcolor='#eeeeec'>require_once( <font color='#00bb00'>'C:\src\sites\help.keyman.com\_includes\includes\session-embed.php'</font> )</td><td title='C:\src\sites\help.keyman.com\products\android\13.0\switching-between-keyboards.php' bgcolor='#eeeeec'>...\switching-between-keyboards.php<b>:</b>3</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>186576</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.session-start' target='_new'>session_start</a>
( )</td><td title='C:\src\sites\help.keyman.com\_includes\includes\session-embed.php' bgcolor='#eeeeec'>...\session-embed.php<b>:</b>3</td></tr>
</table></font>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Switching Between Keyboards - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Switching Between Keyboards</h2>
<p>
To switch keyboards, follow these steps:
</p>
<p>
Step 1)
</p>
<p>
With the keyboard visible, touch the globe key:
<p>
<img class="phone" id="globe-ap" src="../../../cdn/dev/img/app/13.0/globe-ap.png">
<img class="tablet" id="globe-at" src="../../../cdn/dev/img/app/13.0/globe-at.png">
</p>
<p>
This will bring up a list of all currently installed languages (the default is English
EuroLatin (SIL)). If you have already downloaded additional languages, they will appear here.
Simply select them and the keyboard will re-appear with the new language.
</p>
<h2>Hotkey</h2>
<p>
To switch between languages while using an external keyboard (i.e. a bluetooth keyboard), a quick and easy way is to
use a hotkey combination. Press and hold 'Ctrl' and then press 'Tab'.
You should then see the same listing of languages/keyboards. Tap on any available language of your choice.
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,200 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Removing Dictionaries - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Removing a Dictionary</h2>
<p>
To uninstall a dictionary, follow these steps:
</p>
<p>
Step 1)
</p>
<p>
Open the menu for additional options. Select 'Settings'
</p>
<p>
Step 2)
</p>
<p>
From the Keyman Settings menu, select 'Installed languages'
</p>
<p>
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-languages-ap.png">
</p>
<p>
Step 3)
</p>
<p>
From the 'Installed languages' menu, select the language for the dictionary you want to remove. In this example,
we will be removing the "MTNT Dictionary" for the English language.
</p>
<p>
<img id="settings-two-installed-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png">
</p>
<p>
Step 4)
</p>
<p>
The language Settings menu lists currently installed keyboards and dictionaries associated with the language.
Select the dictionary you want to uninstall at the bottom of the page.
</p>
<p>
<img id="english-settings-ap" src="../../../cdn/dev/img/app/13.0/english-settings-ap.png">
</p>
<p>
Step 5)
</p>
<p>
The dictionaries menu displays the dictionaries that are available for a language. Installed dictionaries show a check mark.
Select the dictionary to display the info menu.
</p>
<p>
<img id="english-dictionaries-ap" src="../../../cdn/dev/img/app/13.0/english-dictionaries-ap.png">
</p>
<p>
Step 6)
</p>
<p>
The bottom of the dictionary settings menu displays an option to uninstall the dictionary.
Select 'Uninstall dictionary' to get a prompt to delete the dictionary.
</p>
<p>
<img id="english-dictionary-info-ap" src="../../../cdn/dev/img/app/13.0/english-dictionary-info-ap.png">
</p>
<p>
Step 7)
</p>
<p>
Press "Delete" to uninstall the dictionary.
</p>
<p>
<img id="confirm-english-dictionary-delete-ap" src="../../../cdn/dev/img/app/13.0/confirm-english-dictionary-delete-ap.png">
</p>
<p>
You'll see a notification when the dictionary is deleted.
</p>
<p>
<img id="uninstall-dictionary-notification-ap" src="../../../cdn/dev/img/app/13.0/uninstall-dictionary-notification-ap.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,172 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Removing Keyboards - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Removing a Keyboard</h2>
<p>
To uninstall a keyboard, follow these steps:
</p><p>
Step 1)
</p><p>
Open the menu for additional options. Select 'Settings'
</p><p>
Step 2)
</p><p>
From the Keyman Settings menu, select 'Installed languages'
</p><p>
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-languages-ap.png">
</p><p>
Step 3)
</p><p>
From the 'Installed languages' menu, select the language for the keyboard you want to remove.
</p><p>
<img id="settings-two-installed-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png">
</p><p>
Step 4)
</p><p>
The language Settings menu lists currently installed keyboards associated with the language.
Select the keyboard you want to uninstall
</p><p>
<img id="khmer-settings-ap" src="../../../cdn/dev/img/app/13.0/khmer-settings-ap.png">
</p><p>
Step 5)
</p><p>
The bottom of the keyboard settings menu displays an option to uninstall the keyboard.
Select 'Uninstall keyboard' to get a prompt to delete the keyboard.
</p><p>
Note: the default 'SIL EuroLatin' keyboard for English cannot be removed.
</p><p>
<img id="settings-khmer-info-ap" src="../../../cdn/dev/img/app/13.0/settings-khmer-info-ap.png">
</p><p>
Step 6)
</p><p>
Press "Delete" to uninstall the keyboard.
</p><p>
<img id="confirm-khmer-delete-ap" src="../../../cdn/dev/img/app/13.0/confirm-khmer-delete-ap.png">
</p><p>
You'll see a notification when the keyboard is deleted.
</p><p>
<img class="phone" id="uninstall-notification-ap" src="../../../cdn/dev/img/app/13.0/uninstall-notification-ap.png">
<img class="tablet" id="uninstall-notification-at" src="../../../cdn/dev/img/app/13.0/uninstall-notification-at.png">
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,137 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using the Keyman Browser - Keyman for Android Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel='shortcut icon' href="../../../cdn/dev/img/favicon.ico">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/template.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/app-info-a.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/embed.css">
<link rel="stylesheet" type="text/css" href="../../../cdn/dev/css/formfactor.css">
<link href='https://fonts.googleapis.com/css?family=Cabin:400,400italic,500,600,700,700italic|Source+Sans+Pro:400,700,900,600,300|Noto+Serif:400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<script type='text/javascript' src='../../../cdn/dev/js/keyrenderer.js'></script>
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJS(src) {
var element = document.createElement("script");
element.src = src;
document.body.appendChild(element);
}
function downloadJSAtOnload() {
downloadJS("/cdn/dev/js/jquery1-11-1.min.js");
downloadJS("/cdn/dev/js/kmlive.js");
//downloadJS("/cdn/dev/js/keyrenderer.js");
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
<script>
function isIEOnWin81orEarlier() {
// If we are running IE11/or earlier on Windows 8.1 or earlier, then
// the autolink generates filenames that are misrecognised for download links,
// meaning users on those browesrs cannot easily download Keyman.
// Easiest way to test this is to test against navigator.userAgent
// Yes, we get some muddled analytics of cross-site of IE visitors but
// it's a small enough percentage that we don't need to worry about it.
return (navigator.userAgent.indexOf('Trident/') >= 0 && navigator.userAgent.indexOf('Windows NT 6') >= 0) ||
(document.documentMode < 11);
}
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-249828-1', 'auto', {'allowLinker': !isIEOnWin81orEarlier()});
if(!isIEOnWin81orEarlier()) {
ga('require', 'linker');
ga('linker:autoLink',
['keyman.com', 'www.keyman.com',
'keymanweb.com', 'www.keymanweb.com',
'help.keyman.com',
'blog.keyman.com',
'donate.keyman.com',
'downloads.keyman.com',
'developer.keyman.com',
'keyman.dev',
'keyman.blog',
'blog.tavultesoft.com',
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
}
ga('send', 'pageview');
</script>
</head>
<body data-device="Unknown">
<div id="container">
<div class="header">
<div id="show-phone-menu-spacer"></div>
<img id="logo" src="../../../cdn/dev/img/logo2.png" alt='Keyman Logo' />
<div id="no-menu-spacer"></div>
<img id="header-bottom" src="../../../cdn/dev/img/headerbar.png" alt='Header bottom' />
<a id="help" href="http://keyman.com/">
<p id="keyman-help">Keyman.com</p><img src="../../../cdn/dev/img/helpIcon.png">
</a>
</div>
<div id="phone-header-spacer"></div><div class="main no-toc no-index">
<div id="section2" class='embed-on tablet-form'>
<div class="column-left">
<div id="index">
<h3>Index</h3>
<div id="index-content"></div>
</div>
</div>
<div class="wrapper">
<article>
<h2>Using the Keyman Browser</h2>
<p>
Step 1) Click the Keyman Browser button in the Keyman app
</p><p>
Step 2) Enter the URL of a website to visit into the address bar, for example <strong>google.com</strong>.
Keyman Browser will load the page and detect your language if it is present, and reformat it to show your
language instead of square boxes.
</p><p>
Step 3) Use the bookmark button to save the current page for browsing later.
</p><p>
Step 4) Use the Globe icon to swap between languages.
</p>
<h2>Help Index</h2>
<ul>
<li class="content-in-app"><a href="index.php.html">Getting Started</a></li>
<li class="content-online"><a href="index.php.html">Keyman for Android help home</a></li>
<li><a href="installing-keyboards.php.html">Adding new keyboards</a></li>
<li><a href='switching-between-keyboards.php.html'>Switching between keyboards</a></li>
<li><a href='uninstalling-keyboards.php.html'>Removing a keyboard</a></li>
<li><a href='installing-custom-packages.php.html'>Installing custom keyboards/dictionaries</a></li>
<li><a href='installing-system-keyboard.php.html'>Installing system-wide keyboards</a></li>
<li><a href='uninstalling-dictionaries.php.html'>Removing a dictionary</a></li>
<li><a href='using-keyman-browser.php.html'>Using the Keyman browser</a></li>
</ul>
</article>
</div>
</div>
</div>
<div class="footer">
<div class="wrapper">
<div class="footer-third sil-logo">
<br>
<a href="https://www.keyman.com/about/"><img id="sil-logo" src="../../../cdn/dev/img/sil-logo-blue-2017_1.png" alt='SIL' /></a>
<p>Copyright &copy; 1992-2019</p>
<p>Created by <a href="https://www.keyman.com/about/">SIL International</a></p>
</div>
</div>
</div>
</body>
</html>

View file

@ -26,10 +26,10 @@ public class InfoActivity extends BaseActivity {
private WebView webView;
private final String HELP_PRODUCTION_HOST = "help.keyman.com";
private final String HELP_STAGING_HOST = "help.keyman-staging.com";
private final String HELP_BASE_FORMAT_STR = "https://%s/products/android/%s/%s?embed=android&formfactor=%s";
private final String HELP_BASE_FORMAT_STR = "https://%s/products/android/%s";
private String kmUrl = "";
private final String htmlPath = "file:///android_asset/info/products/android";
private final String htmlPage = "index.php";
private final String htmlPath = "file:///android_asset/info";
private final String htmlPage = "index.html";
private String kmOfflineUrl = "";
@SuppressLint("SetJavaScriptEnabled")
@ -72,9 +72,9 @@ public class InfoActivity extends BaseActivity {
helpHost = HELP_PRODUCTION_HOST;
}
kmUrl = String.format(HELP_BASE_FORMAT_STR, helpHost, majorMinorVersion, htmlPage, formFactor);
kmUrl = String.format(HELP_BASE_FORMAT_STR, helpHost, majorMinorVersion);
// The offline mirroring process (currently) adds .html to the end of the whole string.
kmOfflineUrl = String.format("%s/%s/%s.html", htmlPath, formFactor, htmlPage);
kmOfflineUrl = String.format("%s/%s", htmlPath, htmlPage);
webView = (WebView) findViewById(R.id.infoWebView);
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setJavaScriptEnabled(true);

View file

@ -54,6 +54,10 @@ jq 1.6+ is used during the build process to determine the latest versions of the
On Linux
`sudo apt install jq`
### Install Pandoc
Pandoc is used during the build process to generate the app's offline help.
Install from https://pandoc.org/installing.html
### Crash Reporting
Keyman for Android uses [Sentry](https://sentry.io) for crash reporting at a server https://sentry.keyman.com. The analytics for Debug are associated with an App Bundle ID `com.tavultesoft.kmapro.debug`.
@ -109,12 +113,15 @@ To validate your configuration, from the `android/` folder run `sentry-cli info`
the device serial number listed in step 2.
### Compiling the app's offline help
Extra prerequisite:
* `wget`
Keyman for Android help is maintained in the Markdown files in android/help/.
The script `help/build-help.sh` uses the `pandoc` tool to convert the Markdown files into html.
The script `build-help.sh` uses the `wget` tool to construct an offline bundle from the current
online version of help on help.keyman.com. When significant changes to help content have been
made, it is advisable to manually re-run this script to update the app's offline content.
```bash
cd help
./build-help.sh htm
```
This script is automatically called when Keyman for Android is built.
### Sample Projects

View file

@ -1,120 +0,0 @@
#!/bin/bash
# Uses the open-source `wget` utility to create an embedding-friendly offline mirror
# equivalent of online help.
# Set sensible script defaults:
# set -e: Terminate script if a command returns an error
set -e
# set -u: Terminate script if an unset variable is used
set -u
# set -x: Debugging use, print each statement
# set -x
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BASH_SOURCE[0]}")"
. "$(dirname "$THIS_SCRIPT")/../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
display_usage ( ) {
echo "build-help.sh [-local]"
echo
echo "Get an offline mirror of the VERSION_RELEASE (#.0) of Keyman for Android help"
echo "from help.keyman.com."
echo "For alpha and beta tiers, use http://help.keyman-staging.com"
echo "For stable tier, uses http://help.keyman.com"
echo " -local Instead of live site, get content from help.keyman.com.local"
exit 1
}
KMA_ROOT="$KEYMAN_ROOT/android"
HELP_ROOT="$KMA_ROOT/KMAPro/kMAPro/src/main/assets/info"
# Default is using live site content
DO_LOCAL=false
# Parse args
while [[ $# -gt 0 ]] ; do
key="$1"
case $key in
-local)
DO_LOCAL=true
;;
-h|-?)
display_usage
;;
esac
shift # past argument
done
echo
echo "DO_LOCAL: $DO_LOCAL"
echo
LOCAL_HOST="help.keyman.com.local"
PRODUCTION_HOST="help.keyman.com"
STAGING_HOST="help.keyman-staging.com"
if [ "$DO_LOCAL" = true ]; then
WAIT=
else
# When running against live servers, it's best to have a small wait between loads.
# Cloudflare may frown on not waiting, as `wget` is basically a scraper/bot.
WAIT="--wait=2"
fi
# Allows tracking slightly different settings for different offline-mirroring ops
# should we decide to extract the actual mirroring function into its own file.
#
# iOS uses "--no-directories" instead, at least for now.
OPTIONS="--no-host-directories"
DEVICE="android"
HELP_SITE_SECTION="products/android"
# Clear previous help file downloads (if they exist)
if [ -d "$HELP_ROOT" ]; then
rm -r "$HELP_ROOT"
fi
# Determine host by tier and local
if [ "$DO_LOCAL" = true ]; then
HOST="$LOCAL_HOST"
elif [ "$TIER" = "alpha" ] || [ "$TIER" = "beta" ]; then
HOST="$STAGING_HOST"
else
HOST="$PRODUCTION_HOST"
fi
do_offline_mirror() {
# $1 - the form-factor specification.
# Create local mirror of the help page subdirectory.
# We don't need /font/deploy folder resources, so they're excluded here.
# One of the .css files auto-includes them otherwise.
wget --mirror \
--convert-links \
$WAIT \
--keep-session-cookies \
--page-requisites \
--no-parent \
$OPTIONS \
--restrict-file-names=windows \
--exclude-directories /font/deploy \
--directory-prefix="$HELP_ROOT" \
--adjust-extension \
"$HOST/$HELP_SITE_SECTION/$VERSION_RELEASE/index.php?embed=$DEVICE&formfactor=$1"
# Results in a flat-structured mirror of the specified folder,
# together with all needed resources within the 'site' folder.
}
do_offline_mirror "phone"
# Now for some magic... we rename the page's folder and redownload with the other setting.
mv "$HELP_ROOT/$HELP_SITE_SECTION/$VERSION_RELEASE" "$HELP_ROOT/$HELP_SITE_SECTION/phone"
do_offline_mirror "tablet"
mv "$HELP_ROOT/$HELP_SITE_SECTION/$VERSION_RELEASE" "$HELP_ROOT/$HELP_SITE_SECTION/tablet"

View file

@ -0,0 +1,8 @@
---
title: Version History
---
A frequent updated changelog for Keyman is kept at [help.keyman.com/version-history](https://help.keyman.com/version-history/) on the Keyman Help website.
## Related Topics
* [What's New](whatsnew)

View file

@ -0,0 +1,8 @@
---
title: About Keyman
---
* [Welcome to Keyman](welcome)
* [What's New](whatsnew)
* [System Requirements](system-requirements)
* [Version History](history)

View file

@ -0,0 +1,12 @@
---
title: System Requirements - Keyman for Android Help
---
## Minimum System Requirements
### Minimum Android Version
Keyman for Android will run on Android phones and tablets that have a minimum version of
[Android 5.0 (Lollipop)](https://developer.android.com/about/versions/lollipop).
### Device Permissions
Network and [external storage permissions](../troubleshooting/grant-storage-permission) are required to download and install keyboards/dictionaries from the Keyman servers.

View file

@ -0,0 +1,10 @@
---
title: Welcome to Keyman
---
Thank you for installing Keyman for Android. Whether you're a new or returning user, we believe you will appreciate the significant enhancements in this latest version of Keyman for Android.
## What is Keyman for Android?
Keyman for Android lets you type in over 600 languages on Android mobiles and tablets.
[Click here](../start/) to get started

View file

@ -0,0 +1,20 @@
---
title: What's New
---
Here are some of the new features we have added to Keyman for Android 14.0:
* Improved UI for installing keyboard packages (#3498)
* Select a language during keyboard package installation (#3481)
![](../android_images/select_language.png)
* Added new menu to add languages for an installed keyboard package (#3255)
* Consolidated install menus for installing keyboards (#3245)
* Fix slow input in the embedded browser (#3768)
* Add system globe action to show system keyboards (#3197)
* Improved corrections and predictions (#3555)
* Match user input capital letters when offering suggestions (#3845)
* Update minimum Android SDK to 21 (Android 5.0 Lollipop) (#2993)
* Keyman now works more reliably with WeChat and Telegram (#4254)
* Added new menu to change the display language (#4261)

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 351 B

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 283 B

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View file

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View file

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View file

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View file

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

Before

Width:  |  Height:  |  Size: 133 B

After

Width:  |  Height:  |  Size: 133 B

View file

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 536 B

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View file

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 298 B

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Some files were not shown because too many files have changed in this diff Show more