Merge pull request #2659 from keymanapp/chore/beta-to-master-p9s2-1
chore: merge beta changes to master 🍒
|
|
@ -111,7 +111,7 @@ repositories {
|
|||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0-alpha02'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
api(name: 'keyman-engine', ext: 'aar')
|
||||
implementation "com.google.firebase:firebase-analytics:17.2.1"
|
||||
|
|
|
|||
|
|
@ -1290,128 +1290,51 @@ body[data-device='Unknown'] #osk-tablet-container {
|
|||
float: left;
|
||||
}
|
||||
|
||||
/**************************************
|
||||
* JIRA FEEDBACK CSS
|
||||
/**************************************
|
||||
* FOOTER TABS
|
||||
* ***********************************/
|
||||
|
||||
#jira-feedback{
|
||||
width: 300px;
|
||||
height: 320px;
|
||||
.footer-tab-holder{
|
||||
width: 70px;
|
||||
height: 20px;
|
||||
padding: 9px;
|
||||
background: #f2f2f2;
|
||||
position: fixed;
|
||||
top: 100%;
|
||||
left: 100%;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
#footer-tab-support {
|
||||
margin-left: -340px;
|
||||
border-top-left-radius: 6px;
|
||||
border: solid 1px #000;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
#jira-feedback.selected{
|
||||
margin-top: -339px;
|
||||
#footer-tab-edit {
|
||||
margin-left: -260px;
|
||||
}
|
||||
|
||||
#jira-feedback-tab{
|
||||
.footer-tab{
|
||||
float: right;
|
||||
position: relative;
|
||||
top: -50px;
|
||||
font-size: 10pt;
|
||||
top: -34px;
|
||||
right: -10px;
|
||||
z-index: 4;
|
||||
background: #69B7D2;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 5px 10px;
|
||||
height: 20px;
|
||||
padding: 5px 0px;
|
||||
text-align: center;
|
||||
border-top-left-radius: 6px;
|
||||
border-top-right-radius: 6px;
|
||||
border-top-left-radius: 7px;
|
||||
border-top-right-radius: 7px;
|
||||
width: 70px;
|
||||
margin-left: 210px;
|
||||
cursor: pointer;
|
||||
border-top: solid 1px #000;
|
||||
border-left: solid 1px #000;
|
||||
border-right: solid 1px #000;
|
||||
border-top: solid 1px #444;
|
||||
border-left: solid 1px #444;
|
||||
border-right: solid 1px #444;
|
||||
}
|
||||
|
||||
#jira-feedback-tab h4{
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#jira-feedback-form{
|
||||
position: relative;
|
||||
top: -30px;
|
||||
}
|
||||
|
||||
#jira-feedback input, #jira-feedback textarea, #jira-feedback select{
|
||||
width: 288px;
|
||||
border: solid 1px #000;
|
||||
padding: 4px 5px;
|
||||
margin: 5px 0px 10px 0px;
|
||||
}
|
||||
|
||||
#jira-feedback textarea{
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
#jira-feedback select{
|
||||
width: 298px;
|
||||
}
|
||||
|
||||
#jira-submit{
|
||||
float: right;
|
||||
width: 140px;
|
||||
height: 40px;
|
||||
border-radius: 6px;
|
||||
border: solid 3px #fff;
|
||||
margin: 10px 0px;
|
||||
cursor: pointer;
|
||||
background: #91db51; /* Old browsers */
|
||||
background: -moz-linear-gradient(top, #69B7D2 0%, #5A9EB5 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#69B7D2), color-stop(100%,#5A9EB5)); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #69B7D2 0%,#5A9EB5 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #69B7D2 0%,#5A9EB5 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, #69B7D2 0%,#5A9EB5 100%); /* IE10+ */
|
||||
background: linear-gradient(to bottom, #69B7D2 0%,#5A9EB5 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#69B7D2', endColorstr='#5A9EB5',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
#jira-submit input{
|
||||
color: #fff;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
width: auto;
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#jira-submit:hover{
|
||||
background: #91db51; /* Old browsers */
|
||||
background: -moz-linear-gradient(top, #5A9EB5 0%, #477C8E 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5A9EB5), color-stop(100%,#477C8E)); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #5A9EB5 0%,#477C8E 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #5A9EB5 0%,#477C8E 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, #5A9EB5 0%,#477C8E 100%); /* IE10+ */
|
||||
background: linear-gradient(to bottom, #5A9EB5 0%,#477C8E 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5A9EB5', endColorstr='#477C8E',GradientType=0 ); /* IE6-9 */
|
||||
}
|
||||
|
||||
#jira-feedback form{
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#jira-feedback p{
|
||||
float: left;
|
||||
width: 300px;
|
||||
text-align: left;
|
||||
font-size: 12pt !important;
|
||||
position: relative;
|
||||
top: -30px;
|
||||
}
|
||||
|
||||
#jira-feedback p#jira-title {
|
||||
top: -40px;
|
||||
.footer-tab a{
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/**************************************
|
||||
|
|
@ -1477,7 +1400,7 @@ body[data-device='Unknown'] #osk-tablet-container {
|
|||
height: 280px;
|
||||
font-size: 1.8em !important;
|
||||
}
|
||||
#jira-feedback{
|
||||
.footer-tab-holder{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
|
@ -1538,7 +1461,7 @@ body[data-device='Unknown'] #osk-tablet-container {
|
|||
height: 220px;
|
||||
font-size: 1.5em !important;
|
||||
}
|
||||
#jira-feedback{
|
||||
.footer-tab-holder{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
|
@ -1666,7 +1589,7 @@ body[data-device='Unknown'] #osk-tablet-container {
|
|||
#keymanExample table{
|
||||
width: 1000px;
|
||||
}
|
||||
#jira-feedback{
|
||||
.footer-tab-holder{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 351 B |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 283 B After Width: | Height: | Size: 283 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 9 KiB After Width: | Height: | Size: 9 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 133 B After Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 536 B |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 298 B After Width: | Height: | Size: 298 B |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 992 B After Width: | Height: | Size: 992 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -89,36 +107,36 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/hide-keyboard-ap.png">
|
||||
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/12.0/hide-keyboard-at.png">
|
||||
<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/12.0/backspace-ap.png">
|
||||
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/12.0/backspace-at.png">
|
||||
<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/12.0/return-ap.png">
|
||||
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/12.0/return-at.png">
|
||||
<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/12.0/shift-ap.png">
|
||||
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/12.0/shift-at.png">
|
||||
<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)
|
||||
|
|
@ -126,8 +144,8 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/12.0/touch-hold-ap.png">
|
||||
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/12.0/touch-hold-at.png">
|
||||
<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
|
||||
|
|
@ -137,37 +155,41 @@
|
|||
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img id="share-ap" src="../../../cdn/dev/img/app/12.0/share-a.png"></td>
|
||||
<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/12.0/browser-a.png"></td>
|
||||
<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/12.0/menu-icon-a.png"></td>
|
||||
<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/12.0/font-size-a.png"></td>
|
||||
<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/12.0/delete-a.png"></td>
|
||||
<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/12.0/info-a.png"></td>
|
||||
<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/12.0/get-started-a.png"></td>
|
||||
<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/12.0/settings-a.png"></td>
|
||||
<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>
|
||||
|
|
@ -175,14 +197,14 @@
|
|||
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/12.0/globe-ap.png">
|
||||
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/info-a-gray.png"></p>
|
||||
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
|
||||
<br/>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
@ -217,6 +239,7 @@
|
|||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -89,36 +107,36 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/hide-keyboard-ap.png">
|
||||
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/12.0/hide-keyboard-at.png">
|
||||
<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/12.0/backspace-ap.png">
|
||||
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/12.0/backspace-at.png">
|
||||
<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/12.0/return-ap.png">
|
||||
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/12.0/return-at.png">
|
||||
<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/12.0/shift-ap.png">
|
||||
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/12.0/shift-at.png">
|
||||
<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)
|
||||
|
|
@ -126,8 +144,8 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/12.0/touch-hold-ap.png">
|
||||
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/12.0/touch-hold-at.png">
|
||||
<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
|
||||
|
|
@ -137,37 +155,41 @@
|
|||
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img id="share-ap" src="../../../cdn/dev/img/app/12.0/share-a.png"></td>
|
||||
<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/12.0/browser-a.png"></td>
|
||||
<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/12.0/menu-icon-a.png"></td>
|
||||
<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/12.0/font-size-a.png"></td>
|
||||
<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/12.0/delete-a.png"></td>
|
||||
<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/12.0/info-a.png"></td>
|
||||
<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/12.0/get-started-a.png"></td>
|
||||
<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/12.0/settings-a.png"></td>
|
||||
<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>
|
||||
|
|
@ -175,14 +197,14 @@
|
|||
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/12.0/globe-ap.png">
|
||||
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/info-a-gray.png"></p>
|
||||
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
|
||||
<br/>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
@ -217,6 +239,7 @@
|
|||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -89,36 +107,36 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/hide-keyboard-ap.png">
|
||||
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/12.0/hide-keyboard-at.png">
|
||||
<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/12.0/backspace-ap.png">
|
||||
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/12.0/backspace-at.png">
|
||||
<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/12.0/return-ap.png">
|
||||
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/12.0/return-at.png">
|
||||
<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/12.0/shift-ap.png">
|
||||
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/12.0/shift-at.png">
|
||||
<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)
|
||||
|
|
@ -126,8 +144,8 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/12.0/touch-hold-ap.png">
|
||||
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/12.0/touch-hold-at.png">
|
||||
<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
|
||||
|
|
@ -137,37 +155,41 @@
|
|||
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img id="share-ap" src="../../../cdn/dev/img/app/12.0/share-a.png"></td>
|
||||
<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/12.0/browser-a.png"></td>
|
||||
<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/12.0/menu-icon-a.png"></td>
|
||||
<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/12.0/font-size-a.png"></td>
|
||||
<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/12.0/delete-a.png"></td>
|
||||
<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/12.0/info-a.png"></td>
|
||||
<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/12.0/get-started-a.png"></td>
|
||||
<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/12.0/settings-a.png"></td>
|
||||
<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>
|
||||
|
|
@ -175,14 +197,14 @@
|
|||
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/12.0/globe-ap.png">
|
||||
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/info-a-gray.png"></p>
|
||||
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
|
||||
<br/>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
@ -217,6 +239,7 @@
|
|||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -84,8 +102,8 @@
|
|||
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/12.0/dist-url-screen-ap.png">
|
||||
<img class="tablet" id="dist-url-screen-at" src="../../../cdn/dev/img/app/12.0/dist-url-screen-at.png">
|
||||
<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.
|
||||
|
|
@ -93,14 +111,14 @@
|
|||
<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/12.0/settings-language-ap.png"></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/12.0/dist-file-browser-ap.png">
|
||||
<img class="tablet" id="dist-file-browser-at" src="../../../cdn/dev/img/app/12.0/dist-file-browser-at.png">
|
||||
<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)
|
||||
|
|
@ -111,36 +129,48 @@
|
|||
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/12.0/dist-storage-permission-ap.png">
|
||||
<img class="tablet" id="dist-storrage-permission-at" src="../../../cdn/dev/img/app/12.0/dist-storage-permission-at.png">
|
||||
<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 parse the metadata in the package. If the keyboard package includes a "welcome.htm"
|
||||
file, this will be displayed at the confirmation to install the keyboard package.
|
||||
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>
|
||||
<img class="phone" id="dist-welcome-ap" src="../../../cdn/dev/img/app/12.0/dist-welcome-ap.png">
|
||||
<img class="tablet" id="dist-welcome-at" src="../../../cdn/dev/img/app/12.0/dist-welcome-at.png">
|
||||
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>
|
||||
If "welcome.htm" is not included, a generic page with the package ID and package version will be shown. Click the
|
||||
left "Install" button to install the entire keyboard package.
|
||||
<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>
|
||||
<img class="phone" id="dist-install1-ap" src="../../../cdn/dev/img/app/12.0/dist-install1-ap.png">
|
||||
<img class="tablet" id="dist-install1-at" src="../../../cdn/dev/img/app/12.0/dist-install1-at.png">
|
||||
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>
|
||||
Once the keyboard has been installed, you should be able to use it as normal.
|
||||
<br/>
|
||||
To learn how to create a custom installable keyboard,
|
||||
<a href="https://help.keyman.com/developer/12.0/guides/distribute/">click here</a>.
|
||||
</p>
|
||||
|
|
@ -157,8 +187,8 @@
|
|||
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/12.0/keyman-storage-permission-ap.png">
|
||||
<img class="tablet" id="keyman-storage-permission-at" src="../../../cdn/dev/img/app/12.0/keyman-storage-permission-at.png">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -87,14 +105,14 @@
|
|||
</p><p>
|
||||
From the Keyman Settings menu, select 'Installed languages'
|
||||
</p><p>
|
||||
<img id="settings-language-ap" src="../../../cdn/dev/img/app/12.0/settings-language-ap.png">
|
||||
<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/12.0/plus-a.png">
|
||||
<img id="plus-a" src="../../../cdn/dev/img/app/13.0/plus-a.png">
|
||||
</p><p>
|
||||
Step 4)
|
||||
</p><p>
|
||||
|
|
@ -102,29 +120,29 @@
|
|||
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/12.0/lang-list-ap.png">
|
||||
<img class="tablet" id="lang-list-at" src="../../../cdn/dev/img/app/12.0/lang-list-at.png">
|
||||
<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/12.0/confirm-dl-ap.png">
|
||||
<img class="tablet" id="confirm-dl-at" src="../../../cdn/dev/img/app/12.0/confirm-dl-at.png">
|
||||
<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">←</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/12.0/dl-success-ap.png">
|
||||
<img class="tablet" id="success-at" src="../../../cdn/dev/img/app/12.0/dl-success-at.png">
|
||||
<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/12.0/close-keyman-a.png"/>
|
||||
<img id="close-keyman-a" src="../../../cdn/dev/img/app/13.0/close-keyman-a.png"/>
|
||||
</p>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -81,24 +99,24 @@
|
|||
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/12.0/settings1-ap.png">
|
||||
<img class="tablet" id="settings1-at" src="../../../cdn/dev/img/app/12.0/settings1-at.png">
|
||||
<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/12.0/settings2-ap.png">
|
||||
<img class="tablet" id="settings2-at" src="../../../cdn/dev/img/app/12.0/settings2-at.png">
|
||||
<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/12.0/settings3-ap.png">
|
||||
<img class="tablet" id="settings3-at" src="../../../cdn/dev/img/app/12.0/settings3-at.png">
|
||||
<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>
|
||||
|
|
@ -106,13 +124,13 @@
|
|||
This will bring up two confirmation dialogs.
|
||||
</p>
|
||||
<p>
|
||||
<img class="phone" id="settings4-ap" src="../../../cdn/dev/img/app/12.0/settings4-ap.png">
|
||||
<img class="tablet" id="settings4-at" src="../../../cdn/dev/img/app/12.0/settings4-at.png">
|
||||
<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/12.0/settings5-ap.png">
|
||||
<img class="tablet" id="settings5-at" src="../../../cdn/dev/img/app/12.0/settings5-at.png">
|
||||
<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>
|
||||
|
|
@ -120,16 +138,16 @@
|
|||
you'll see a keyboard icon at the bottom right.
|
||||
</p>
|
||||
<p>
|
||||
<img class="phone" id="settings6-ap" src="../../../cdn/dev/img/app/12.0/settings6-ap.png">
|
||||
<img class="tablet" id="settings6-at" src="../../../cdn/dev/img/app/12.0/settings6-at.png">
|
||||
<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/12.0/settings7-ap.png">
|
||||
<img class="tablet" id="settings7-at" src="../../../cdn/dev/img/app/12.0/settings7-at.png">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -85,8 +103,8 @@
|
|||
<p>
|
||||
With the keyboard visible, touch the globe key:
|
||||
<p>
|
||||
<img class="phone" id="globe-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="globe-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -93,7 +111,7 @@
|
|||
From the Keyman Settings menu, select 'Installed languages'
|
||||
</p>
|
||||
<p>
|
||||
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/12.0/settings-languages-ap.png">
|
||||
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-languages-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 3)
|
||||
|
|
@ -103,7 +121,7 @@
|
|||
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/12.0/settings-two-installed-languages-ap.png">
|
||||
<img id="settings-two-installed-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 4)
|
||||
|
|
@ -113,7 +131,7 @@
|
|||
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/12.0/english-settings-ap.png">
|
||||
<img id="english-settings-ap" src="../../../cdn/dev/img/app/13.0/english-settings-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 5)
|
||||
|
|
@ -123,7 +141,7 @@
|
|||
Select the dictionary to display the info menu.
|
||||
</p>
|
||||
<p>
|
||||
<img id="english-dictionaries-ap" src="../../../cdn/dev/img/app/12.0/english-dictionaries-ap.png">
|
||||
<img id="english-dictionaries-ap" src="../../../cdn/dev/img/app/13.0/english-dictionaries-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 6)
|
||||
|
|
@ -133,7 +151,7 @@
|
|||
Select 'Uninstall dictionary' to get a prompt to delete the dictionary.
|
||||
</p>
|
||||
<p>
|
||||
<img id="english-dictionary-info-ap" src="../../../cdn/dev/img/app/12.0/english-dictionary-info-ap.png">
|
||||
<img id="english-dictionary-info-ap" src="../../../cdn/dev/img/app/13.0/english-dictionary-info-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 7)
|
||||
|
|
@ -142,13 +160,13 @@
|
|||
Press "Delete" to uninstall the dictionary.
|
||||
</p>
|
||||
<p>
|
||||
<img id="confirm-english-dictionary-delete-ap" src="../../../cdn/dev/img/app/12.0/confirm-english-dictionary-delete-ap.png">
|
||||
<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/12.0/uninstall-dictionary-notification-ap.png">
|
||||
<img id="uninstall-dictionary-notification-ap" src="../../../cdn/dev/img/app/13.0/uninstall-dictionary-notification-ap.png">
|
||||
</p>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -87,20 +105,20 @@
|
|||
</p><p>
|
||||
From the Keyman Settings menu, select 'Installed languages'
|
||||
</p><p>
|
||||
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/12.0/settings-languages-ap.png">
|
||||
<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/12.0/settings-two-installed-languages-ap.png">
|
||||
<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/12.0/khmer-settings-ap.png">
|
||||
<img id="khmer-settings-ap" src="../../../cdn/dev/img/app/13.0/khmer-settings-ap.png">
|
||||
</p><p>
|
||||
Step 5)
|
||||
</p><p>
|
||||
|
|
@ -109,18 +127,18 @@
|
|||
</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/12.0/settings-khmer-info-ap.png">
|
||||
<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/12.0/confirm-khmer-delete-ap.png">
|
||||
<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/12.0/uninstall-notification-ap.png">
|
||||
<img class="tablet" id="uninstall-notification-at" src="../../../cdn/dev/img/app/12.0/uninstall-notification-at.png">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -89,36 +107,36 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/hide-keyboard-ap.png">
|
||||
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/12.0/hide-keyboard-at.png">
|
||||
<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/12.0/backspace-ap.png">
|
||||
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/12.0/backspace-at.png">
|
||||
<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/12.0/return-ap.png">
|
||||
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/12.0/return-at.png">
|
||||
<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/12.0/shift-ap.png">
|
||||
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/12.0/shift-at.png">
|
||||
<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)
|
||||
|
|
@ -126,8 +144,8 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/12.0/touch-hold-ap.png">
|
||||
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/12.0/touch-hold-at.png">
|
||||
<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
|
||||
|
|
@ -137,37 +155,41 @@
|
|||
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img id="share-ap" src="../../../cdn/dev/img/app/12.0/share-a.png"></td>
|
||||
<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/12.0/browser-a.png"></td>
|
||||
<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/12.0/menu-icon-a.png"></td>
|
||||
<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/12.0/font-size-a.png"></td>
|
||||
<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/12.0/delete-a.png"></td>
|
||||
<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/12.0/info-a.png"></td>
|
||||
<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/12.0/get-started-a.png"></td>
|
||||
<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/12.0/settings-a.png"></td>
|
||||
<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>
|
||||
|
|
@ -175,14 +197,14 @@
|
|||
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/12.0/globe-ap.png">
|
||||
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/info-a-gray.png"></p>
|
||||
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
|
||||
<br/>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
@ -217,6 +239,7 @@
|
|||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -89,36 +107,36 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/hide-keyboard-ap.png">
|
||||
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/12.0/hide-keyboard-at.png">
|
||||
<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/12.0/backspace-ap.png">
|
||||
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/12.0/backspace-at.png">
|
||||
<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/12.0/return-ap.png">
|
||||
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/12.0/return-at.png">
|
||||
<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/12.0/shift-ap.png">
|
||||
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/12.0/shift-at.png">
|
||||
<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)
|
||||
|
|
@ -126,8 +144,8 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/12.0/touch-hold-ap.png">
|
||||
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/12.0/touch-hold-at.png">
|
||||
<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
|
||||
|
|
@ -137,37 +155,41 @@
|
|||
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img id="share-ap" src="../../../cdn/dev/img/app/12.0/share-a.png"></td>
|
||||
<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/12.0/browser-a.png"></td>
|
||||
<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/12.0/menu-icon-a.png"></td>
|
||||
<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/12.0/font-size-a.png"></td>
|
||||
<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/12.0/delete-a.png"></td>
|
||||
<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/12.0/info-a.png"></td>
|
||||
<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/12.0/get-started-a.png"></td>
|
||||
<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/12.0/settings-a.png"></td>
|
||||
<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>
|
||||
|
|
@ -175,14 +197,14 @@
|
|||
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/12.0/globe-ap.png">
|
||||
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/info-a-gray.png"></p>
|
||||
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
|
||||
<br/>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
@ -217,6 +239,7 @@
|
|||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -89,36 +107,36 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="install-keyboard-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="install-keyboard-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/hide-keyboard-ap.png">
|
||||
<img class="tablet" id="hide-keyboard-at" src="../../../cdn/dev/img/app/12.0/hide-keyboard-at.png">
|
||||
<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/12.0/backspace-ap.png">
|
||||
<img class="tablet" id="backspace-at" src="../../../cdn/dev/img/app/12.0/backspace-at.png">
|
||||
<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/12.0/return-ap.png">
|
||||
<img class="tablet" id="return-at" src="../../../cdn/dev/img/app/12.0/return-at.png">
|
||||
<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/12.0/shift-ap.png">
|
||||
<img class="tablet" id="shift-at" src="../../../cdn/dev/img/app/12.0/shift-at.png">
|
||||
<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)
|
||||
|
|
@ -126,8 +144,8 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img class="phone" id="touch-hold-ap" src="../../../cdn/dev/img/app/12.0/touch-hold-ap.png">
|
||||
<img class="tablet" id="touch-hold-at" src="../../../cdn/dev/img/app/12.0/touch-hold-at.png">
|
||||
<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
|
||||
|
|
@ -137,37 +155,41 @@
|
|||
<th colspan="2" id="toolbar-ap">Toolbar Icons</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img id="share-ap" src="../../../cdn/dev/img/app/12.0/share-a.png"></td>
|
||||
<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/12.0/browser-a.png"></td>
|
||||
<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/12.0/menu-icon-a.png"></td>
|
||||
<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/12.0/font-size-a.png"></td>
|
||||
<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/12.0/delete-a.png"></td>
|
||||
<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/12.0/info-a.png"></td>
|
||||
<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/12.0/get-started-a.png"></td>
|
||||
<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/12.0/settings-a.png"></td>
|
||||
<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>
|
||||
|
|
@ -175,14 +197,14 @@
|
|||
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/12.0/globe-ap.png">
|
||||
<img class="tablet" id="keyboard-help1-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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/12.0/info-a-gray.png"></p>
|
||||
<p><img id="keyboard-help2-ap" src="../../../cdn/dev/img/app/13.0/info-a-gray.png"></p>
|
||||
<br/>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
@ -217,6 +239,7 @@
|
|||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -84,8 +102,8 @@
|
|||
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/12.0/dist-url-screen-ap.png">
|
||||
<img class="tablet" id="dist-url-screen-at" src="../../../cdn/dev/img/app/12.0/dist-url-screen-at.png">
|
||||
<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.
|
||||
|
|
@ -93,14 +111,14 @@
|
|||
<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/12.0/settings-language-ap.png"></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/12.0/dist-file-browser-ap.png">
|
||||
<img class="tablet" id="dist-file-browser-at" src="../../../cdn/dev/img/app/12.0/dist-file-browser-at.png">
|
||||
<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)
|
||||
|
|
@ -111,36 +129,48 @@
|
|||
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/12.0/dist-storage-permission-ap.png">
|
||||
<img class="tablet" id="dist-storrage-permission-at" src="../../../cdn/dev/img/app/12.0/dist-storage-permission-at.png">
|
||||
<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 parse the metadata in the package. If the keyboard package includes a "welcome.htm"
|
||||
file, this will be displayed at the confirmation to install the keyboard package.
|
||||
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>
|
||||
<img class="phone" id="dist-welcome-ap" src="../../../cdn/dev/img/app/12.0/dist-welcome-ap.png">
|
||||
<img class="tablet" id="dist-welcome-at" src="../../../cdn/dev/img/app/12.0/dist-welcome-at.png">
|
||||
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>
|
||||
If "welcome.htm" is not included, a generic page with the package ID and package version will be shown. Click the
|
||||
left "Install" button to install the entire keyboard package.
|
||||
<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>
|
||||
<img class="phone" id="dist-install1-ap" src="../../../cdn/dev/img/app/12.0/dist-install1-ap.png">
|
||||
<img class="tablet" id="dist-install1-at" src="../../../cdn/dev/img/app/12.0/dist-install1-at.png">
|
||||
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>
|
||||
Once the keyboard has been installed, you should be able to use it as normal.
|
||||
<br/>
|
||||
To learn how to create a custom installable keyboard,
|
||||
<a href="https://help.keyman.com/developer/12.0/guides/distribute/">click here</a>.
|
||||
</p>
|
||||
|
|
@ -157,8 +187,8 @@
|
|||
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/12.0/keyman-storage-permission-ap.png">
|
||||
<img class="tablet" id="keyman-storage-permission-at" src="../../../cdn/dev/img/app/12.0/keyman-storage-permission-at.png">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -87,14 +105,14 @@
|
|||
</p><p>
|
||||
From the Keyman Settings menu, select 'Installed languages'
|
||||
</p><p>
|
||||
<img id="settings-language-ap" src="../../../cdn/dev/img/app/12.0/settings-language-ap.png">
|
||||
<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/12.0/plus-a.png">
|
||||
<img id="plus-a" src="../../../cdn/dev/img/app/13.0/plus-a.png">
|
||||
</p><p>
|
||||
Step 4)
|
||||
</p><p>
|
||||
|
|
@ -102,29 +120,29 @@
|
|||
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/12.0/lang-list-ap.png">
|
||||
<img class="tablet" id="lang-list-at" src="../../../cdn/dev/img/app/12.0/lang-list-at.png">
|
||||
<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/12.0/confirm-dl-ap.png">
|
||||
<img class="tablet" id="confirm-dl-at" src="../../../cdn/dev/img/app/12.0/confirm-dl-at.png">
|
||||
<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">←</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/12.0/dl-success-ap.png">
|
||||
<img class="tablet" id="success-at" src="../../../cdn/dev/img/app/12.0/dl-success-at.png">
|
||||
<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/12.0/close-keyman-a.png"/>
|
||||
<img id="close-keyman-a" src="../../../cdn/dev/img/app/13.0/close-keyman-a.png"/>
|
||||
</p>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -81,24 +99,24 @@
|
|||
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/12.0/settings1-ap.png">
|
||||
<img class="tablet" id="settings1-at" src="../../../cdn/dev/img/app/12.0/settings1-at.png">
|
||||
<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/12.0/settings2-ap.png">
|
||||
<img class="tablet" id="settings2-at" src="../../../cdn/dev/img/app/12.0/settings2-at.png">
|
||||
<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/12.0/settings3-ap.png">
|
||||
<img class="tablet" id="settings3-at" src="../../../cdn/dev/img/app/12.0/settings3-at.png">
|
||||
<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>
|
||||
|
|
@ -106,13 +124,13 @@
|
|||
This will bring up two confirmation dialogs.
|
||||
</p>
|
||||
<p>
|
||||
<img class="phone" id="settings4-ap" src="../../../cdn/dev/img/app/12.0/settings4-ap.png">
|
||||
<img class="tablet" id="settings4-at" src="../../../cdn/dev/img/app/12.0/settings4-at.png">
|
||||
<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/12.0/settings5-ap.png">
|
||||
<img class="tablet" id="settings5-at" src="../../../cdn/dev/img/app/12.0/settings5-at.png">
|
||||
<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>
|
||||
|
|
@ -120,16 +138,16 @@
|
|||
you'll see a keyboard icon at the bottom right.
|
||||
</p>
|
||||
<p>
|
||||
<img class="phone" id="settings6-ap" src="../../../cdn/dev/img/app/12.0/settings6-ap.png">
|
||||
<img class="tablet" id="settings6-at" src="../../../cdn/dev/img/app/12.0/settings6-at.png">
|
||||
<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/12.0/settings7-ap.png">
|
||||
<img class="tablet" id="settings7-at" src="../../../cdn/dev/img/app/12.0/settings7-at.png">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,13 @@
|
|||
<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>
|
||||
|
|
@ -15,19 +25,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +45,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -85,8 +113,8 @@
|
|||
<p>
|
||||
With the keyboard visible, touch the globe key:
|
||||
<p>
|
||||
<img class="phone" id="globe-ap" src="../../../cdn/dev/img/app/12.0/globe-ap.png">
|
||||
<img class="tablet" id="globe-at" src="../../../cdn/dev/img/app/12.0/globe-at.png">
|
||||
<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
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -93,7 +111,7 @@
|
|||
From the Keyman Settings menu, select 'Installed languages'
|
||||
</p>
|
||||
<p>
|
||||
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/12.0/settings-languages-ap.png">
|
||||
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-languages-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 3)
|
||||
|
|
@ -103,7 +121,7 @@
|
|||
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/12.0/settings-two-installed-languages-ap.png">
|
||||
<img id="settings-two-installed-languages-ap" src="../../../cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 4)
|
||||
|
|
@ -113,7 +131,7 @@
|
|||
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/12.0/english-settings-ap.png">
|
||||
<img id="english-settings-ap" src="../../../cdn/dev/img/app/13.0/english-settings-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 5)
|
||||
|
|
@ -123,7 +141,7 @@
|
|||
Select the dictionary to display the info menu.
|
||||
</p>
|
||||
<p>
|
||||
<img id="english-dictionaries-ap" src="../../../cdn/dev/img/app/12.0/english-dictionaries-ap.png">
|
||||
<img id="english-dictionaries-ap" src="../../../cdn/dev/img/app/13.0/english-dictionaries-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 6)
|
||||
|
|
@ -133,7 +151,7 @@
|
|||
Select 'Uninstall dictionary' to get a prompt to delete the dictionary.
|
||||
</p>
|
||||
<p>
|
||||
<img id="english-dictionary-info-ap" src="../../../cdn/dev/img/app/12.0/english-dictionary-info-ap.png">
|
||||
<img id="english-dictionary-info-ap" src="../../../cdn/dev/img/app/13.0/english-dictionary-info-ap.png">
|
||||
</p>
|
||||
<p>
|
||||
Step 7)
|
||||
|
|
@ -142,13 +160,13 @@
|
|||
Press "Delete" to uninstall the dictionary.
|
||||
</p>
|
||||
<p>
|
||||
<img id="confirm-english-dictionary-delete-ap" src="../../../cdn/dev/img/app/12.0/confirm-english-dictionary-delete-ap.png">
|
||||
<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/12.0/uninstall-dictionary-notification-ap.png">
|
||||
<img id="uninstall-dictionary-notification-ap" src="../../../cdn/dev/img/app/13.0/uninstall-dictionary-notification-ap.png">
|
||||
</p>
|
||||
|
||||
<h2>Help Index</h2>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
@ -87,20 +105,20 @@
|
|||
</p><p>
|
||||
From the Keyman Settings menu, select 'Installed languages'
|
||||
</p><p>
|
||||
<img id="settings-languages-ap" src="../../../cdn/dev/img/app/12.0/settings-languages-ap.png">
|
||||
<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/12.0/settings-two-installed-languages-ap.png">
|
||||
<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/12.0/khmer-settings-ap.png">
|
||||
<img id="khmer-settings-ap" src="../../../cdn/dev/img/app/13.0/khmer-settings-ap.png">
|
||||
</p><p>
|
||||
Step 5)
|
||||
</p><p>
|
||||
|
|
@ -109,18 +127,18 @@
|
|||
</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/12.0/settings-khmer-info-ap.png">
|
||||
<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/12.0/confirm-khmer-delete-ap.png">
|
||||
<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/12.0/uninstall-notification-ap.png">
|
||||
<img class="tablet" id="uninstall-notification-at" src="../../../cdn/dev/img/app/12.0/uninstall-notification-at.png">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -15,19 +15,19 @@
|
|||
<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);
|
||||
|
|
@ -35,23 +35,41 @@
|
|||
window.attachEvent("onload", downloadJSAtOnload);
|
||||
else window.onload = downloadJSAtOnload;
|
||||
</script>
|
||||
<script>
|
||||
(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');
|
||||
<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': true});
|
||||
ga('require', 'linker');
|
||||
ga('linker:autoLink',
|
||||
['keyman.com', 'www.keyman.com',
|
||||
'keymanweb.com', 'www.keymanweb.com',
|
||||
'help.keyman.com',
|
||||
'blog.keyman.com',
|
||||
'www.tavultesoft.com', 'tavultesoft.com', 'secure.tavultesoft.com'] );
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
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">
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0-alpha02'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
implementation 'commons-io:commons-io:2.6'
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,12 @@ public class CloudDownloadMgr{
|
|||
{
|
||||
if(isInitialized)
|
||||
return;
|
||||
aContext.registerReceiver(completeListener,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
|
||||
try {
|
||||
aContext.registerReceiver(completeListener, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
|
||||
} catch (IllegalStateException e) {
|
||||
String message = "initialize error: ";
|
||||
Log.e(TAG, message + e);
|
||||
}
|
||||
isInitialized = true;
|
||||
}
|
||||
|
||||
|
|
@ -68,7 +73,12 @@ public class CloudDownloadMgr{
|
|||
{
|
||||
if(!isInitialized)
|
||||
return;
|
||||
aContext.unregisterReceiver(completeListener);
|
||||
try {
|
||||
aContext.unregisterReceiver(completeListener);
|
||||
} catch (IllegalStateException e) {
|
||||
String message = "shutdown error: ";
|
||||
Log.e(TAG, message + e);
|
||||
}
|
||||
isInitialized = false;
|
||||
}
|
||||
|
||||
|
|
@ -184,8 +194,10 @@ public class CloudDownloadMgr{
|
|||
ICloudDownloadCallback<ModelType,ResultType> aCallback,
|
||||
CloudApiTypes.CloudApiParam... params)
|
||||
{
|
||||
if(!isInitialized)
|
||||
throw new IllegalStateException("Downloadmanager is not initialize. Call KMManger.initialize before");
|
||||
if(!isInitialized) {
|
||||
Log.w(TAG, "Downloadmanager not initialized. Initializing CloudDownloadMgr.");
|
||||
initialize(aContext);
|
||||
}
|
||||
|
||||
synchronized (downloadSetByDownloadIdentifier) {
|
||||
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ public class ResourcesUpdateTool implements KeyboardEventHandler.OnKeyboardDownl
|
|||
public static void createNotificationChannel(Context aContext) {
|
||||
// Create the NotificationChannel, but only on API 26+ because
|
||||
// the NotificationChannel class is new and not in the support library
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && SEND_UPDATE_NOTIFICATIONS) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && SEND_UPDATE_NOTIFICATIONS && aContext != null) {
|
||||
CharSequence name = aContext.getString(R.string.keyboard_updates_channel);
|
||||
String description = aContext.getString(R.string.keyboard_updates_available);
|
||||
int importance = NotificationManager.IMPORTANCE_DEFAULT;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ repositories {
|
|||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0-alpha02'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
api(name: 'keyman-engine', ext: 'aar')
|
||||
implementation "com.google.firebase:firebase-core:17.2.1"
|
||||
|
|
|
|||