diff --git a/android/.gitignore b/android/.gitignore index 25aee8957a..36e390795f 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -41,6 +41,9 @@ KMEA/**/assets/resources # keymanweb OSK font KMEA/**/assets/keymanweb-osk.* +# KMAPRo generated offline help +KMAPro/**/assets/info/ + # KMAPRo default packages KMAPro/**/assets/*.kmp diff --git a/android/KMAPro/build.sh b/android/KMAPro/build.sh index 6a46d2f399..565695d736 100755 --- a/android/KMAPro/build.sh +++ b/android/KMAPro/build.sh @@ -111,6 +111,11 @@ else DAEMON_FLAG= fi +# Convert markdown to html for offline help +echo "Converting markdown to html for offline help" +cd "$KEYMAN_ROOT/android/help" +./build-help.sh htm +cd "$KEYMAN_ROOT/android/KMAPro" # Download default keyboard and dictionary if [ "$DO_KEYBOARDS_DOWNLOAD" = true ]; then diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/app-info-a.css b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/app-info-a.css deleted file mode 100644 index b628b8aa93..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/app-info-a.css +++ /dev/null @@ -1,102 +0,0 @@ - -/*********************** - Wrapper CSS -***********************/ - -#android-tab-header{ - width: 100%; - background: #f2f2f2; -} - -#android-mobile-header, #android-tablet-header{ - width: 50%; - float: left; - text-align: center; - background: #e4e4e4; - padding: 10px 0px; - cursor: pointer; -} - -.tab{ - display: none; -} - -#android-mobile-header.selected-tab, #android-tablet-header.selected-tab, .tab.selected-tab{ - display: block; - background: #f2f2f2; -} - -#android-mobile-header h4, #android-tablet-header h4{ - font-size: 14pt; - font-weight: bold; -} - -h2{ - font-size: 22pt; - font-weight: 400; - margin: 30px 20px 15px 20px; - text-align: center; - color: #BA2034; -} - -/* - Setting display: block; to ~!important will break CSS rules for phone vs tablet. - */ -p img{ - margin-top: 10px !important; - display: block; - margin-left: auto !important; - margin-right: auto !important; - margin-bottom: 10px !important; -} - -table{ - width: 100%; - margin-bottom: 50px; -} - - -td{ - text-align: left; - vertical-align: middle; - padding: 10px; -} - -td:first-child{ - width: 15%; -} - -td:last-child{ - width: 85%; -} - -th{ - font-weight: bold; - font-size: 14pt; - padding: 15px 0px 5px 0px; -} - -.command{ - font-weight: bold; - color: #69B7D3; -} - -#toolbar{ - padding-top: 40px; -} - -/*********************** - Images CSS -***********************/ - -#section2 img{ - min-width: 40px; -} - -/** - Removes existing max-width property settings from images in tables. - They overly shrink the images on the main Android symbol glossary. - */ -#section2 td img { - max-width: unset; -} \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/embed.css b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/embed.css deleted file mode 100644 index 3e0cb6058e..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/embed.css +++ /dev/null @@ -1,7 +0,0 @@ -.embed-on .content-online { - display: none; -} - -.embed-off .content-in-app { - display: none; -} \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/formfactor.css b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/formfactor.css deleted file mode 100644 index 52f60e9532..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/formfactor.css +++ /dev/null @@ -1,28 +0,0 @@ -.phone-form .tablet { - display: none; -} - -.tablet-form .phone { - display: none; -} - -#section2 a.phone, #section2 a.tablet { - color: #000000; -} - -.tablet-form a.phone { - display: block; -} - -.phone-form a.tablet { - display: block; -} - -.phone-form #android-mobile-header { - background: #f2f2f2; -} - -.tablet-form #android-tablet-header { - background: #f2f2f2; -} - diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/template.css b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/template.css deleted file mode 100644 index 91dadaf599..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/css/template.css +++ /dev/null @@ -1,1837 +0,0 @@ -/************************************** - * CSS RESET - * ***********************************/ - -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; - padding-left: 10px; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; -} - -tbody { - display: table-row-group; - vertical-align: middle; -} - -table td{ - padding: 4px; -} - -html{ - font-family: 'Cabin', sans-serif; - /*font-family: 'Open Sans', sans-serif;*/ - /*font-family: 'Source Sans Pro', sans-serif;*/ -} - -html p, -html dd, -html li { - font-family: 'Calibri', sans-serif; - font-size: 14pt; -} - -body { - line-height: inherit; -} - -/************************************** - * Language Section CSS - * ***********************************/ - -@font-face { - font-family:GeezWeb; - font-style:normal; - font-weight:normal; - src:url('http://r.keymanweb.com/20/fonts/wookianos.ttf') format('truetype'); -} -@font-face { - font-family:MyanmarWeb; - font-style:normal; - font-weight:normal; - src:url('http://r.keymanweb.com/20/fonts/Padauk.ttf') format('truetype'); -} -/*@font-face { - font-family:LatinWeb; - font-style:normal; - font-weight:normal; - src:url('//r.keymanweb.com/20/fonts/DejaVuSans.ttf') format('truetype'); -}*/ -@font-face { - font-family:OriyaWeb; - font-style:normal; - font-weight:normal; - src:url('http://r.keymanweb.com/20/fonts/utkalm.ttf') format('truetype'); -} -@font-face { - font-family:SinhalaWeb; - font-style:normal; - font-weight:normal; - src:url('http://r.keymanweb.com/20/fonts/kaputaunicode.ttf') format('truetype'); -} -@font-face { - font-family:TamilWeb; - font-style:normal; - font-weight:normal; - src:url('http://r.keymanweb.com/20/fonts/aava1.ttf') format('truetype'); -} -@font-face { - font-family:CherokeeWeb; - font-style:normal; - font-weight:normal; - src:url('http://r.keymanweb.com/20/fonts/digohweli_1_7.ttf') format('truetype'); -} -@font-face { - font-family: SindhiWeb; - font-style: normal; - font-weight: normal; - src: url('http://r.keymanweb.com/20/fonts/MBKhursheed10.6.ttf') format("truetype"); -} -@font-face { - font-family: TibetanWeb; - font-style: normal; - font-weight: normal; - src: url('http://r.keymanweb.com/20/fonts/CTRC-Uchen.ttf') format("truetype"); -} -@font-face { - font-family: LaoWeb; - font-style: normal; - font-weight: normal; - src: url('http://r.keymanweb.com/20/fonts/SAYSETT0.eot'); - src: url('http://r.keymanweb.com/20/fonts/SAYSETT0.eot?') format('embedded-opentype'), - url('http://r.keymanweb.com/20/fonts/saysettha_web.woff') format('woff'), - url('http://r.keymanweb.com/20/fonts/saysettha_OT.ttf') format('truetype'); -} -@font-face { - font-family: PashtoWeb; - font-style: normal; - font-weight: normal; - src: url('http://r.keymanweb.com/20/fonts/LateefRegOT.ttf') format("truetype"); -} - -/* Amharic */ -:lang(amh).lang-example { - font-family: GeezWeb; -} -/* Burmese */ -:lang(mya).lang-example { - font-family: MyanmarWeb; -} -/* Cherokee */ -:lang(chr).lang-example { - font-family: CherokeeWeb; -} -/* Lao */ -:lang(lao).lang-example { - font-family: LaoWeb; -} -/* Malayalam -:lang(mal).lang-example { - font-family: GeezWeb; -} */ - -/* Marathi -:lang(mar).lang-example { - font-family: GeezWeb; -} */ -/* Oriya */ -:lang(ori).lang-example { - font-family: OriyaWeb; -} -/* Rawang */ -:lang(raw).lang-example { - font-family: MyanmarWeb; -} -/* Sindhi */ -:lang(snd).lang-example { - font-family: SindhiWeb; -} -/* Sinhala */ -:lang(sin).lang-example { - font-family: SinhalaWeb; -} - -/* Tamil */ -:lang(tam).lang-example { - font-family: TamilWeb; -} -/* Tibetan */ -:lang(bod).lang-example { - font-family: TibetanWeb; -} -/* Tigrigna */ -:lang(tir).lang-example { - font-family: GeezWeb; -} - -/************************************** - * Page Layout CSS - * ***********************************/ - -html{ - cursor: default; - background: #fff; -} - -.wrapper { - width: 960px; - margin-left: auto; - margin-right: auto; -} - -#section2 .wrapper { - width: initial; - overflow-x: auto; /* fixes content too wide leading to content dropping below index, but not ideal, temp fix better than previous */ - max-width: 960px; - margin-left: 220px; - margin-right: 220px; -} - -:not(div.interface-hierarchy) blockquote { - margin-left: 32px; - margin-bottom: 16px; - background: rgba(242,242,242,0.9); - padding: 4px; - border-radius: 4px; -} - -div.interface-hierarchy { - padding: 0px 10px 10px 10px; - line-height: 1.2em; - font-size: 14pt; -} - -div.interface-hierarchy blockquote { - padding-left: 20px; -} - -.no-toc #section2 .wrapper { - margin-right: auto; -} - -.no-index #section2 .wrapper { - margin-left: auto; -} - -@media only screen and (min-width: 1440px) { - #section2 .wrapper { - width: 960px; - } - body #section2 { - float: none; - width: 1400px; - margin-left: auto; - margin-right: auto; - display: block; - } -} - -@media only screen and (min-width: 1024px) and (max-width: 1279px) { - #section2 .wrapper { - margin-right: 20px; - } -} - -.menu-wrapper { - width: 960px; - margin-left: auto; - margin-right: auto; -} - -.button{ - float: left; - width: 200px; - height: 40px; - line-height: 40px; - border-radius: 6px; - text-align: center; - margin: 20px; - cursor: pointer; - box-shadow: 1px 1px 2px #3e3e3e; -} - -.button a{ - text-decoration: none; -} - -.button h2{ - color: #fff; -} - -#container{ - min-height: 100%; - width: 100%; -} - -.main{ - float: left; - width: 100%; -} - -.valign-outer{ - height: 100%; - width: 100%; - overflow: hidden; - display: table; - position: static; -} - -.valign-middle{ - display: table-cell; - vertical-align: middle; - width: 100%; - position: static; -} - -.center{ - text-align: center; -} - -.command{ - font-weight: 400; - color: #69B7D2; -} - -.inline{ - text-align: center; -} - -.red{ - color: #B92034; -} - -.underline{ - border-bottom: 1px solid #B92034; - margin-bottom: 15px; - padding-bottom: 0px !important; -} - -.caption{ - text-align: center; - font-size: 11pt; - font-weight: 600; - margin-top: -15px; - padding: 0px 10px; -} - -.people-text{ - font-size: 12pt !important; -} - -.testimonial{ - display: block; - margin: 20px; - background: #fff; - border-radius: 14px; - padding: 30px 20px; - box-shadow: 1px 1px 4px #000; - font-style: italic; - color: #6e6e6e; -} - -.caption a{ - text-decoration: underline; - color: #B92034; -} - -.contact-social{ - position: relative; - top: 12px; -} - -/********************************** - * HEADER CSS - *********************************/ - -.header{ - float: left; - width: 100%; - background: #f2f2f2; - display: block; - z-index: 5; -} - -#show-phone-menu{ - display: none; -} - -#logo{ - margin-left: 30px; - float: left; -} - -#no-menu-spacer{ - float: left; - width: 100%; - height: 20px; - display: block; -} - -#header-bottom{ - width: 100%; - height: 8px; - display: block; -} - -#help{ - width: 160px; - position: absolute; - top: 35px; - left: 100%; - margin-left: -160px; - text-decoration: none; -} - -#help p{ - float: left; - font-size: 14pt; - color: #000; - vertical-align: top; - text-decoration: underline; -} - -#help img{ - float: left; - margin-left: 10px; -} - -#breadcrumbTrail{ - float: left; - margin: 10px 10px 20px 40px; - background: #f2f2f2; - padding: 10px; - border-radius: 4px; - font-size: 10pt; -} - -#breadcrumbTrail a{ - color: #B92034; -} - -/************************************** - * TOP MENU 1 CSS - * ***********************************/ - -#top-menu1{ - float: left; - width: 100%; - height: 50px; - background: #f2f2f2; - position: absolute; - z-index: 2; - top: 66px; - padding-top: 12px; -} - -#top-menu-bg{ - position:relative; - top:-8px; - width:100%; - padding-top: 12px; - height:50px; - float: left; - background:white; -} - -#top-menu1.faded-menu { - position: fixed; - top: 0; - background: rgba(242,242,242,0.9); -} - -#top-menu-icon{ - float: left; - position: absolute; - top: 13px; - left: 30px; - display: none; -} - -#top-menu-icon2{ - float: left; - position: absolute; - top: 25px; - left: 100%; - margin-left: -57px; - display: none; -} - -#top-menu1 .menu-item{ - float: left; - width: 240px; - height: 50px; - text-align: center; - line-height: 50px; - overflow-y: visible; -} - -#top-menu1 .menu-item:hover, #top-menu1 .menu-item img:hover, #top-menu1 .menu-item h3:hover, #top-menu1 .menu-item h3:hover a{ - color: #B92034; -} - -#top-menu1 .menu-item:nth-child(odd):hover{ - background: #f2f2f2; - box-shadow: 1px 1px 4px #000; - position: relative; - z-index: 2; -} - -#top-menu1 .menu-item:hover .menu-item-dropdown{ - display: block !important; -} - -#top-menu1 .menu-item:hover .header-triangle img{ - background: url('../img/triangle.png') 17px 0; -} - -#top-menu1 .menu-item a{ - color: #000; - text-decoration: none; -} - -#top-menu1 .menu-item h3 a:hover{ - color: #B92034; -} - -#top-menu1 .menu-item h3{ - font-weight: 600; - color: #000; -} - -.header-triangle img{ - margin-left: 5px; - height: 9px; - width: 17px; - background: url('../img/triangle.png') 0 0; -} - -#top-menu1 .menu-item .menu-item-sub{ - float: right; -} - -#top-menu-bottom{ - width: 100%; - height: 8px; - display: block; -} - -.menu-item-dropdown{ - width: 240px; - position: relative; - left: -5px; - z-index: 3; - display: none; - text-align: left; - padding: 0px 5px 5px 5px; - overflow: hidden; -} - -.menu-dropdown-inner{ - width: 240px; - background: #f2f2f2; - margin-bottom: 10px; - padding-bottom: 10px; - box-shadow: 1px 1px 4px #000; -} - -.menu-item-dropdown h4{ - color: #000; - border-bottom: 1px solid #000; - margin: 0px 10px; - padding-top: 10px; - font-weight: 600; - line-height: 1.5em; -} - -.menu-item-dropdown h4:first-child{ - border-top: none; -} - -.menu-item-dropdown form{ - width: 100%; - height: 30px; - padding: 10px 0px; -} - -#language-search{ - float: left; - width: 139px; - height: 28px; - border-radius: 0px; - border: solid 1px gray; - margin-left: 10px; - padding-left: 10px; -} - -#search-submit{ - float: left; - position: relative; - left: -1px; -} - -.menu-item-dropdown ul{ - padding-top: 10px; -} - -.menu-item-dropdown ul li{ - padding: 0px; - text-align: left; - line-height: 1.8em; - width: 220px; - margin: 0px 10px; -} - -.menu-item-dropdown ul li a{ - color: #B92034 !important; - font-weight: 500; - font-size: 11pt; - display: inline-block; - width: 100%; - height: 100%; - padding: 0px 10px; -} - -.menu-item-dropdown ul li:hover a{ - text-decoration: underline !important; -} - -.menu-item-dropdown ul li:hover{ - background: #e2e2e2; -} - -.beta{ - display: inline-block; - font-size:8pt; - color:#000; - position:relative; - top:-6px;left:3px -} - -#phone-menu{ - display: none; -} - -#phone-header-spacer{ - display: none; -} - -/* Search Box */ - -.search-wrap { - right: 0; - top: 0; - position: absolute; - margin: 21px 32px 21px 21px; -} - -input[type="search"] { - -webkit-appearance: textfield; - appearance: textfield; - -moz-appearance: textfield; -} - -.search-wrap input { - width: 22px; - -moz-transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; - transition: all 0.3s ease-out; - padding: 4px 22px 4px 4px; - background-color: #6D6C6F; - border-radius: 6px; - border: none; - background-image: url('../img/search-icon.png'); - background-repeat: no-repeat; - background-position: right 4px; - color: white; -} -.search-wrap input:focus { - width: 200px; - -moz-transition: all 0.3s ease-out; - -webkit-transition: all 0.3s ease-out; - transition: all 0.3s ease-out; -} - -.search-wrap .offscreen { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - - -/********************************** - * FOOTER CSS - *********************************/ - -.footer{ - float: left; - width: 100%; - text-align: center; - background: #A4A8AB; -} - -.footer .wrapper { - width: auto; - display: inline-block; - margin: 0; - text-align: left; -} - -.footer-third{ - float: left; - width: 320px; - margin-left: 4px; - margin-right: 4px; -} - -.footer-third-title{ - margin-top: 30px; - text-align: center; - font-size: 18pt; - color: #fff; - margin-bottom: 25px; -} - -.footer-third form{ - width: 320px; -} - -.footer-third form input{ - -webkit-appearance: none; - padding: 0px; - float: left; - height: 38px; - width: 200px; - padding-left: 10px; - font-size: 14pt; - border-radius: 6px; - border-bottom-right-radius: 0px; - border-top-right-radius: 0px; - box-shadow: none; - border: 1px solid #FFFFFF; - margin-left: 10px; -} - -.footer-third form input:focus{ - outline: 0; -} - -.subscribe{ - width: 90px; - margin: 0px; - border-top-left-radius: 0px; - border-bottom-left-radius: 0px; - background: #666666; - box-shadow: none; -} - -.subscribe h2{ - font-size: 16px; - margin: 0px; - padding: 0px; - font-weight: normal; -} - -.subscribe:hover{ - background: #888888; -} - -#footer-mailchimp br { - clear: both; -} - -/* - social-logos font from https://github.com/Automattic/social-logos, GPLv2 - */ -@font-face { - font-family: "social-logos"; - src: url("../../fonts/social-logos.ttf"); - font-weight: normal; - font-style: normal; -} - -[data-icon]:before { - font-family: "social-logos" !important; - content: attr(data-icon); - font-style: normal !important; - font-weight: normal !important; - font-variant: normal !important; - text-transform: none !important; - line-height: 1; - speak: none; - padding-right: 4px; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -#footer-social { - text-align: center; -} - -#footer-social a { - display: block; - text-decoration: none; - color: #666666; - font-size: 14pt; - padding: 4px; -} - -#footer-social a:hover { - color: #444444; -} - -#privacy-policy { - text-align: center; - margin-top: 32px; - display: block; -} - -#privacy-policy a { - display: block; - text-decoration: none; - color: white; - font-size: 12pt; -} - -#privacy-policy a:hover { - color: #444444; -} - -#footer-social div { - display: inline-block; - text-align: left; - margin-bottom: 24px; -} - -#footer-social a#footer-community { - padding-left: 27px; -} - -.sil-logo a, .sil-logo a:visited { - color: white; - text-decoration: none; -} - -.sil-logo a:hover { - color: white; - text-decoration: underline; -} - -.sil-logo{ - text-align: center; - margin-top: 20px; -} - -.sil-logo p{ - color: #fff; - font-size: 12pt; - margin-top: 10px; -} - -/********************************** - * SECTION 2 CSS - *********************************/ - -#section2{ - float: left; - width: 100%; - margin-bottom: 30px; - display: inline; -} - -#section2 h1{ - text-align: center; - font-size: 28pt; - padding: 40px 10px 10px 10px; -} - -#section2 h2{ - font-size: 20pt; - line-height: 1.2em; - padding: 32px 10px 10px 10px; -} - -#section2 h3{ - font-size: 16pt; - font-weight: 600; - padding: 16px 10px 10px 10px; -} - -#section2 h4{ - font-size: 14pt; - font-weight: 600; - padding: 4px 10px 4px 10px; -} - -#section2 p, #section2 dl, #section2 .itemizedlist { - padding: 0px 10px 10px 10px; - line-height: 1.2em; - font-size: 14pt; -} - -#section2 p a{ - color: #B92034; - text-decoration: underline; - cursor: pointer; - font-weight: 600; - line-height: 1.2em; -} - -#section2 li{ - margin-left: 30px; - list-style: disc; - list-style-position: outside; - line-height: 1.2em; - font-size: 14pt; -} - -#section2 p.context-main-image { - text-align: center; - margin-left: -12px; -} - -#section2 p.context-main-image img, -#section2 img.context-main-image { - box-shadow: 0px 4px 12px rgba(0,0,0,0.75); - border-radius: 4px; -} - -/*#section2 img{ - margin: 10px; -}*/ - -#section2 img.center{ - margin-left: auto; - margin-right: auto; - display: block; -} - -#section2 img.inline { - margin: 0; -} - -#section2 .itemizedlist li{ - list-style-position: outside; -} - -#section2 li { - margin-bottom: 12px; -} - -/* TODO: deprecate this since prismjs handles it. This also conflicts with the line-numbers plugin */ -#section2 pre[class*="language-"] { - margin-left: 9px; - margin-right: 9px; - padding: 9px; - line-height: 1.2; -} - -#section2 pre[class*="language-"] code[class*="language-"] { - line-height: 1.2; -} - -.product{ - margin-bottom: 10px; - margin-top: 20px; - background: #e3e3e3; - text-align: center; - max-height: 340px; -} - -.product a{ - display: inline-block; -} - -.product p{ - text-align: left; - font-size: 12pt !important; - height: 130px; -} - -#engine-support-list{ - margin-bottom: 20px; - columns: 2; - -webkit-columns: 2; - -moz-columns: 2; -} - -#keyboard-support-list{ - margin-bottom: 20px; - columns: 4; - -webkit-columns: 4; - -moz-columns: 4; -} - -#product-support-list{ - columns: 3; - -webkit-columns: 3; - -moz-columns: 3; - text-align: center; -} - -#version-history{ - text-align: center; -} - -#keyboard-support-list li, #product-support-list li, #engine-support-list li, #version-history li{ - list-style: none !important; -} - -#keyboard-support-list li a, #product-support-list li a, #engine-support-list li a, #version-history li a{ - color: #B92034; - text-decoration: underline; -} - -kbd { - background: none repeat scroll 0 0 #CCCCD0; - border: 1px solid #808080; - border-radius: 4px; - color: #000000; - font-size: 13px; - font-weight: bold; - margin: 0 1px; - padding: 0px 0px 0px; - min-width: 1.5em; - text-align: center; - vertical-align: bottom; - display: inline-block; -} - -/* Make the element look like an iOS key. */ -kbd.ios { - background-color: #fafafa; /* faaa fa fa fa fa faaaa far better... */ - border: 0; - box-shadow: /* Hard shadow */ 0 1px rgba(0,0,0,0.4), - /* Diffuse shadow */ 0 1px 4px rgba(0,0,0,0.2), - /* Highlight */ inset 0 1px white; - border-radius: 4px; - font-weight: 500; -} - -#section2 aside { - margin: 12px; - background: #e3e5e6; - border-radius: 6px; - padding: 1px 0; -} - -#section2 aside h2, -#section2 aside h3 { - padding-top: 8px; -} - -.list-of-tables { - display: none; -} - -.bold{ - font-weight: bold; -} - -.programlisting{ - font-family: -moz-fixed; - font-family: "Courier New", Courier, monospace; - background: #f2f2f2; - padding: 5px; - line-height: 1.3; - margin: 10px; - overflow-x: auto; -} - -.navheader, .navfooter{ - width: auto; - margin: 0px 10px; -} - -ol li a{ - color: #B92034; -} - -.tip{ - background: #f2f2f2; - border-radius: 6px; - padding: 20px; - margin: 10px 30px; -} - -.tip .title{ - margin-top: 0px !important; -} - -.informaltable table{ - background: #f2f2f2; - margin: 10px; -} - -.informaltable td, .informaltable th{ - border: 1px solid gray; - padding: 5px; -} - -.note{ - border: 1px solid #F3E5DE; -} - -.note .title{ - margin-top: 0px !important; - padding-top: 5px; - background-color: #F3E5DE; -} - -.display{ - background: #f2f2f2; -} - -.display td, .display th{ - border: solid 1px gray; - padding: 5px; -} - -.display th{ - font-weight: bold; -} - -table.display { - margin-bottom: 12px; -} - -table.platform { - margin-left: 10px; - margin-bottom: 12px; -} - -.platform th { - background: #f2f2f2; - font-weight: bold; -} - -.platform td, .platform th { - border: solid 1px gray; - padding: 5px; - text-align: center; -} - -#osk, -#osk-phone, -#osk-tablet{ - position: relative; - z-index: -2; -} - -#osk .kmw-osk-inner-frame{ - height: 320px !important; - font-size: 2em !important; - padding: 4px 0 4px 4px; -} - -#osk-phone .kmw-osk-inner-frame{ - padding-top: 6px !important; - height: 256px !important; - width: 528px !important; - font-size: 1.5em !important; -} - -#osk-tablet .kmw-osk-inner-frame{ - padding-top: 6px !important; - width: 726px !important; - height: 372px !important; - font-size: 1.5em !important; -} - -#osk-container, -#osk-phone-container, -#osk-tablet-container { - display: none; -} - -body[data-device='Windows'] #osk-container, -body[data-device='Windows'] #osk-phone-container, -body[data-device='Windows'] #osk-tablet-container { - display: block; -} - -body[data-device='iPhone'] #osk-phone-container, -body[data-device='Android'] #osk-phone-container { - display: block; -} - -body[data-device='iPad'] #osk-tablet-container, -body[data-device='Android'] #osk-tablet-container { - display: block; -} - -body[data-device='Unknown'] #osk-container, -body[data-device='Unknown'] #osk-phone-container, -body[data-device='Unknown'] #osk-tablet-container { - display: block; -} - -/********************************** - * PHONE MENU CSS - *********************************/ - -#show-phone-menu{ - display: none; - float: left; - margin: 10px; - position: relative; - z-index: 6; -} -#phone-menu{ - position: fixed; - top: 49px; - left: 0px; - z-index: 6; - width: 80%; - height: 100%; -} -#phone-menu-inner{ - width: 100%; - height: 100%; - overflow-y: scroll; - padding-bottom: 40%; - -webkit-overflow-scrolling:touch; - border-right: solid 4px #C1C1C1; - background: #fff; -} -.phone-menu-item{ - float: left; - width: 100%; - height: auto; - padding: 10px 0px; - background: #f2f2f2; -} -.phone-menu-item:last-child{ - margin-bottom: 60px; -} -.phone-menu-item h3{ - font-size: 14pt; - font-weight: bold; - margin: 0px 10px; - border-bottom: solid 1px #000; -} -.phone-menu-item form{ - margin-top: 10px; -} -#language-search2{ - float: left; - width: 144px; - height: 30px; - margin-left: 10px; - border-radius: 0px; - border: solid 1px gray; - padding: 0px; - padding-left: 10px; - font-size: 12pt; -} -#search-submit2{ - float: left; - position: relative; - left: -1px; - border-radius: 0px; -} -.phone-menu-item ul{ - padding: 10px; -} -.phone-menu-item ul li{ - line-height: 1.8em; -} -.phone-menu-item ul li a{ - text-decoration: underline; - color: #B92034; -} -#show-phone-menu-spacer{ - display: none; - float: left; -} - - /************************************** - * FOOTER TABS - * ***********************************/ - -.footer-tab-holder{ - width: 70px; - height: 20px; - padding: 9px; - position: fixed; - top: 100%; - left: 100%; - z-index: 4; -} - -#footer-tab-support { - margin-left: -340px; -} - -#footer-tab-edit { - margin-left: -260px; -} - -.footer-tab{ - float: right; - position: relative; - font-size: 10pt; - top: -34px; - right: -10px; - background: #69B7D2; - height: 20px; - padding: 5px 0px; - text-align: center; - border-top-left-radius: 7px; - border-top-right-radius: 7px; - width: 70px; - margin-left: 210px; - cursor: pointer; - border-top: solid 1px #444; - border-left: solid 1px #444; - border-right: solid 1px #444; -} - -.footer-tab a{ - color: #444; - text-decoration: none; -} - -/************************************** - * TABLET CSS - * ***********************************/ - -@media only screen and (min-width: 768px) and (max-width: 1024px){ - .wrapper, #section2 .wrapper{ - width: 740px; - margin-left: auto; - margin-right: auto; - } - /* Header */ - .header{ - position: fixed; - } - #top-menu1 .menu-item{ - width: 148px; - } - #top-menu1 .menu-item h3{ - font-size: 10pt; - } - #logo{ - margin-bottom: 15px; - } - #phone-header-spacer{ - display: block; - height: 80px; - } - /* Footer */ - .footer { - height: auto; - } - .footer-third{ - float: none; - clear: both; - width: 370px; - margin: 20px 0px 0px 0px; - } - /* Section 1 */ - #sect1-title h1{ - font-size: 36pt; - } - #sect1-image img{ - max-width: 90%; - } - /* Phone Menu */ - #top-menu1{ - display: none; - } - #top-menu-bg{ - display: none; - } - #show-phone-menu{ - display: block; - margin-top: 28px; - } - #phone-menu{ - top: 81px; - width: 40%; - } - #osk .kmw-osk-inner-frame{ - height: 280px; - font-size: 1.8em !important; - } - .footer-tab-holder{ - display: none; - } -} - -@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){ - #sect1-title h1{ - text-align: center; - font-size: 28pt; - } -} - -/* 7 inch */ -@media all and (min-width: 600px) and (max-width: 768px){ - .wrapper, #section2 .wrapper{ - width: 580px; - margin-left: auto; - margin-right: auto; - } - /* Header */ - #top-menu-bg{ - display: none; - } - #top-menu1 .menu-item{ - width: auto; - padding: 0 16px; - } - #top-menu1 .menu-item h3{ - font-size: 8pt; - } - /* Footer */ - .footer-third{ - width: 290px; - margin-left: 0px; - margin-right: 0px; - } - .footer-third form{ - width: 290px; - } - .footer-third form input{ - width: 170px; - } - #facebook{ - margin-left: 20px; - } - /* Section 1 */ - #sect1-title h1{ - font-size: 28pt; - text-align: center; - } - #sect1-image img{ - max-width: 90%; - } - /* Phone Menu */ - #show-phone-menu{ - display: block; - } - #osk .kmw-osk-inner-frame{ - height: 220px; - font-size: 1.5em !important; - } - .footer-tab-holder{ - display: none; - } -} - - - - -/************************************** - * PHONE CSS - * ***********************************/ - -@media all and (min-width: 10px) and (max-width: 600px){ - .wrapper, #section2 .wrapper{ - width: 320px; - margin-left: auto; - margin-right: auto; - } - /* Header */ - #top-menu-bg{ - display: none; - } - .header{ - position: fixed; - } - #top-menu1{ - display: none; - } - #help{ - display: none; - } - .header{ - height: 49px !important; - } - #logo{ - margin-top: 3px; - width: 185px; - position: fixed; - left: 50%; - margin-left: -92px; - } - #phone-header-spacer{ - display: block; - height: 57px; - } - /* Footer */ - .footer{ - height: auto; - } - .footer-third{ - margin-left: 0px; - margin-right: 0px; - height: auto; - } - .sil-logo{ - float: left; - margin-top: 40px; - margin-bottom: 20px; - } - /* Section 1 */ - .section1{ - height: auto; - background-size: auto 100%; - } - #sect1-image{ - width: 100%; - height: auto; - } - #sect1-image img{ - max-width: 80%; - height: auto; - padding-bottom: 10px; - } - #sect1-title{ - width: 100%; - height: auto; - } - #sect1-title h1{ - font-size: 24pt; - text-align: center; - padding: 20px 10px 0px 10px; - } - #sect1-title a{ - display: none; - } - /* Phone Menu */ - #show-phone-menu{ - display: block; - } - #show-phone-menu-spacer{ - display: block; - width: 40px; - height: 29px; - } - /* Section 2 */ - #section2 img{ - max-width: 80%; - } - #section2 h2{ - margin: 10px 10px 15px 10px; - text-align: center; - } - #keyboard-support-list{ - columns: 2; - -webkit-columns: 2; - -moz-columns: 2; - margin-bottom: 20px; - } - #product-support-list { - padding: 0px 30px; - font-size: 14pt; - columns: 1; - -webkit-columns: 1; - -moz-columns: 1; - margin-bottom: 20px; - } - #osk .kmw-osk-inner-frame{ - height: 140px; - font-size: 1em !important; - } - #keymanExample{ - overflow-x: scroll; - overflow-y: hidden; - height: 100px; - } - #keymanExample table{ - width: 1000px; - } - .footer-tab-holder{ - display: none; - } -} - -#KeymanWebControl{ - display: none; -} - -/* Landscape mode */ -@media all and (min-width: 480px) and (max-width: 600px) and (orientation: landscape){ - .wrapper, #section2 .wrapper{ - width: 460px; - margin-left: auto; - margin-right: auto; - } - /* Header */ - /* Footer */ - .footer-third{ - margin-left: 70px; - margin-right: 70px; - } - .sil-logo{ - margin-left: 70px; - } - /* Section 1 */ -} - -/************************************** - * WEB DEVELOPER HELP CSS - * ***********************************/ - -div.webhelp { - clear: both; -} - -div.webhelp h3 { - margin: 16px 0 0 0; - padding: 0; -} - -div.webhelp h4 { - margin: 0 0 16px 0; - padding:0; -} -img.webhelp, div.webhelp img {margin:16px 0 !important;border: 1px solid grey;} - - -code { - font-family: Consolas, Courier, "Courier New", mono; - font-size: 10.5pt; -} - -strong, b { - font-weight: bold; -} - -i, cite, em, var, address, dfn { -font-style: italic; -} - -dt { - margin-top: 16px; -} - -dt:first-child { - margin-top: 0; -} - -dd { - margin-left: 32pt; -} - -table.standard-table td, -table.standard-table th { - border: solid #e0e0dc; - border-width: 0 1px 1px 0; - padding: 6px; - text-align: left; -} -table.standard-table th { - border: 2px solid #fff; - border-bottom: 2px solid #d4dde4; - background: #eaeff2; - background: rgba(212,221,228,.5); - font-family: 'Open Sans Light',sans-serif; - font-size: 14px; - padding: 2px 8px 4px; - font-weight: 700; -} - -table.standard-table td { - background-color: #f9fafb; - background-color: rgba(212,221,228,.15); - border: 2px solid #fff; - box-shadow: inset 0 -1px 0 0 #eaeff2; - box-shadow: inset 0 -1px 0 0 rgba(212,221,228,.5); -} - -article dl dt span.readonly { - background-color: #666769; - font-size: 13px; - color: white; - padding: 1px 6px 3px; - border-radius: 6px; -} - -article dl dd span.optional { - background-color: #9c9c9c; - font-size: 13px; - font-style: italic; - font-weight: lighter; - color: white; - padding: 1px 6px 3px; - border-radius: 6px; -} - -/** - Table of contents -- developer section only -*/ - -.column-right { - display: none; - float: right; -} - -.column-left { - display: none; - float: left; -} - -.column-left.show-index { - display: block; -} - -.column-right.show-toc { - display: block; -} - -/* TOC on narrow displays should be shown at top */ - -@media all and (max-width: 1279px){ - .column-right { - display: none !important; - float: none; - } - #toc.fixed { - position: static !important; - } -} - -@media all and (max-width: 1023px){ - .column-left { - display: none !important; - float: none; - } -} - -#toc.fixed { - position: fixed; - top: 130px; -} - -#toc { - top: 0px; - margin-right: 10px; - width: 200px; - background: rgba(242,242,242,0.9); - overflow: auto; - border-radius: 4px; -} - -#index { - margin-left: 10px; - width: 200px; - overflow: auto; -} - -#section2 #toc h3 { - padding: 8px 12px; - margin-top: 0px; - color: black; -} - -#section2 h3, #section2 h2 { - color: #B92034; - margin-top: 10px; -} - -#section2 a { - color: #B92034; -} - -#section2 #toc a { - color: black; -} - -#toc ul, -#index ul { - margin: 0; - padding: 0 0 8px 0; - list-style: none; -} - -#toc li, -#index li { - font-family: 'Calibri', sans-serif; - font-size: 11pt; - list-style: none; - margin-bottom: 2px; - margin-left: 12px; -} - -#toc a, -#toc a:visited, -#index a, -#index a:visited { - color: black; - text-decoration: none; - display: block; -} - -#toc a:hover, -#index a:hover { - background: rgba(224,224,224,0.9); -} - -#index .current { - background: rgba(242,242,242,0.9); -} - -#toc .toc-h2 { - padding-left: 10px; -} - -#toc .toc-h3 { - padding-left: 20px; -} - -#toc .toc-h4 { - padding-left: 30px; -} - -#toc .toc-active a { - color: #69B7D2; -} diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-dl-ap.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-dl-ap.png deleted file mode 100644 index 95100b4131..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-dl-ap.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-dl-at.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-dl-at.png deleted file mode 100644 index d3f5caf0e5..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-dl-at.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/khmer-settings-ap.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/khmer-settings-ap.png deleted file mode 100644 index 180b4be15d..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/khmer-settings-ap.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/lang-list-ap.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/lang-list-ap.png deleted file mode 100644 index 0063d6f5d4..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/lang-list-ap.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/lang-list-at.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/lang-list-at.png deleted file mode 100644 index 8c2f64bbcc..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/lang-list-at.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-language-ap.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-language-ap.png deleted file mode 100644 index e6b2ac4c9d..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-language-ap.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-languages-ap.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-languages-ap.png deleted file mode 100644 index d68babc40f..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-languages-ap.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png deleted file mode 100644 index f658470549..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-two-installed-languages-ap.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/favicon.ico b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/favicon.ico deleted file mode 100644 index 671c7c9156..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/favicon.ico and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/headerbar.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/headerbar.png deleted file mode 100644 index 19a21025d1..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/headerbar.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/helpIcon.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/helpIcon.png deleted file mode 100644 index 8178e4ff76..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/helpIcon.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/logo2.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/logo2.png deleted file mode 100644 index 246c4cd5e0..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/logo2.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/search-icon.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/search-icon.png deleted file mode 100644 index ab7d73d0c3..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/search-icon.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/sil-logo-blue-2017_1.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/sil-logo-blue-2017_1.png deleted file mode 100644 index e82317a6d0..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/sil-logo-blue-2017_1.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/triangle.png b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/triangle.png deleted file mode 100644 index 0f4a9db7d1..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/triangle.png and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/js/keyrenderer.js b/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/js/keyrenderer.js deleted file mode 100644 index 2a3ef17397..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/js/keyrenderer.js +++ /dev/null @@ -1,250 +0,0 @@ -if(typeof KeyRenderer == 'undefined') -{ - var KeyRenderer = new function() - { - var site = '/cdn/dev'; - - this.render = function(s) - { - return "" + this.renderInternal(s, true) + ""; - } - - this.renderInternal = function(s, includePrintable) - { - var i = 0, r = ''; - var spkey = {PgUp:'pgup',PgDn:'pgdn',Left:'left',Right:'right',Up:'up',Down:'down',Ins:'ins',Del:'del',Home:'home',End:'end', - Enter:'enter',Tab:'tab',Esc:'esc',Caps:'caps',Shift:'shift2',Ctrl:'ctrl2',Alt:'alt2',Bksp:'bksp'}; - while(i < s.length) - { - var endspan = false; - var ch = s.charAt(i); - if(ch == '[' && i < s.length-1) - { - i++; ch = s.charAt(i); - if(ch != '[') - { - /* Ctrl+Shift+Alt+key */ - var t = ''; - while(s.charAt(i) != ']' && i < s.length) - { - t += s.charAt(i); - i++; - } - var n = t.indexOf('&'),t1=t; - if(n >= 0) - { - ch = t.substr(n,t.length-n); - t = t.substr(0,n); - } - else - { - ch = t.charAt(t.length-1); - t = t.substr(0, t.length-1); - } - r += ""; - - var x = t1.indexOf('!'),u='',ks,kn; - if(x >= 0) - { - ks = t1.substr(x+1,t1.length-x-1); - kn = spkey[ks]; - if(kn) - { - u = ""+ks+""; - t = t.substr(0,x); ch = '*'; - } - } - - if(t.indexOf('C') >= 0) r += "Ctrl"; - if(t.indexOf('S') >= 0) r += "Shift"; - if(t.indexOf('A') >= 0) r += "Alt"; - - r += u; - endspan = true; - } - } - if(!endspan || ch != '*') - { - if(ch.substr(0,1) == '&') - { - if(ch == '&') - { - ch = ''; - while(s.charAt(i) != ';' && i < s.length) - { - ch += s.charAt(i); - i++; - } - ch += ';'; - } - if(ch == '<') ch = '<'; - else if(ch == '>') ch = '>'; - else if(ch == '&') ch = '&'; - else if(ch == '"') ch = '"'; - } - chv = ch.charCodeAt(0); - r += ""+this.encodeEntities(ch)+""; - } - if(endspan) r += ""; - i++; - } - - if(includePrintable) - { - r += ""; - i = 0; - while(i < s.length) - { - endspan = false; - ch = s.charAt(i); - if(ch == '[' && i < s.length-1) - { - i++; ch = s.charAt(i); - if(ch != '[') - { - /* Ctrl+Shift+Alt+key */ - t = ''; - while(s.charAt(i) != ']' && i < s.length) - { - t += s.charAt(i); - i++; - } - var t1 = t; - ch = t.charAt(t.length-1); - t = t.substr(0, t.length-1); - r += ""; - - var x = t1.indexOf('!'),u='',ks,kn; - if(x >= 0) - { - ks = t1.substr(x+1,t1.length-x-1); - kn = spkey[ks]; - if(kn) - { - u = ks; - t = t.substr(0,x); ch = '*'; - } - } - - if(t.indexOf('C') >= 0) r += "Ctrl+"; - if(t.indexOf('S') >= 0) r += "Shift+"; - if(t.indexOf('A') >= 0) r += "Alt+"; - endspan = true; - - r += u; - } - } - if(!endspan || ch != '*') - if(ch == ' ') r += "Space"; else r += this.encodeEntities(ch); - if(endspan) r += ""; - i++; - } - r += ""; - } - - return r; - } - - this.encodeEntities = function(s) - { - return s.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"').replace("'", '''); - } - - this.getElementsByClassName = function(className, tag, elm) - { - if (document.getElementsByClassName) { - getElementsByClassName = function (className, tag, elm) { - elm = elm || document; - var elements = elm.getElementsByClassName(className), - nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null, - returnElements = [], - current; - for(var i=0, il=elements.length; idocument.writeln(KeyRenderer.render('hf')); - } - - } - - if(window.attachEvent) - { - window.attachEvent('onload', KeyRenderer.renderAll); - } - else if(window.addEventListener) - { - window.addEventListener('load', KeyRenderer.renderAll, false); - } -} \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/fonts/social-logos.ttf b/android/KMAPro/kMAPro/src/main/assets/info/cdn/fonts/social-logos.ttf deleted file mode 100644 index e8013681b9..0000000000 Binary files a/android/KMAPro/kMAPro/src/main/assets/info/cdn/fonts/social-logos.ttf and /dev/null differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.html deleted file mode 100644 index 1942d3f798..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Getting Started

-

Keyman for Android

- -

Version history

- - -

- Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. - To get started, here are some helpful hints: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keyboard Keys
(Keyboard Present)
- - - Select another language/keyboard
- - - Hide the keyboard
- - - Backspace
- - - Return
- - - Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys - (which can access additional key layers) -
- - - Keys with a small dot in the top right corner indicate a long press key. Access - further functionality by long pressing the key -
Toolbar Icons
Share your text via Mail, Text, or Twitter
Open the Keyman Browser to use the web in your language
Open the menu for additional options
Adjust the font size
Delete all current text
Load this help page
Open the initial setup screen
Open the Keyman Settings screen
Update available to download for keyboard / dictionary
- -

Accessing Keyboard Help

-

- Step 1) Open the keyboard list by touching the globe key. -

-

- - -

-
-

- Step 2) Touch the info icon for your keyboard. -

-

-
- -

Help Index

- - - -

Integrate Keyman with your App or Website

-

- If you are interested in learning how Keyman can be integrated into your own app or - website, visit keyman.com/engine -

- -

Further Help

-

- For more information on Keyman, visit keyman.com -

- For more information on Keyman for Android, visit keyman.com/android -

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.php.html deleted file mode 100644 index 1942d3f798..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.php.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Getting Started

-

Keyman for Android

- -

Version history

- - -

- Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. - To get started, here are some helpful hints: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keyboard Keys
(Keyboard Present)
- - - Select another language/keyboard
- - - Hide the keyboard
- - - Backspace
- - - Return
- - - Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys - (which can access additional key layers) -
- - - Keys with a small dot in the top right corner indicate a long press key. Access - further functionality by long pressing the key -
Toolbar Icons
Share your text via Mail, Text, or Twitter
Open the Keyman Browser to use the web in your language
Open the menu for additional options
Adjust the font size
Delete all current text
Load this help page
Open the initial setup screen
Open the Keyman Settings screen
Update available to download for keyboard / dictionary
- -

Accessing Keyboard Help

-

- Step 1) Open the keyboard list by touching the globe key. -

-

- - -

-
-

- Step 2) Touch the info icon for your keyboard. -

-

-
- -

Help Index

- - - -

Integrate Keyman with your App or Website

-

- If you are interested in learning how Keyman can be integrated into your own app or - website, visit keyman.com/engine -

- -

Further Help

-

- For more information on Keyman, visit keyman.com -

- For more information on Keyman for Android, visit keyman.com/android -

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.php@embed=android&formfactor=phone.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.php@embed=android&formfactor=phone.html deleted file mode 100644 index 1942d3f798..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/index.php@embed=android&formfactor=phone.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Getting Started

-

Keyman for Android

- -

Version history

- - -

- Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. - To get started, here are some helpful hints: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keyboard Keys
(Keyboard Present)
- - - Select another language/keyboard
- - - Hide the keyboard
- - - Backspace
- - - Return
- - - Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys - (which can access additional key layers) -
- - - Keys with a small dot in the top right corner indicate a long press key. Access - further functionality by long pressing the key -
Toolbar Icons
Share your text via Mail, Text, or Twitter
Open the Keyman Browser to use the web in your language
Open the menu for additional options
Adjust the font size
Delete all current text
Load this help page
Open the initial setup screen
Open the Keyman Settings screen
Update available to download for keyboard / dictionary
- -

Accessing Keyboard Help

-

- Step 1) Open the keyboard list by touching the globe key. -

-

- - -

-
-

- Step 2) Touch the info icon for your keyboard. -

-

-
- -

Help Index

- - - -

Integrate Keyman with your App or Website

-

- If you are interested in learning how Keyman can be integrated into your own app or - website, visit keyman.com/engine -

- -

Further Help

-

- For more information on Keyman, visit keyman.com -

- For more information on Keyman for Android, visit keyman.com/android -

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-custom-packages.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-custom-packages.php.html deleted file mode 100644 index be06fe6252..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-custom-packages.php.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - Installing Custom Keyboards/Dictionaries - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Installing Custom Keyboards/Dictionaries

- - -

- These same steps can be used for installing custom keyboard or custom dictionary packages. This example is for Khmer Angkor keyboard. -

- -

- Step 1) Click the link to your custom package file. -

-

- - -

-

- Step 2) Once the KMP file is on your device, you will need to browse to the KMP file and select it. - From the Keyman menu, select 'Settings'. -
- From the Keyman Settings menu, select 'Add Keyboard from Device'. -

-

-

- 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. -

-

- - -

-

- Selecting the KMP file should bring you to Step 3) -

-

- Step 3) On Android 6.0 (Marshmallow) and higher, mobile apps need to request permissions to access storage. Keyman - for Android needs access to read storage for installing the KMP file. At the dialog, select "ALLOW". Once authorized, - Keyman for Android won't need to ask for storage permission again, unless the user revokes or uninstalls the app. -

-

- - -

-

- Older versions of Android grant Storage permissions at app installation time, so those users can skip this step. -

-

- 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. -

-

- 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. -

-

- - -

- - -

- 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. -

-

- 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. -

-

- - -

-

- 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. -

-

- - -

-

- To learn how to create a custom installable keyboard, - click here. -

- -

Granting storage permission

-

- If Keyman for Android is permanently denied storage access, attempts to install custom packages will fail with the - notification "Storage permission request was denied". Perform these steps to grant Keyman for Android access to storage -

-

- Step 1) Go to Android Settings. -
- Step 2) Depending on your device, click "Apps", "Apps & notifications", or "App permissions" and grant Keyman - storage permission. The screenshot below is from Android 9.0 Pie. -

-

- - -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-keyboards.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-keyboards.php.html deleted file mode 100644 index 8ebb79b814..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-keyboards.php.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Adding Keyboards - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Adding New Keyboards

- - -

- To add keyboards, follow these steps: -

- Step 1) -

- Open the menu for additional options. Select 'Settings' -

- Step 2) -

- From the Keyman Settings menu, select 'Installed languages' -

- -

- Step 3) -

- From the 'Installed languages' menu, touch the + - button in the bottom right corner of your screen. -

- -

- Step 4) -

- A list of all available languages will appear. Scroll through this list until you find - the language you want to install. Languages marked with a right arrow have multiple keyboards - for - example we have 10+ different Tamil keyboards. -

- - -

- Select the language and keyboard you want to install - a popup will ask for confirmation, - hit the Download button. -

- - -

- Step 5) -

- Once the download is complete, the new keyboard will be selected. Touch the - button on the top left corner of the popup several times and the new keyboard will become active. -

- - -

- Alternate Step for System Keyboard) -

- The Keyman system keyboard has an additional CLOSE KEYMAN button at the bottom left of - the "Keyboards" menu. Pushing this button will close Keyman and switch to the next non-Keyman system keyboard. -

- -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-system-keyboard.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-system-keyboard.php.html deleted file mode 100644 index 1613eace0e..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/installing-system-keyboard.php.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - The System-Wide Keyboard - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Installing System Wide Keyboards

- - -

- Step 1) Open the Keyman app and select the menu for additional options. - The screenshots below are of a device running Android 9.0 Pie. -

-

- - -

-
-

- Step 2) Select 'Get Started' and then select 'Enable Keyman as system-wide keyboard'. -

-

- - -

-
-

- This will open an Android settings screen for 'Available virtual keyboard'. -

-

- - -

-
-

- Step 3) Enable 'Keyman' as an available virtual keyboard. - This will bring up two confirmation dialogs. -

-

- - -

-
-

- - -

-
-

- Select 'OK' on both. Now when the on-screen keyboard appears for apps other than Keyman, - you'll see a keyboard icon at the bottom right. -

-

- - -

-
-

- Click the keyboard icon whenever you want to change the current system keyboard. -

-

- - -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/switching-between-keyboards.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/switching-between-keyboards.php.html deleted file mode 100644 index 06d4788ea0..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/switching-between-keyboards.php.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - Switching Between Keyboards - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Switching Between Keyboards

- - -

- To switch keyboards, follow these steps: -

-

- Step 1) -

-

- With the keyboard visible, touch the globe key: -

- - -

-

- This will bring up a list of all currently installed languages (the default is English - EuroLatin (SIL)). If you have already downloaded additional languages, they will appear here. - Simply select them and the keyboard will re-appear with the new language. -

- -

Hotkey

-

- To switch between languages while using an external keyboard (i.e. a bluetooth keyboard), a quick and easy way is to - use a hotkey combination. Press and hold 'Ctrl' and then press 'Tab'. - You should then see the same listing of languages/keyboards. Tap on any available language of your choice. -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/uninstalling-dictionaries.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/uninstalling-dictionaries.php.html deleted file mode 100644 index adb207fe3c..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/uninstalling-dictionaries.php.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Removing Dictionaries - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Removing a Dictionary

- - -

- To uninstall a dictionary, follow these steps: -

- -

- Step 1) -

-

- Open the menu for additional options. Select 'Settings' -

-

- Step 2) -

-

- From the Keyman Settings menu, select 'Installed languages' -

-

- -

-

- Step 3) -

-

- From the 'Installed languages' menu, select the language for the dictionary you want to remove. In this example, - we will be removing the "MTNT Dictionary" for the English language. -

-

- -

-

- Step 4) -

-

- The language Settings menu lists currently installed keyboards and dictionaries associated with the language. - Select the dictionary you want to uninstall at the bottom of the page. -

-

- -

-

- Step 5) -

-

- The dictionaries menu displays the dictionaries that are available for a language. Installed dictionaries show a check mark. - Select the dictionary to display the info menu. -

-

- -

-

- Step 6) -

-

- The bottom of the dictionary settings menu displays an option to uninstall the dictionary. - Select 'Uninstall dictionary' to get a prompt to delete the dictionary. -

-

- -

-

- Step 7) -

-

- Press "Delete" to uninstall the dictionary. -

-

- -

-

- You'll see a notification when the dictionary is deleted. -

-

- -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/uninstalling-keyboards.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/uninstalling-keyboards.php.html deleted file mode 100644 index e6a1f49837..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/uninstalling-keyboards.php.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Removing Keyboards - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Removing a Keyboard

- - -

- To uninstall a keyboard, follow these steps: -

- Step 1) -

- Open the menu for additional options. Select 'Settings' -

- Step 2) -

- From the Keyman Settings menu, select 'Installed languages' -

- -

- Step 3) -

- From the 'Installed languages' menu, select the language for the keyboard you want to remove. -

- -

- Step 4) -

- The language Settings menu lists currently installed keyboards associated with the language. - Select the keyboard you want to uninstall -

- -

- Step 5) -

- The bottom of the keyboard settings menu displays an option to uninstall the keyboard. - Select 'Uninstall keyboard' to get a prompt to delete the keyboard. -

- Note: the default 'SIL EuroLatin' keyboard for English cannot be removed. -

- -

- Step 6) -

- Press "Delete" to uninstall the keyboard. -

- -

- You'll see a notification when the keyboard is deleted. -

- - -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/using-keyman-browser.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/using-keyman-browser.php.html deleted file mode 100644 index 7f3bf601b9..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/phone/using-keyman-browser.php.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - Using the Keyman Browser - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Using the Keyman Browser

- - -

- Step 1) Click the Keyman Browser button in the Keyman app -

- Step 2) Enter the URL of a website to visit into the address bar, for example google.com. - Keyman Browser will load the page and detect your language if it is present, and reformat it to show your - language instead of square boxes. -

- Step 3) Use the bookmark button to save the current page for browsing later. -

- Step 4) Use the Globe icon to swap between languages. -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.html deleted file mode 100644 index f503610212..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Getting Started

-

Keyman for Android

- -

Version history

- - -

- Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. - To get started, here are some helpful hints: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keyboard Keys
(Keyboard Present)
- - - Select another language/keyboard
- - - Hide the keyboard
- - - Backspace
- - - Return
- - - Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys - (which can access additional key layers) -
- - - Keys with a small dot in the top right corner indicate a long press key. Access - further functionality by long pressing the key -
Toolbar Icons
Share your text via Mail, Text, or Twitter
Open the Keyman Browser to use the web in your language
Open the menu for additional options
Adjust the font size
Delete all current text
Load this help page
Open the initial setup screen
Open the Keyman Settings screen
Update available to download for keyboard / dictionary
- -

Accessing Keyboard Help

-

- Step 1) Open the keyboard list by touching the globe key. -

-

- - -

-
-

- Step 2) Touch the info icon for your keyboard. -

-

-
- -

Help Index

- - - -

Integrate Keyman with your App or Website

-

- If you are interested in learning how Keyman can be integrated into your own app or - website, visit keyman.com/engine -

- -

Further Help

-

- For more information on Keyman, visit keyman.com -

- For more information on Keyman for Android, visit keyman.com/android -

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.php.html deleted file mode 100644 index f503610212..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.php.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Getting Started

-

Keyman for Android

- -

Version history

- - -

- Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. - To get started, here are some helpful hints: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keyboard Keys
(Keyboard Present)
- - - Select another language/keyboard
- - - Hide the keyboard
- - - Backspace
- - - Return
- - - Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys - (which can access additional key layers) -
- - - Keys with a small dot in the top right corner indicate a long press key. Access - further functionality by long pressing the key -
Toolbar Icons
Share your text via Mail, Text, or Twitter
Open the Keyman Browser to use the web in your language
Open the menu for additional options
Adjust the font size
Delete all current text
Load this help page
Open the initial setup screen
Open the Keyman Settings screen
Update available to download for keyboard / dictionary
- -

Accessing Keyboard Help

-

- Step 1) Open the keyboard list by touching the globe key. -

-

- - -

-
-

- Step 2) Touch the info icon for your keyboard. -

-

-
- -

Help Index

- - - -

Integrate Keyman with your App or Website

-

- If you are interested in learning how Keyman can be integrated into your own app or - website, visit keyman.com/engine -

- -

Further Help

-

- For more information on Keyman, visit keyman.com -

- For more information on Keyman for Android, visit keyman.com/android -

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.php@embed=android&formfactor=tablet.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.php@embed=android&formfactor=tablet.html deleted file mode 100644 index f503610212..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/index.php@embed=android&formfactor=tablet.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Getting Started

-

Keyman for Android

- -

Version history

- - -

- Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. - To get started, here are some helpful hints: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Keyboard Keys
(Keyboard Present)
- - - Select another language/keyboard
- - - Hide the keyboard
- - - Backspace
- - - Return
- - - Shift key. Long press this key to access the CTRL, ALT and CTRL ALT keys - (which can access additional key layers) -
- - - Keys with a small dot in the top right corner indicate a long press key. Access - further functionality by long pressing the key -
Toolbar Icons
Share your text via Mail, Text, or Twitter
Open the Keyman Browser to use the web in your language
Open the menu for additional options
Adjust the font size
Delete all current text
Load this help page
Open the initial setup screen
Open the Keyman Settings screen
Update available to download for keyboard / dictionary
- -

Accessing Keyboard Help

-

- Step 1) Open the keyboard list by touching the globe key. -

-

- - -

-
-

- Step 2) Touch the info icon for your keyboard. -

-

-
- -

Help Index

- - - -

Integrate Keyman with your App or Website

-

- If you are interested in learning how Keyman can be integrated into your own app or - website, visit keyman.com/engine -

- -

Further Help

-

- For more information on Keyman, visit keyman.com -

- For more information on Keyman for Android, visit keyman.com/android -

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-custom-packages.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-custom-packages.php.html deleted file mode 100644 index 3b514dd548..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-custom-packages.php.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - Installing Custom Keyboards/Dictionaries - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Installing Custom Keyboards/Dictionaries

- - -

- These same steps can be used for installing custom keyboard or custom dictionary packages. This example is for Khmer Angkor keyboard. -

- -

- Step 1) Click the link to your custom package file. -

-

- - -

-

- Step 2) Once the KMP file is on your device, you will need to browse to the KMP file and select it. - From the Keyman menu, select 'Settings'. -
- From the Keyman Settings menu, select 'Add Keyboard from Device'. -

-

-

- 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. -

-

- - -

-

- Selecting the KMP file should bring you to Step 3) -

-

- Step 3) On Android 6.0 (Marshmallow) and higher, mobile apps need to request permissions to access storage. Keyman - for Android needs access to read storage for installing the KMP file. At the dialog, select "ALLOW". Once authorized, - Keyman for Android won't need to ask for storage permission again, unless the user revokes or uninstalls the app. -

-

- - -

-

- Older versions of Android grant Storage permissions at app installation time, so those users can skip this step. -

-

- 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. -

-

- 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. -

-

- - -

- - -

- 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. -

-

- 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. -

-

- - -

-

- 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. -

-

- - -

-

- To learn how to create a custom installable keyboard, - click here. -

- -

Granting storage permission

-

- If Keyman for Android is permanently denied storage access, attempts to install custom packages will fail with the - notification "Storage permission request was denied". Perform these steps to grant Keyman for Android access to storage -

-

- Step 1) Go to Android Settings. -
- Step 2) Depending on your device, click "Apps", "Apps & notifications", or "App permissions" and grant Keyman - storage permission. The screenshot below is from Android 9.0 Pie. -

-

- - -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-keyboards.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-keyboards.php.html deleted file mode 100644 index 2608933aac..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-keyboards.php.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - Adding Keyboards - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Adding New Keyboards

- - -

- To add keyboards, follow these steps: -

- Step 1) -

- Open the menu for additional options. Select 'Settings' -

- Step 2) -

- From the Keyman Settings menu, select 'Installed languages' -

- -

- Step 3) -

- From the 'Installed languages' menu, touch the + - button in the bottom right corner of your screen. -

- -

- Step 4) -

- A list of all available languages will appear. Scroll through this list until you find - the language you want to install. Languages marked with a right arrow have multiple keyboards - for - example we have 10+ different Tamil keyboards. -

- - -

- Select the language and keyboard you want to install - a popup will ask for confirmation, - hit the Download button. -

- - -

- Step 5) -

- Once the download is complete, the new keyboard will be selected. Touch the - button on the top left corner of the popup several times and the new keyboard will become active. -

- - -

- Alternate Step for System Keyboard) -

- The Keyman system keyboard has an additional CLOSE KEYMAN button at the bottom left of - the "Keyboards" menu. Pushing this button will close Keyman and switch to the next non-Keyman system keyboard. -

- -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-system-keyboard.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-system-keyboard.php.html deleted file mode 100644 index 53748818cc..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/installing-system-keyboard.php.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - The System-Wide Keyboard - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Installing System Wide Keyboards

- - -

- Step 1) Open the Keyman app and select the menu for additional options. - The screenshots below are of a device running Android 9.0 Pie. -

-

- - -

-
-

- Step 2) Select 'Get Started' and then select 'Enable Keyman as system-wide keyboard'. -

-

- - -

-
-

- This will open an Android settings screen for 'Available virtual keyboard'. -

-

- - -

-
-

- Step 3) Enable 'Keyman' as an available virtual keyboard. - This will bring up two confirmation dialogs. -

-

- - -

-
-

- - -

-
-

- Select 'OK' on both. Now when the on-screen keyboard appears for apps other than Keyman, - you'll see a keyboard icon at the bottom right. -

-

- - -

-
-

- Click the keyboard icon whenever you want to change the current system keyboard. -

-

- - -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/switching-between-keyboards.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/switching-between-keyboards.php.html deleted file mode 100644 index 8f5c77c510..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/switching-between-keyboards.php.html +++ /dev/null @@ -1,160 +0,0 @@ -
- - - - - - - -
( ! ) 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 3
Call Stack
#TimeMemoryFunctionLocation
10.0002142536{main}( )...\switching-between-keyboards.php:0
20.0008186544require_once( 'C:\src\sites\help.keyman.com\_includes\includes\session-embed.php' )...\switching-between-keyboards.php:3
30.0008186576session_start -( )...\session-embed.php:3
- - - - - - Switching Between Keyboards - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Switching Between Keyboards

- - -

- To switch keyboards, follow these steps: -

-

- Step 1) -

-

- With the keyboard visible, touch the globe key: -

- - -

-

- This will bring up a list of all currently installed languages (the default is English - EuroLatin (SIL)). If you have already downloaded additional languages, they will appear here. - Simply select them and the keyboard will re-appear with the new language. -

- -

Hotkey

-

- To switch between languages while using an external keyboard (i.e. a bluetooth keyboard), a quick and easy way is to - use a hotkey combination. Press and hold 'Ctrl' and then press 'Tab'. - You should then see the same listing of languages/keyboards. Tap on any available language of your choice. -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/uninstalling-dictionaries.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/uninstalling-dictionaries.php.html deleted file mode 100644 index aacde55202..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/uninstalling-dictionaries.php.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - Removing Dictionaries - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Removing a Dictionary

- - -

- To uninstall a dictionary, follow these steps: -

- -

- Step 1) -

-

- Open the menu for additional options. Select 'Settings' -

-

- Step 2) -

-

- From the Keyman Settings menu, select 'Installed languages' -

-

- -

-

- Step 3) -

-

- From the 'Installed languages' menu, select the language for the dictionary you want to remove. In this example, - we will be removing the "MTNT Dictionary" for the English language. -

-

- -

-

- Step 4) -

-

- The language Settings menu lists currently installed keyboards and dictionaries associated with the language. - Select the dictionary you want to uninstall at the bottom of the page. -

-

- -

-

- Step 5) -

-

- The dictionaries menu displays the dictionaries that are available for a language. Installed dictionaries show a check mark. - Select the dictionary to display the info menu. -

-

- -

-

- Step 6) -

-

- The bottom of the dictionary settings menu displays an option to uninstall the dictionary. - Select 'Uninstall dictionary' to get a prompt to delete the dictionary. -

-

- -

-

- Step 7) -

-

- Press "Delete" to uninstall the dictionary. -

-

- -

-

- You'll see a notification when the dictionary is deleted. -

-

- -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/uninstalling-keyboards.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/uninstalling-keyboards.php.html deleted file mode 100644 index ee3d96b4ca..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/uninstalling-keyboards.php.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - Removing Keyboards - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Removing a Keyboard

- - -

- To uninstall a keyboard, follow these steps: -

- Step 1) -

- Open the menu for additional options. Select 'Settings' -

- Step 2) -

- From the Keyman Settings menu, select 'Installed languages' -

- -

- Step 3) -

- From the 'Installed languages' menu, select the language for the keyboard you want to remove. -

- -

- Step 4) -

- The language Settings menu lists currently installed keyboards associated with the language. - Select the keyboard you want to uninstall -

- -

- Step 5) -

- The bottom of the keyboard settings menu displays an option to uninstall the keyboard. - Select 'Uninstall keyboard' to get a prompt to delete the keyboard. -

- Note: the default 'SIL EuroLatin' keyboard for English cannot be removed. -

- -

- Step 6) -

- Press "Delete" to uninstall the keyboard. -

- -

- You'll see a notification when the keyboard is deleted. -

- - -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/using-keyman-browser.php.html b/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/using-keyman-browser.php.html deleted file mode 100644 index 1300b65fcf..0000000000 --- a/android/KMAPro/kMAPro/src/main/assets/info/products/android/tablet/using-keyman-browser.php.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - Using the Keyman Browser - Keyman for Android Help - - - - - - - - - - - - - -
-
-
- -
- Header bottom - -

Keyman.com

-
-
-
-
-
-
-

Index

-
-
-
-
-
-

Using the Keyman Browser

- - -

- Step 1) Click the Keyman Browser button in the Keyman app -

- Step 2) Enter the URL of a website to visit into the address bar, for example google.com. - Keyman Browser will load the page and detect your language if it is present, and reformat it to show your - language instead of square boxes. -

- Step 3) Use the bookmark button to save the current page for browsing later. -

- Step 4) Use the Globe icon to swap between languages. -

- -

Help Index

- - -
-
-
-
- - - \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/InfoActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/InfoActivity.java index 7802f239ca..f667ea85a3 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/InfoActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/InfoActivity.java @@ -26,10 +26,10 @@ public class InfoActivity extends BaseActivity { private WebView webView; private final String HELP_PRODUCTION_HOST = "help.keyman.com"; private final String HELP_STAGING_HOST = "help.keyman-staging.com"; - private final String HELP_BASE_FORMAT_STR = "https://%s/products/android/%s/%s?embed=android&formfactor=%s"; + private final String HELP_BASE_FORMAT_STR = "https://%s/products/android/%s"; private String kmUrl = ""; - private final String htmlPath = "file:///android_asset/info/products/android"; - private final String htmlPage = "index.php"; + private final String htmlPath = "file:///android_asset/info"; + private final String htmlPage = "index.html"; private String kmOfflineUrl = ""; @SuppressLint("SetJavaScriptEnabled") @@ -72,9 +72,9 @@ public class InfoActivity extends BaseActivity { helpHost = HELP_PRODUCTION_HOST; } - kmUrl = String.format(HELP_BASE_FORMAT_STR, helpHost, majorMinorVersion, htmlPage, formFactor); + kmUrl = String.format(HELP_BASE_FORMAT_STR, helpHost, majorMinorVersion); // The offline mirroring process (currently) adds .html to the end of the whole string. - kmOfflineUrl = String.format("%s/%s/%s.html", htmlPath, formFactor, htmlPage); + kmOfflineUrl = String.format("%s/%s", htmlPath, htmlPage); webView = (WebView) findViewById(R.id.infoWebView); webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webView.getSettings().setJavaScriptEnabled(true); diff --git a/android/README.md b/android/README.md index 76dd89bace..2e8d99ddaf 100644 --- a/android/README.md +++ b/android/README.md @@ -54,6 +54,10 @@ jq 1.6+ is used during the build process to determine the latest versions of the On Linux `sudo apt install jq` +### Install Pandoc +Pandoc is used during the build process to generate the app's offline help. +Install from https://pandoc.org/installing.html + ### Crash Reporting Keyman for Android uses [Sentry](https://sentry.io) for crash reporting at a server https://sentry.keyman.com. The analytics for Debug are associated with an App Bundle ID `com.tavultesoft.kmapro.debug`. @@ -109,12 +113,15 @@ To validate your configuration, from the `android/` folder run `sentry-cli info` the device serial number listed in step 2. ### Compiling the app's offline help -Extra prerequisite: -* `wget` +Keyman for Android help is maintained in the Markdown files in android/help/. +The script `help/build-help.sh` uses the `pandoc` tool to convert the Markdown files into html. -The script `build-help.sh` uses the `wget` tool to construct an offline bundle from the current -online version of help on help.keyman.com. When significant changes to help content have been -made, it is advisable to manually re-run this script to update the app's offline content. +```bash +cd help +./build-help.sh htm +``` + +This script is automatically called when Keyman for Android is built. ### Sample Projects diff --git a/android/build-help.sh b/android/build-help.sh deleted file mode 100755 index 44b0e4abba..0000000000 --- a/android/build-help.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash -# Uses the open-source `wget` utility to create an embedding-friendly offline mirror -# equivalent of online help. - -# Set sensible script defaults: -# set -e: Terminate script if a command returns an error -set -e -# set -u: Terminate script if an unset variable is used -set -u -# set -x: Debugging use, print each statement -# set -x - -## START STANDARD BUILD SCRIPT INCLUDE -# adjust relative paths as necessary -THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BASH_SOURCE[0]}")" -. "$(dirname "$THIS_SCRIPT")/../resources/build/build-utils.sh" -## END STANDARD BUILD SCRIPT INCLUDE - -display_usage ( ) { - echo "build-help.sh [-local]" - echo - echo "Get an offline mirror of the VERSION_RELEASE (#.0) of Keyman for Android help" - echo "from help.keyman.com." - echo "For alpha and beta tiers, use http://help.keyman-staging.com" - echo "For stable tier, uses http://help.keyman.com" - echo " -local Instead of live site, get content from help.keyman.com.local" - exit 1 -} - -KMA_ROOT="$KEYMAN_ROOT/android" -HELP_ROOT="$KMA_ROOT/KMAPro/kMAPro/src/main/assets/info" - -# Default is using live site content -DO_LOCAL=false - -# Parse args -while [[ $# -gt 0 ]] ; do - key="$1" - case $key in - -local) - DO_LOCAL=true - ;; - -h|-?) - display_usage - ;; - esac - shift # past argument -done - -echo -echo "DO_LOCAL: $DO_LOCAL" -echo - -LOCAL_HOST="help.keyman.com.local" -PRODUCTION_HOST="help.keyman.com" -STAGING_HOST="help.keyman-staging.com" - -if [ "$DO_LOCAL" = true ]; then - WAIT= -else - # When running against live servers, it's best to have a small wait between loads. - # Cloudflare may frown on not waiting, as `wget` is basically a scraper/bot. - WAIT="--wait=2" -fi - -# Allows tracking slightly different settings for different offline-mirroring ops -# should we decide to extract the actual mirroring function into its own file. -# -# iOS uses "--no-directories" instead, at least for now. -OPTIONS="--no-host-directories" - -DEVICE="android" -HELP_SITE_SECTION="products/android" - -# Clear previous help file downloads (if they exist) -if [ -d "$HELP_ROOT" ]; then - rm -r "$HELP_ROOT" -fi - -# Determine host by tier and local -if [ "$DO_LOCAL" = true ]; then - HOST="$LOCAL_HOST" -elif [ "$TIER" = "alpha" ] || [ "$TIER" = "beta" ]; then - HOST="$STAGING_HOST" -else - HOST="$PRODUCTION_HOST" -fi - - -do_offline_mirror() { - # $1 - the form-factor specification. - - # Create local mirror of the help page subdirectory. - # We don't need /font/deploy folder resources, so they're excluded here. - # One of the .css files auto-includes them otherwise. - wget --mirror \ - --convert-links \ - $WAIT \ - --keep-session-cookies \ - --page-requisites \ - --no-parent \ - $OPTIONS \ - --restrict-file-names=windows \ - --exclude-directories /font/deploy \ - --directory-prefix="$HELP_ROOT" \ - --adjust-extension \ - "$HOST/$HELP_SITE_SECTION/$VERSION_RELEASE/index.php?embed=$DEVICE&formfactor=$1" - - # Results in a flat-structured mirror of the specified folder, - # together with all needed resources within the 'site' folder. -} - -do_offline_mirror "phone" - -# Now for some magic... we rename the page's folder and redownload with the other setting. -mv "$HELP_ROOT/$HELP_SITE_SECTION/$VERSION_RELEASE" "$HELP_ROOT/$HELP_SITE_SECTION/phone" - -do_offline_mirror "tablet" - -mv "$HELP_ROOT/$HELP_SITE_SECTION/$VERSION_RELEASE" "$HELP_ROOT/$HELP_SITE_SECTION/tablet" diff --git a/android/help/about/history.md b/android/help/about/history.md new file mode 100644 index 0000000000..3a0b9af3a6 --- /dev/null +++ b/android/help/about/history.md @@ -0,0 +1,8 @@ +--- +title: Version History +--- + +A frequent updated changelog for Keyman is kept at [help.keyman.com/version-history](https://help.keyman.com/version-history/) on the Keyman Help website. + +## Related Topics +* [What's New](whatsnew) diff --git a/android/help/about/index.md b/android/help/about/index.md new file mode 100644 index 0000000000..97f10d9e00 --- /dev/null +++ b/android/help/about/index.md @@ -0,0 +1,8 @@ +--- +title: About Keyman +--- + +* [Welcome to Keyman](welcome) +* [What's New](whatsnew) +* [System Requirements](system-requirements) +* [Version History](history) \ No newline at end of file diff --git a/android/help/about/system-requirements.md b/android/help/about/system-requirements.md new file mode 100644 index 0000000000..a89b847a6f --- /dev/null +++ b/android/help/about/system-requirements.md @@ -0,0 +1,12 @@ +--- +title: System Requirements - Keyman for Android Help +--- + +## Minimum System Requirements + +### Minimum Android Version +Keyman for Android will run on Android phones and tablets that have a minimum version of +[Android 5.0 (Lollipop)](https://developer.android.com/about/versions/lollipop). + +### Device Permissions +Network and [external storage permissions](../troubleshooting/grant-storage-permission) are required to download and install keyboards/dictionaries from the Keyman servers. diff --git a/android/help/about/welcome.md b/android/help/about/welcome.md new file mode 100644 index 0000000000..9c2ff5652a --- /dev/null +++ b/android/help/about/welcome.md @@ -0,0 +1,10 @@ +--- +title: Welcome to Keyman +--- + +Thank you for installing Keyman for Android. Whether you're a new or returning user, we believe you will appreciate the significant enhancements in this latest version of Keyman for Android. + +## What is Keyman for Android? +Keyman for Android lets you type in over 600 languages on Android mobiles and tablets. + +[Click here](../start/) to get started diff --git a/android/help/about/whatsnew.md b/android/help/about/whatsnew.md new file mode 100644 index 0000000000..e1e04565ec --- /dev/null +++ b/android/help/about/whatsnew.md @@ -0,0 +1,20 @@ +--- +title: What's New +--- + +Here are some of the new features we have added to Keyman for Android 14.0: + +* Improved UI for installing keyboard packages (#3498) +* Select a language during keyboard package installation (#3481) + +![](../android_images/select_language.png) + +* Added new menu to add languages for an installed keyboard package (#3255) +* Consolidated install menus for installing keyboards (#3245) +* Fix slow input in the embedded browser (#3768) +* Add system globe action to show system keyboards (#3197) +* Improved corrections and predictions (#3555) +* Match user input capital letters when offering suggestions (#3845) +* Update minimum Android SDK to 21 (Android 5.0 Lollipop) (#2993) +* Keyman now works more reliably with WeChat and Telegram (#4254) +* Added new menu to change the display language (#4261) diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/backspace-ap.png b/android/help/android_images/backspace-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/backspace-ap.png rename to android/help/android_images/backspace-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/backspace-at.png b/android/help/android_images/backspace-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/backspace-at.png rename to android/help/android_images/backspace-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/browser-a.png b/android/help/android_images/browser-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/browser-a.png rename to android/help/android_images/browser-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/close-keyman-a.png b/android/help/android_images/close-keyman-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/close-keyman-a.png rename to android/help/android_images/close-keyman-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-english-dictionary-delete-ap.png b/android/help/android_images/confirm-english-dictionary-delete-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-english-dictionary-delete-ap.png rename to android/help/android_images/confirm-english-dictionary-delete-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-khmer-delete-ap.png b/android/help/android_images/confirm-khmer-delete-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/confirm-khmer-delete-ap.png rename to android/help/android_images/confirm-khmer-delete-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/delete-a.png b/android/help/android_images/delete-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/delete-a.png rename to android/help/android_images/delete-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-file-browser-ap.png b/android/help/android_images/dist-file-browser-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-file-browser-ap.png rename to android/help/android_images/dist-file-browser-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-file-browser-at.png b/android/help/android_images/dist-file-browser-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-file-browser-at.png rename to android/help/android_images/dist-file-browser-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-install1-ap.png b/android/help/android_images/dist-install1-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-install1-ap.png rename to android/help/android_images/dist-install1-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-install1-at.png b/android/help/android_images/dist-install1-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-install1-at.png rename to android/help/android_images/dist-install1-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-readme-ap.png b/android/help/android_images/dist-readme-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-readme-ap.png rename to android/help/android_images/dist-readme-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-readme-at.png b/android/help/android_images/dist-readme-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-readme-at.png rename to android/help/android_images/dist-readme-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-storage-permission-ap.png b/android/help/android_images/dist-storage-permission-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-storage-permission-ap.png rename to android/help/android_images/dist-storage-permission-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-storage-permission-at.png b/android/help/android_images/dist-storage-permission-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-storage-permission-at.png rename to android/help/android_images/dist-storage-permission-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-url-screen-ap.png b/android/help/android_images/dist-url-screen-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-url-screen-ap.png rename to android/help/android_images/dist-url-screen-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-url-screen-at.png b/android/help/android_images/dist-url-screen-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-url-screen-at.png rename to android/help/android_images/dist-url-screen-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-welcome-ap.png b/android/help/android_images/dist-welcome-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-welcome-ap.png rename to android/help/android_images/dist-welcome-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-welcome-at.png b/android/help/android_images/dist-welcome-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dist-welcome-at.png rename to android/help/android_images/dist-welcome-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dl-success-ap.png b/android/help/android_images/dl-success-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dl-success-ap.png rename to android/help/android_images/dl-success-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dl-success-at.png b/android/help/android_images/dl-success-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/dl-success-at.png rename to android/help/android_images/dl-success-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/english-dictionaries-ap.png b/android/help/android_images/english-dictionaries-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/english-dictionaries-ap.png rename to android/help/android_images/english-dictionaries-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/english-dictionary-info-ap.png b/android/help/android_images/english-dictionary-info-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/english-dictionary-info-ap.png rename to android/help/android_images/english-dictionary-info-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/english-settings-ap.png b/android/help/android_images/english-settings-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/english-settings-ap.png rename to android/help/android_images/english-settings-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/font-size-a.png b/android/help/android_images/font-size-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/font-size-a.png rename to android/help/android_images/font-size-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/get-started-a.png b/android/help/android_images/get-started-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/get-started-a.png rename to android/help/android_images/get-started-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/globe-ap.png b/android/help/android_images/globe-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/globe-ap.png rename to android/help/android_images/globe-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/globe-at.png b/android/help/android_images/globe-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/globe-at.png rename to android/help/android_images/globe-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/hide-keyboard-ap.png b/android/help/android_images/hide-keyboard-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/hide-keyboard-ap.png rename to android/help/android_images/hide-keyboard-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/hide-keyboard-at.png b/android/help/android_images/hide-keyboard-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/hide-keyboard-at.png rename to android/help/android_images/hide-keyboard-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/ic_cloud_download.png b/android/help/android_images/ic_cloud_download.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/ic_cloud_download.png rename to android/help/android_images/ic_cloud_download.png diff --git a/android/help/android_images/ic_translate_a.png b/android/help/android_images/ic_translate_a.png new file mode 100644 index 0000000000..71b2332aaa Binary files /dev/null and b/android/help/android_images/ic_translate_a.png differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/info-a-gray.png b/android/help/android_images/info-a-gray.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/info-a-gray.png rename to android/help/android_images/info-a-gray.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/info-a.png b/android/help/android_images/info-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/info-a.png rename to android/help/android_images/info-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/keyman-storage-permission-ap.png b/android/help/android_images/keyman-storage-permission-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/keyman-storage-permission-ap.png rename to android/help/android_images/keyman-storage-permission-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/keyman-storage-permission-at.png b/android/help/android_images/keyman-storage-permission-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/keyman-storage-permission-at.png rename to android/help/android_images/keyman-storage-permission-at.png diff --git a/android/help/android_images/khmer-downloading-a.png b/android/help/android_images/khmer-downloading-a.png new file mode 100644 index 0000000000..29269e0298 Binary files /dev/null and b/android/help/android_images/khmer-downloading-a.png differ diff --git a/android/help/android_images/khmer-install-a.png b/android/help/android_images/khmer-install-a.png new file mode 100644 index 0000000000..f3d6f3abd2 Binary files /dev/null and b/android/help/android_images/khmer-install-a.png differ diff --git a/android/help/android_images/khmer-readme-a.png b/android/help/android_images/khmer-readme-a.png new file mode 100644 index 0000000000..3d6d1799df Binary files /dev/null and b/android/help/android_images/khmer-readme-a.png differ diff --git a/android/help/android_images/khmer-search-a.png b/android/help/android_images/khmer-search-a.png new file mode 100644 index 0000000000..a47af0dcc6 Binary files /dev/null and b/android/help/android_images/khmer-search-a.png differ diff --git a/android/help/android_images/khmer-settings-ap.png b/android/help/android_images/khmer-settings-ap.png new file mode 100644 index 0000000000..ea112fe4c4 Binary files /dev/null and b/android/help/android_images/khmer-settings-ap.png differ diff --git a/android/help/android_images/khmer-welcome-a.png b/android/help/android_images/khmer-welcome-a.png new file mode 100644 index 0000000000..faeeff79e1 Binary files /dev/null and b/android/help/android_images/khmer-welcome-a.png differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/menu-icon-a.png b/android/help/android_images/menu-icon-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/menu-icon-a.png rename to android/help/android_images/menu-icon-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/plus-a.png b/android/help/android_images/plus-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/plus-a.png rename to android/help/android_images/plus-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/return-ap.png b/android/help/android_images/return-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/return-ap.png rename to android/help/android_images/return-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/return-at.png b/android/help/android_images/return-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/return-at.png rename to android/help/android_images/return-at.png diff --git a/android/help/android_images/return.png b/android/help/android_images/return.png new file mode 100644 index 0000000000..84e5a37a0b Binary files /dev/null and b/android/help/android_images/return.png differ diff --git a/android/help/android_images/select_language.png b/android/help/android_images/select_language.png new file mode 100644 index 0000000000..08747300ce Binary files /dev/null and b/android/help/android_images/select_language.png differ diff --git a/android/help/android_images/settings-2-installed-languages-ap.png b/android/help/android_images/settings-2-installed-languages-ap.png new file mode 100644 index 0000000000..c2a3579d75 Binary files /dev/null and b/android/help/android_images/settings-2-installed-languages-ap.png differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-a.png b/android/help/android_images/settings-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-a.png rename to android/help/android_images/settings-a.png diff --git a/android/help/android_images/settings-download-dictionary-background-ap.png b/android/help/android_images/settings-download-dictionary-background-ap.png new file mode 100644 index 0000000000..b75f921833 Binary files /dev/null and b/android/help/android_images/settings-download-dictionary-background-ap.png differ diff --git a/android/help/android_images/settings-download-str-dictionary-ap.png b/android/help/android_images/settings-download-str-dictionary-ap.png new file mode 100644 index 0000000000..83c5d7b435 Binary files /dev/null and b/android/help/android_images/settings-download-str-dictionary-ap.png differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-khmer-info-ap.png b/android/help/android_images/settings-khmer-info-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings-khmer-info-ap.png rename to android/help/android_images/settings-khmer-info-ap.png diff --git a/android/help/android_images/settings-language-ap.png b/android/help/android_images/settings-language-ap.png new file mode 100644 index 0000000000..c8c678d94e Binary files /dev/null and b/android/help/android_images/settings-language-ap.png differ diff --git a/android/help/android_images/settings-languages-ap.png b/android/help/android_images/settings-languages-ap.png new file mode 100644 index 0000000000..15cb36e984 Binary files /dev/null and b/android/help/android_images/settings-languages-ap.png differ diff --git a/android/help/android_images/settings-screen-ap.png b/android/help/android_images/settings-screen-ap.png new file mode 100644 index 0000000000..6255404335 Binary files /dev/null and b/android/help/android_images/settings-screen-ap.png differ diff --git a/android/help/android_images/settings-screen-at.png b/android/help/android_images/settings-screen-at.png new file mode 100644 index 0000000000..87c8dc9b43 Binary files /dev/null and b/android/help/android_images/settings-screen-at.png differ diff --git a/android/help/android_images/settings-screen-install-keyboard-dictionary.png b/android/help/android_images/settings-screen-install-keyboard-dictionary.png new file mode 100644 index 0000000000..abca0d9205 Binary files /dev/null and b/android/help/android_images/settings-screen-install-keyboard-dictionary.png differ diff --git a/android/help/android_images/settings-str-dictionary-ap.png b/android/help/android_images/settings-str-dictionary-ap.png new file mode 100644 index 0000000000..9d0c5ccf06 Binary files /dev/null and b/android/help/android_images/settings-str-dictionary-ap.png differ diff --git a/android/help/android_images/settings-str-settings-ap.png b/android/help/android_images/settings-str-settings-ap.png new file mode 100644 index 0000000000..7ebc6deab8 Binary files /dev/null and b/android/help/android_images/settings-str-settings-ap.png differ diff --git a/android/help/android_images/settings-suggestions-ap.png b/android/help/android_images/settings-suggestions-ap.png new file mode 100644 index 0000000000..100a13704b Binary files /dev/null and b/android/help/android_images/settings-suggestions-ap.png differ diff --git a/android/help/android_images/settings-two-installed-languages-ap.png b/android/help/android_images/settings-two-installed-languages-ap.png new file mode 100644 index 0000000000..59ee66788f Binary files /dev/null and b/android/help/android_images/settings-two-installed-languages-ap.png differ diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings1-ap.png b/android/help/android_images/settings1-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings1-ap.png rename to android/help/android_images/settings1-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings1-at.png b/android/help/android_images/settings1-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings1-at.png rename to android/help/android_images/settings1-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings2-ap.png b/android/help/android_images/settings2-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings2-ap.png rename to android/help/android_images/settings2-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings2-at.png b/android/help/android_images/settings2-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings2-at.png rename to android/help/android_images/settings2-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings3-ap.png b/android/help/android_images/settings3-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings3-ap.png rename to android/help/android_images/settings3-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings3-at.png b/android/help/android_images/settings3-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings3-at.png rename to android/help/android_images/settings3-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings4-ap.png b/android/help/android_images/settings4-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings4-ap.png rename to android/help/android_images/settings4-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings4-at.png b/android/help/android_images/settings4-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings4-at.png rename to android/help/android_images/settings4-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings5-ap.png b/android/help/android_images/settings5-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings5-ap.png rename to android/help/android_images/settings5-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings5-at.png b/android/help/android_images/settings5-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings5-at.png rename to android/help/android_images/settings5-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings6-ap.png b/android/help/android_images/settings6-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings6-ap.png rename to android/help/android_images/settings6-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings6-at.png b/android/help/android_images/settings6-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings6-at.png rename to android/help/android_images/settings6-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings7-ap.png b/android/help/android_images/settings7-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings7-ap.png rename to android/help/android_images/settings7-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings7-at.png b/android/help/android_images/settings7-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/settings7-at.png rename to android/help/android_images/settings7-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/share-a.png b/android/help/android_images/share-a.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/share-a.png rename to android/help/android_images/share-a.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/shift-ap.png b/android/help/android_images/shift-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/shift-ap.png rename to android/help/android_images/shift-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/shift-at.png b/android/help/android_images/shift-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/shift-at.png rename to android/help/android_images/shift-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/touch-hold-ap.png b/android/help/android_images/touch-hold-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/touch-hold-ap.png rename to android/help/android_images/touch-hold-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/touch-hold-at.png b/android/help/android_images/touch-hold-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/touch-hold-at.png rename to android/help/android_images/touch-hold-at.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/uninstall-dictionary-notification-ap.png b/android/help/android_images/uninstall-dictionary-notification-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/uninstall-dictionary-notification-ap.png rename to android/help/android_images/uninstall-dictionary-notification-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/uninstall-notification-ap.png b/android/help/android_images/uninstall-notification-ap.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/uninstall-notification-ap.png rename to android/help/android_images/uninstall-notification-ap.png diff --git a/android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/uninstall-notification-at.png b/android/help/android_images/uninstall-notification-at.png similarity index 100% rename from android/KMAPro/kMAPro/src/main/assets/info/cdn/dev/img/app/13.0/uninstall-notification-at.png rename to android/help/android_images/uninstall-notification-at.png diff --git a/android/help/basic/config/index.md b/android/help/basic/config/index.md new file mode 100644 index 0000000000..1e8dd29db8 --- /dev/null +++ b/android/help/basic/config/index.md @@ -0,0 +1,62 @@ +--- +title: Using the Settings Screen - Keyman for Android Help +--- + +## Using the Settings Screen + +This Settings screen is used to configure keyboards and dictionaries. +It also has many of the options that are available on the 'Get Started' menu. To access the Settings screen: + +Step 1) +Open the Keyman app. + +Step 2) +Click the menu for additional options. Select 'Settings' + +![](../../android_images/settings-screen-ap.png) + +Each selection on the Keyman Settings screen is described in further detail below: + + +## Installed Languages +This displays the number of installed languages in parentheses `()`. Click this line for the 'Installed Languages' +screen where you can [install new keyboards](../../start/installing-keyboards) from the keyman.com catalog. + +## Install Keyboard or Dictionary +This displays a few ways to install a keyboard package or dictionary package. + +![](../../android_images/settings-screen-install-keyboard-dictionary.png) + +### Install from keyman.com +Click on this to search for a keyboard from keyman.com and install. The process is the same as [installing keyboards](../../start/installing-keyboards). + +### Install from local file +Click on this to [install custom keyboard and dictionary packages](../installing-custom-packages). + +### Add languages to installed keyboard +For installed keyboard packages, click on this to associate another language with a keyboard. +If all the languages for a keyboard have already been installed, +this won't change anything. + +## Enable Keyman as system-wide keyboard +By default, installed Keyman keyboards are only available to use within the Keyman app. Click on this setting to +bring up the Android system configuration so Keyman can be added as a system-wide keyboard. + +## Set Keyman as default keyboard +Click on this to bring up the Android system configuration for setting Keyman as the default system-wide keyboard. + +## Change Display Language +![](../../android_images/ic_translate_a.png) + +Click on this to change the display language of the Keyman for Android app. The list of available languages come from [translate.keyman.com](https://translate.keyman.com). If a translation is available, Keyman for Android will default to the device's default locale. + +## Always show banner +This toggle is reserved for future features. When off, the text suggestion banner is only displayed when +the dictionary is enabled. The language associated with the keyboard must match the language associated with +the dictionary. + +## Show "Get Started" on startup +When enabled, the Keyman app will display the 'Get Started' screen on app startup. + +## Allow sending crash reports over network +When enabled, the Keyman app will send crash reporting information to https://sentry.keyman.com. No personally identifiable information or keyboard strokes are recorded. \ No newline at end of file diff --git a/android/help/basic/index.md b/android/help/basic/index.md new file mode 100644 index 0000000000..2dab69a969 --- /dev/null +++ b/android/help/basic/index.md @@ -0,0 +1,15 @@ +--- +title: Basic Help +--- + +* [Switching Between Keyboards](switching-between-keyboards) + +* [Installing Custom Keyboards/Dictionaries](installing-custom-packages) +* [Adding Dictionaries](installing-dictionaries) + +* [Using the Settings Screen](config/) + +* [Using the Keyman Browser](using-keyman-browser) + +* [Removing Keyboards](uninstalling-keyboards) +* [Removing Dictionaries](uninstalling-dictionaries) diff --git a/android/help/basic/installing-custom-packages.md b/android/help/basic/installing-custom-packages.md new file mode 100644 index 0000000000..9b3ab55400 --- /dev/null +++ b/android/help/basic/installing-custom-packages.md @@ -0,0 +1,63 @@ +--- +title: Installing Custom Keyboards/Dictionaries - Keyman for Android Help +--- + +## Installing Custom Keyboards/Dictionaries +These same steps can be used for installing custom keyboard or custom dictionary packages. This example is for Khmer Angkor keyboard. + + + +Step 1) Click the link to your custom package file. + +![](../android_images/dist-url-screen-ap.png) + +Step 2) Once the KMP file is on your device, you will need to browse to the KMP file and select it. +From the Keyman menu, select 'Settings'. + +From the Keyman Settings menu, select 'Install Keyboard or Dictionary'. + +From the 'Install Keyboard' menu, select 'Install from local file'. + +![](../android_images/settings-language-ap.png) + +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. + +![](../android_images/dist-file-browser-ap.png) + +Selecting the KMP file should bring you to Step 3) + +Step 3) On Android 6.0 (Marshmallow) and higher, mobile apps need to request permissions to access storage. Keyman +for Android needs access to read storage for installing the KMP file. At the dialog, select **"ALLOW"**. Once authorized, +Keyman for Android won't need to ask for storage permission again, unless the user revokes or uninstalls the app. + +![](../android_images/dist-storage-permission-ap.png) + +Older versions of Android grant Storage permissions at app installation time, so those users can skip this step. + +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. + +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. + +![](../android_images/dist-readme-ap.png) + +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. + +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. + +![](../android_images/dist-welcome-ap.png) + +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. + +![](../android_images/dist-install1-ap.png) + +To learn how to create a custom keyboard package, +[click here](https://help.keyman.com/developer/current-version/guides/distribute/) + diff --git a/android/help/basic/installing-dictionaries.md b/android/help/basic/installing-dictionaries.md new file mode 100644 index 0000000000..53fed591f9 --- /dev/null +++ b/android/help/basic/installing-dictionaries.md @@ -0,0 +1,49 @@ +--- +title: Adding Dictionaries - Keyman for Android Help +--- + +## Adding New Dictionaries +Whenever a keyboard is [added](../start/installing-keyboards), the app automatically adds an associated dictionary +if it's available on keyman.com. + +If you've downloaded a dictionary package to your device, you can [install the custom package](installing-custom-packages) to add the dictionary. + +If you've already added a keyboard and an associated dictionary later becomes available on keyman.com, +you can add the dictionary from the Keyman Settings menu by following these steps: + +Step 1) +From the Keyman Settings menu, select 'Installed languages' + +![](../android_images/settings-languages-ap.png) + +Step 2) +From the 'Installed languages' menu, touch the language for the dictionary you want to add. In this example, we select +"Straits Salish (Latin)". + +![](../android_images/settings-2-installed-languages-ap.png) + +Step 3) +The settings for that language will appear. At the top is the installed keyboard. +At the bottom, select "Dictionary". + +![](../android_images/settings-str-settings-ap.png) + +Step 4) +If there's an available dictionary to add, this page will show it. Installed dictionaries will show a checkmark on the left. +Select the dictionary name to add it. + +![](../android_images/settings-str-dictionary-ap.png) + +Step 5) +This will be displayed at the confirmation to install the dictionary package. + +![](../android_images/settings-download-str-dictionary-ap.png) + +A notification will appear when the dictionary package is downloading in the background. + +![](../android_images/settings-download-dictionary-background-ap.png) + +Step 6) +Once the download is complete, you'll see the dictionary-provided suggestions when you have the keyboard active. + +![](../android_images/settings-suggestions-ap.png) diff --git a/android/help/basic/switching-between-keyboards.md b/android/help/basic/switching-between-keyboards.md new file mode 100644 index 0000000000..9a7168331d --- /dev/null +++ b/android/help/basic/switching-between-keyboards.md @@ -0,0 +1,28 @@ +--- +title: Switching Between Keyboards - Keyman for Android Help +--- + +## Switching Between Keyboards +To switch keyboards, follow these steps: + +Step 1) +With the keyboard visible, touch the globe key: + +![](../android_images/globe-ap.png) + +This will bring up a list of all currently installed languages (the default is **English EuroLatin (SIL)**). +If you have already downloaded additional languages, they will appear here. +Simply select them and the keyboard will re-appear with the new language. + + +## Hotkey +To switch between languages while using an external keyboard (i.e. a bluetooth keyboard), a quick and easy way is to +use a hotkey combination. Press and hold Ctrl and then press Tab. +You should then see the same listing of languages/keyboards. Tap on any available language of your choice. + +### Alternate Step for System Keyboard + +The Keyman system keyboard has an additional **CLOSE KEYMAN** button at the bottom left of +the "Keyboards" menu. Pushing this button will close Keyman and switch to the next non-Keyman system keyboard. + +![](../android_images/close-keyman-a.png) diff --git a/android/help/basic/uninstalling-dictionaries.md b/android/help/basic/uninstalling-dictionaries.md new file mode 100644 index 0000000000..9bdb3c8605 --- /dev/null +++ b/android/help/basic/uninstalling-dictionaries.md @@ -0,0 +1,47 @@ +--- +title: Removing Dictionaries - Keyman for Android Help +--- + +## Removing a Dictionary +To uninstall a dictionary, follow these steps: + +Step 1) +Open the menu for additional options. Select 'Settings' + +Step 2) +From the Keyman Settings menu, select 'Installed languages' + +![](../android_images/settings-languages-ap.png) + +Step 3) +From the 'Installed languages' menu, select the language for the dictionary you want to remove. In this example, +we will be removing the "MTNT Dictionary" for the English language. + +![](../android_images/settings-two-installed-languages-ap.png) + +Step 4) +The language Settings menu lists currently installed keyboards and dictionaries associated with the language. +Select the dictionary you want to uninstall at the bottom of the page. + +![](../android_images/english-settings-ap.png) + +Step 5) +The dictionaries menu displays the dictionaries that are available for a language. Installed dictionaries show a check mark. +Select the dictionary to display the info menu. + +![](../android_images/english-dictionaries-ap.png) + +Step 6) +The bottom of the dictionary settings menu displays an option to uninstall the dictionary. +Select 'Uninstall dictionary' to get a prompt to delete the dictionary. + +![](../android_images/english-dictionary-info-ap.png) + +Step 7) +Press "Delete" to uninstall the dictionary. + +![](../android_images/confirm-english-dictionary-delete-ap.png) + +You'll see a notification when the dictionary is deleted. + +![](../android_images/uninstall-dictionary-notification-ap.png) diff --git a/android/help/basic/uninstalling-keyboards.md b/android/help/basic/uninstalling-keyboards.md new file mode 100644 index 0000000000..9b3a7130d3 --- /dev/null +++ b/android/help/basic/uninstalling-keyboards.md @@ -0,0 +1,42 @@ +--- +title: Removing Keyboards - Keyman for Android Help +--- + +## Removing a Keyboard +To uninstall a keyboard, follow these steps: + +Step 1) +Open the menu for additional options. Select 'Settings' + +Step 2) +From the Keyman Settings menu, select 'Installed languages' + +![](../android_images/settings-languages-ap.png) + +Step 3) +From the 'Installed languages' menu, select the language for the keyboard you want to remove. + +![](../android_images/settings-two-installed-languages-ap.png) + +Step 4) +The language Settings menu lists currently installed keyboards associated with the language. +Select the keyboard you want to uninstall + +![](../android_images/khmer-settings-ap.png) + +Step 5) +The bottom of the keyboard settings menu displays an option to uninstall the keyboard. +Select 'Uninstall keyboard' to get a prompt to delete the keyboard. + +**Note:** The default 'SIL EuroLatin' keyboard for English cannot be removed. + +![](../android_images/settings-khmer-info-ap.png) + +Step 6) +Press **"Delete"** to uninstall the keyboard. + +![](../android_images/confirm-khmer-delete-ap.png) + +You'll see a notification when the keyboard is deleted. + +![](../android_images/uninstall-notification-ap.png) diff --git a/android/help/basic/using-keyman-browser.md b/android/help/basic/using-keyman-browser.md new file mode 100644 index 0000000000..7c62b8b39b --- /dev/null +++ b/android/help/basic/using-keyman-browser.md @@ -0,0 +1,18 @@ +--- +title: Using the Keyman Browser - Keyman for Android Help +--- + +## Using the Keyman Browser +Step 1) +Click the Keyman Browser button in the Keyman app + +Step 2) +Enter the URL of a website to visit into the address bar, for example google.com. + +Keyman Browser will load the page and detect your language if it is present, and reformat it to show your language instead of square boxes. + +Step 3) +Use the bookmark button to save the current page for browsing later. + +Step 4) +Use the Globe icon to swap between languages. diff --git a/android/help/build-help.sh b/android/help/build-help.sh new file mode 100644 index 0000000000..d60c850901 --- /dev/null +++ b/android/help/build-help.sh @@ -0,0 +1,106 @@ +#!/bin/bash + +# Set sensible script defaults: +# set -e: Terminate script if a command returns an error +set -e +# set -u: Terminate script if an unset variable is used +set -u + +## START STANDARD BUILD SCRIPT INCLUDE +# adjust relative paths as necessary +THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BASH_SOURCE[0]}")" +. "$(dirname "$THIS_SCRIPT")/../../resources/build/build-utils.sh" +## END STANDARD BUILD SCRIPT INCLUDE + +QUIET=0 + +. "$KEYMAN_ROOT/resources/shellHelperFunctions.sh" + +THIS_DIR="$(dirname "$THIS_SCRIPT")" + +display_usage() { + echo "build.sh [--no-clean] target [...target]" + echo "Builds help documentation for Keyman for Android" + echo "Targets:" + echo " * htm or html: convert documentation to html using pandoc" + echo + echo " --no-clean: don't clean target folder before building" +} + +DO_HTM=false +DO_CLEAN=true + +# Debug flags +DO_HTM_CONVERSION=true + +# +# Parse args +# + +shopt -s nocasematch + +while [[ $# -gt 0 ]] ; do + key="$1" + case $key in + htm | html) + DO_HTM=true + ;; + --no-clean) + DO_CLEAN=false + ;; + *) + display_usage + exit 1 + esac + shift # past argument +done + +if ! $DO_HTM ; then + display_usage + exit 1 +fi + +displayInfo "" \ + "DO_HTM: $DO_HTM" \ + "DO_CLEAN: $DO_CLEAN" \ + "" + +# +# Compile all .md to .html +# + +MDLUA="$THIS_DIR/htmlink.lua" +MD=`find -name "*.md"` +DESTHTM="$THIS_DIR/../KMAPro/kMAPro/src/main/assets/info" + +if $DO_HTM; then + # + # Clean existing folder + # + + if $DO_CLEAN; then + rm -rf "$DESTHTM" || true # We don't want to die when we clean an empty folder + fi + mkdir -p "$DESTHTM" + + # + # Generate HTML files from Markdown + # + + if $DO_HTM_CONVERSION; then + for INFILE in $MD; do + OUTFILE="$DESTHTM/${INFILE%.md}.html" + echo "Processing $INFILE to $(basename "$OUTFILE")" + mkdir -p "$(dirname "$OUTFILE")" + pandoc -s --lua-filter="$MDLUA" -t html -o "$OUTFILE" $INFILE + done + fi + + # + # Copy Images + # + + mkdir -p "$DESTHTM/android_images" + cp android_images/* "$DESTHTM/android_images/" + +fi diff --git a/android/help/context/index.md b/android/help/context/index.md new file mode 100644 index 0000000000..ba873acdba --- /dev/null +++ b/android/help/context/index.md @@ -0,0 +1,6 @@ +--- +title: Contextual Help +--- + +* [The Keyman Menu (Phone Layout)](menu-phone) +* [The Keyman Menu (Tablet Layout)](menu-tablet) \ No newline at end of file diff --git a/android/help/context/menu-phone.md b/android/help/context/menu-phone.md new file mode 100644 index 0000000000..2288644cbb --- /dev/null +++ b/android/help/context/menu-phone.md @@ -0,0 +1,24 @@ +--- +title: Keyman for Android (Phone Layout) +--- + +| | Keyboard Keys (Keyboard Present) | +|---|---| +| ![](../android_images/globe-ap.png) | Select another language/keyboard | +| ![](../android_images/hide-keyboard-ap.png) | Hide the keyboard | +| ![](../android_images/backspace-ap.png) | Backspace | +| ![](../android_images/return-ap.png) | Return | +| ![](../android_images/shift-ap.png) | Shift key. Long press this key to access the CTRL, ALT and CTRLALT keys (which can access additional key layers) | +| ![](../android_images/touch-hold-ap.png) | Keys with a small dot in the top right corner indicate a long press key. Access further functionality by long pressing the key | +| ![](../android_images/share-a.png) | Share your text with other apps like Messages, Gmail, or Twitter. Some versions of Android also let you copy your text to the clipboard. | +| ![](../android_images/browser-a.png) | Open the Keyman Browser to use the web in your language | +| ![](../android_images/menu-icon-a.png) | Open the menu for additional options | +| ![](../android_images/font-size-a.png) | Adjust the font size | +| ![](../android_images/delete-a.png) | Delete all current text | +| ![](../android_images/info-a.png) | Load this help page | +| ![](../android_images/get-started-a.png) | Open the initial setup screen | +| ![](../android_images/settings-a.png) | Open the [Keyman Settings](../basic/config/) screen | +| ![](../android_images/ic_cloud_download.png) | Update available to download for keyboard / dictionary | + +### See Also +* [Keyman for Android (Tablet Layout)](menu-tablet) \ No newline at end of file diff --git a/android/help/context/menu-tablet.md b/android/help/context/menu-tablet.md new file mode 100644 index 0000000000..30c46c8f05 --- /dev/null +++ b/android/help/context/menu-tablet.md @@ -0,0 +1,24 @@ +--- +title: Keyman for Android (Tablet Layout) +--- + +| | Keyboard Keys (Keyboard Present) | +|---|---| +| ![](../android_images/globe-at.png) | Select another language/keyboard | +| ![](../android_images/hide-keyboard-at.png) | Hide the keyboard | +| ![](../android_images/backspace-at.png) | Backspace | +| ![](../android_images/return-at.png) | Return | +| ![](../android_images/shift-at.png) | Shift key. Long press this key to access the CTRL, ALT and CTRLALT keys (which can access additional key layers) | +| ![](../android_images/touch-hold-at.png) | Keys with a small dot in the top right corner indicate a long press key. Access further functionality by long pressing the key | +| ![](../android_images/share-a.png) | Share your text with other atps like Messages, Gmail, or Twitter. Some versions of Android also let you copy your text to the clipboard. | +| ![](../android_images/browser-a.png) | Open the Keyman Browser to use the web in your language | +| ![](../android_images/menu-icon-a.png) | Open the menu for additional options | +| ![](../android_images/font-size-a.png) | Adjust the font size | +| ![](../android_images/delete-a.png) | Delete all current text | +| ![](../android_images/info-a.png) | Load this help page | +| ![](../android_images/get-started-a.png) | Open the initial setup screen | +| ![](../android_images/settings-a.png) | Open the [Keyman Settings](../basic/config/) | +| ![](../android_images/ic_cloud_download.png) | Update available to download for keyboard / dictionary | + +### See Also +* [Keyman for Android (Phone Layout)](menu-phone) \ No newline at end of file diff --git a/android/help/context/menu_phone.md b/android/help/context/menu_phone.md new file mode 100644 index 0000000000..02d4f5c1e8 --- /dev/null +++ b/android/help/context/menu_phone.md @@ -0,0 +1,24 @@ +--- +title: Keyman for Android (Phone Layout) +--- + +| | Keyboard Keys (Keyboard Present) | +|---|---| +| ![](../android_images/globe-ap.png) | Select another language/keyboard | +| ![](../android_images/hide-keyboard-ap.png) | Hide the keyboard | +| ![](../android_images/backspace-ap.png) | Backspace | +| ![](../android_images/return-ap.png) | Return | +| ![](../android_images/shift-ap.png) | Shift key. Long press this key to access the CTRL, ALT and CTRLALT keys (which can access additional key layers) | +| ![](../android_images/touch-hold-ap.png) | Keys with a small dot in the top right corner indicate a long press key. Access further functionality by long pressing the key | +| ![](../android_images/share-a.png) | Share your text with other apps like Messages, Gmail, or Twitter. Some versions of Android also let you copy your text to the clipboard. | +| ![](../android_images/browser-a.png) | Open the Keyman Browser to use the web in your language | +| ![](../android_images/menu-icon-a.png) | Open the menu for additional options | +| ![](../android_images/font-size-a.png) | Adjust the font size | +| ![](../android_images/delete-a.png) | Delete all current text | +| ![](../android_images/info-a.png) | Load this help page | +| ![](../android_images/get-started-a.png) | Open the initial setup screen | +| ![](../android_images/settings-a.png) | Open the [Keyman Settings](../basic/config/) screen | +| ![](../android_images/ic_cloud_download.png) | Update available to download for keyboard / dictionary | + +### See Also +* [Keyman for Android (Tablet Layout)](menu_tablet) \ No newline at end of file diff --git a/android/help/context/menu_tablet.md b/android/help/context/menu_tablet.md new file mode 100644 index 0000000000..8f9a4dc765 --- /dev/null +++ b/android/help/context/menu_tablet.md @@ -0,0 +1,24 @@ +--- +title: Keyman for Android (Tablet Layout) +--- + +| | Keyboard Keys (Keyboard Present) | +|---|---| +| ![](../android_images/globe-at.png) | Select another language/keyboard | +| ![](../android_images/hide-keyboard-at.png) | Hide the keyboard | +| ![](../android_images/backspace-at.png) | Backspace | +| ![](../android_images/return-at.png) | Return | +| ![](../android_images/shift-at.png) | Shift key. Long press this key to access the CTRL, ALT and CTRLALT keys (which can access additional key layers) | +| ![](../android_images/touch-hold-at.png) | Keys with a small dot in the top right corner indicate a long press key. Access further functionality by long pressing the key | +| ![](../android_images/share-a.png) | Share your text with other atps like Messages, Gmail, or Twitter. Some versions of Android also let you copy your text to the clipboard. | +| ![](../android_images/browser-a.png) | Open the Keyman Browser to use the web in your language | +| ![](../android_images/menu-icon-a.png) | Open the menu for additional options | +| ![](../android_images/font-size-a.png) | Adjust the font size | +| ![](../android_images/delete-a.png) | Delete all current text | +| ![](../android_images/info-a.png) | Load this help page | +| ![](../android_images/get-started-a.png) | Open the initial setup screen | +| ![](../android_images/settings-a.png) | Open the [Keyman Settings](../basic/config/) | +| ![](../android_images/ic_cloud_download.png) | Update available to download for keyboard / dictionary | + +### See Also +* [Keyman for Android (Phone Layout)](menu_phone) \ No newline at end of file diff --git a/android/help/htmlink.lua b/android/help/htmlink.lua new file mode 100644 index 0000000000..d74d974c2d --- /dev/null +++ b/android/help/htmlink.lua @@ -0,0 +1,18 @@ +function Link(elem) + if isLocalLink(elem) then + if isFolderLink(elem) then + return pandoc.Link(elem.content, elem.target .. 'index.html', elem.title, elem.attr) + else + return pandoc.Link(elem.content, elem.target .. '.html', elem.title, elem.attr) + end + end + return elem +end + +function isLocalLink(elem) + return string.match(elem.target, "://") == nil +end + +function isFolderLink(elem) + return not ( string.match(elem.target, "/$") == nil ) +end diff --git a/android/help/index.md b/android/help/index.md new file mode 100644 index 0000000000..56b12b00f0 --- /dev/null +++ b/android/help/index.md @@ -0,0 +1,40 @@ +--- +title: Keyman for Android 14.0 Help +--- + +## [About Keyman](about/) +* [Welcome to Keyman](about/welcome) +* [What's New](about/whatsnew) +* [System Requirements](about/system-requirements) +* [Version History](about/history) + +## [Getting Started](start/) +* [How To - Download and Install a Keyman Keyboard](start/installing-keyboards) +* [Enabling Keyman as a System-Wide Keyboard](start/enabling-system-keyboard) + +## [Using the Menu](context/) +* [Using the menu buttons (phone layout)](context/menu-phone) +* [Using the menu buttons (tablet layout)](context/menu-tablet) + +## Ask for Help +* [Ask other users in the SIL Keyman Community](https://community.software.sil.org/c/keyman) + +## Help Topics +### [Troubleshooting](troubleshooting/) +* [How To - Getting Keyboard Help](troubleshooting/keyboard-help) +* [How To - Grant Storage Permission](troubleshooting/grant-storage-permission) +* [How To - Integrating Keyman for Android](troubleshooting/integrating) + +### [Using Keyman for Android](basic/) +* [Switching Between Keyboards](basic/switching-between-keyboards) +* [Installing Custom Keyboards/Dictionaries](basic/installing-custom-packages) +* [Adding Dictionaries](basic/installing-dictionaries) +* [Using the Settings Screen](basic/config/) +* [Using the Keyman Browser](basic/using-keyman-browser) +* [Removing Keyboards](basic/uninstalling-keyboards) +* [Removing Dictionaries](basic/uninstalling-dictionaries) + +## Further Help +For more information on Keyman, [keyman.com](https://keyman.com). + +For more information on Keyman for Android, visit [keyman.com/android](https://keyman.com/android) diff --git a/android/help/start/enabling-system-keyboard.md b/android/help/start/enabling-system-keyboard.md new file mode 100644 index 0000000000..cee8554b59 --- /dev/null +++ b/android/help/start/enabling-system-keyboard.md @@ -0,0 +1,36 @@ +--- +title: How To - Enabling Keyman as a System-Wide Keyboard +--- + +## Enabling System Wide Keyboards +Step 1) +Open the Keyman app and select the menu for additional options. +The screenshots below are of a device running Android 9.0 Pie. + +![](../android_images/settings1-ap.png) + +Step 2) +Select 'Get Started' and then select 'Enable Keyman as system-wide keyboard'. + +![](../android_images/settings2-ap.png) + +This will open an Android settings screen for 'Available virtual keyboard'. + +![](../android_images/settings3-ap.png) + +Step 3) +Enable 'Keyman' as an available virtual keyboard. +This will bring up two confirmation dialogs. + +![](../android_images/settings4-ap.png) + +![](../android_images/settings5-ap.png) + +Select 'OK' on both. Now when the on-screen keyboard appears for apps other than Keyman, +you'll see a keyboard icon at the bottom right. + +![](../android_images/settings6-ap.png) + +Click the keyboard icon whenever you want to change the current system keyboard. + +![](../android_images/settings7-ap.png) diff --git a/android/help/start/index.md b/android/help/start/index.md new file mode 100644 index 0000000000..4787ce9f9b --- /dev/null +++ b/android/help/start/index.md @@ -0,0 +1,6 @@ +--- +title: Getting Started +--- + +* [How To - Download and Install a Keyman Keyboard](installing-keyboards) +* [How To - Enabling Keyman as a System-Wide Keyboard](enabling-system-keyboard) diff --git a/android/help/start/installing-keyboards.md b/android/help/start/installing-keyboards.md new file mode 100644 index 0000000000..f8cf2b2f52 --- /dev/null +++ b/android/help/start/installing-keyboards.md @@ -0,0 +1,55 @@ +--- +title: How To - Download and Install a Keyman Keyboard +--- + +## Adding New Keyboards +To add keyboards, follow these steps: + +Step 1) +Open the menu for additional options. Select 'Settings' + +Step 2) +From the Keyman Settings menu, select 'Installed languages' + +![](../android_images/settings-language-ap.png) + +Step 3) +From the 'Installed languages' menu, touch the **+** +button in the bottom right corner of your screen. + +![](../android_images/plus-a.png) + +Step 4) +A keyboard search page will appear. Type in the search box to look for a keyboard based on: keyboard name, language name, or country. + +To search for a specific BCP 47 language code, use a search `l:id:`. + +In this example, we search for the word "khmer". + +![](../android_images/khmer-search-a.png) + +Select a keyboard to show additional information. Click the green button to install. + +![](../android_images/khmer-install-a.png) + +A notification will appear when the keyboard package is downloading in the background. + +![](../android_images/khmer-downloading-a.png) + +Step 5) +Once the download is complete, you'll see 2 or 3 step process to install the new keyboard package. + +a) Display the readme.htm documentation (if the keyboard includes it). + +![](../android_images/khmer-readme-a.png) + +b) If the keyboard supports multiple languages, select languages to install. When a keyboard package only lists one language (`khmer_angkor` only lists **km: Central Khmer**), +the installer proceeds to the next step. + +c) Display the welcome.htm documentation. + +![](../android_images/khmer-welcome-a.png) + +After the new keyboard is installed, it will become active. + +![](../android_images/dl-success-ap.png) diff --git a/android/help/troubleshooting/grant-storage-permission.md b/android/help/troubleshooting/grant-storage-permission.md new file mode 100644 index 0000000000..a6f04d754a --- /dev/null +++ b/android/help/troubleshooting/grant-storage-permission.md @@ -0,0 +1,16 @@ +--- +title: How To - Granting Storage Permission +--- + +## Granting storage permission +If Keyman for Android is permanently denied storage access, attempts to install custom packages will fail with the +notification "Storage permission request was denied". Perform these steps to grant Keyman for Android access to storage + +Step 1) +Go to Android Settings. + +Step 2) +Depending on your device, click "Apps", "Apps & notifications", or "App permissions" and grant Keyman +storage permission. The screenshot below is from Android 9.0 Pie. + +![](../android_images/keyman-storage-permission-ap.png) \ No newline at end of file diff --git a/android/help/troubleshooting/index.md b/android/help/troubleshooting/index.md new file mode 100644 index 0000000000..474f4f8119 --- /dev/null +++ b/android/help/troubleshooting/index.md @@ -0,0 +1,8 @@ +--- +title: Troubleshooting +--- + +* [How To - Getting Keyboard Help](keyboard-help) +* [How To - Grant Storage Permission](grant-storage-permission) + +* [How To - Integrating Keyman for Android](integrating) diff --git a/android/help/troubleshooting/integrating.md b/android/help/troubleshooting/integrating.md new file mode 100644 index 0000000000..ececc55a07 --- /dev/null +++ b/android/help/troubleshooting/integrating.md @@ -0,0 +1,7 @@ +--- +title: How To - Integrating Keyman for Android +--- + +## Integrate Keyman with your App or Website +If you are interested in learning how Keyman can be integrated into your own app or +website, visit [keyman.com/engine](https://keyman.com/engine) diff --git a/android/help/troubleshooting/keyboard-help.md b/android/help/troubleshooting/keyboard-help.md new file mode 100644 index 0000000000..31146f0372 --- /dev/null +++ b/android/help/troubleshooting/keyboard-help.md @@ -0,0 +1,22 @@ +--- +title: How To - Getting Keyboard Help +--- + +## Accessing Keyboard Help +When a keyboard package is installed, it usually includes help information for using the keyboard. + +Step 1) +Open the keyboard list by touching the globe key. + +![](../android_images/globe-ap.png) + +Step 2) +Touch the info icon for your keyboard. + +![](../android_images/info-a-gray.png) + + +## Accessing Online Keyboard Help +Help documentation for Keyman keyboards is also available at + +[https://help.keyman.com/keyboard/](https://help.keyman.com/keyboard/)