Git Product home page Git Product logo

help.keyman.com's People

Contributors

andjc avatar darcywong00 avatar davidlrowe avatar dependabot[bot] avatar eddieantonio avatar ermshiperete avatar inkeysoftware avatar jahorton avatar jeffheath-sil avatar keyman-server avatar keyman-status avatar kimleangkheng avatar lornasil avatar makarasok avatar mcdurdin avatar meng-heng avatar narvey avatar nnyny avatar rc-swag avatar rmlockwood avatar sabinesil avatar sewhite avatar sgschantz avatar soysreyvy avatar tim-eves avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

help.keyman.com's Issues

Document precedence of nextlayer (touch-layouts) vs. layer() (kmn)

The nextlayer declaration in touch layouts overrides the layer() command in kmn files.

This should be documented here:


This is (at least partially) a keyboard coding/design error. From the .touch_layout file:

              {
                "id": "K_BKSP",
                "text": "*BkSp*",
                "sp": "1",
                "nextlayer": "default"
              }

This block appears quite a number of times, including for the default layer. Interestingly, this does not appear in the numeric layer. The BKSP from the numeric layer still works properly as a result.

About touch-layout vs. kmn precedence, I think the existing behavior is fine (touch-layout overrides kmn), however, this must be documented somewhere. So let's call it a documentation bug 😅

Originally posted by @eddieantonio in keymanapp/keyman#2349 (comment)

feat: use new history files for 14.0+ history

History will be now stored in https://downloads.keyman.com/history/HISTORY.md. Just the one file. The format of the file, is approximately:

# Keyman Version History

## <version> <tier> <yyyy-mm-dd>
<type>[(<scope>[/<sub-scope>)]: title [(#<prnum>)]

For example:

# Keyman Version History

## 14.0.4 alpha 2020-02-03

chore(ci): trigger builds after version increment (#2572)

We need to parse this for presenting history to users for version 14.0 and later. A single history view covering all platforms is appropriate -- sort the entries by scope to make it easier to read.

Tidy-up work on links

Four things we can tidy up.

  • Remove .php extension from local links. There are thousands of links that need work here so sensible regex or script will be needed. Note: a regex can get a little hairy due to quote differences (' vs "), anchors (e.g. #foo), non-local links (starting with http:), whitespace.
  • Change http -> https where possible in links. Required for keyman sites, probably good for others.
  • Remove target="_blank" from links. Particularly for internal links.
  • Remove http[s]://help.keyman.com/ prefix from links. Be aware that some of this content may be repurposed (e.g. /products/android content) so we may need absolute links in those areas.

Write up basic document on how to make minor changes to a help page

It would be good to have a "how to contribute" document on the help site that goes through the step-by-step process of submitting a PR via the online editor in GitHub.

Alternatively, research the concept of an "Edit" button at the bottom of the screen -- near the feedback button -- that pops a HTML/MD editor and automatically submits a PR on the resultant edit. There are probably tools to do this.

Lexical model documentation TODOs

I've copied from an earlier comment the outstanding TODO items:

  • I'll write documentation about how to run the lexical model compiler
  • I'll move the "advanced model configuration" to somewhere that is NOT the tutorial, as that assumes people know how to write TypeScript code :/

And from this comment:

Originally posted by @mcdurdin in #32 (comment)

[help.keyman.com] Hide deprecated keyboards from /keyboard index

From keymanapp/keyboards#252:

@LornaSIL writes:

I would recommend that we remove deprecated keyboard help files from this page: http://https//help.keyman.com/keyboard/. The page is already a bit unwieldy and will get worse as we keep adding newer keyboards. The main (deprecated) keyboard page itself will still link to the deprecated help page.

@mcdurdin responds:

To remove the deprecated items from the main index (or have them under a secondary index so that they can still be easily crawled if necessary), we'll need to do some work on help.keyman.com.

[help.keyman.com] Developer - mobile keycap documentation request

A note from the Keyman Consultation Training workshop:

From @sewhite: "put that summary of why changing the keycap for mobile does not change the key's output in the developer documentation"

  • it'd be nice to have an option to import the keycap and turn that into the key's representation code. (U_xxxx )

Document how to transition from KMFL to Keyman for Linux

From developer discussion on packaging KMFL vs Keyman for Linux with 20.04 LTS

Question raised: Are current KMFL users expected to easily migrate to Linux Keyman, or is that not super smooth and people would be easily expected to continue using KMFL for a while?

Given there's current feedback from users that still use KMFL with their .kmn keyboards

@mcdurdin writes

It might be good to document the transition process from KMFL to Keyman - keyboards, setup and more

Some possible steps:

  1. Use kmcomp to compile .kmn to .kmx
  2. Use a TBD script to generate a bare .kps package source file (XML) containing the .kmx file.

Considerations:
How to search for .kmn files (user home or system directories?)

Document fallback behaviour of language tags

In the original design, Keyman was supposed to fall back to shorter tags when searching for an appropriate model, e.g. en-AU would be searched first, then en. This meant that a US English model should have en-US and en BCP-47 tags assigned. Or, tpi-Latn-PG -> tpi-Latn -> tpi-PG -> tpi (i.e. script has heavier weight than region in search). That level of detail probably doesn't belong on this page but does belong somewhere in the docs.

I'm not sure we ever implemented this? If not, please turn this into an issue :)

Originally posted by @mcdurdin in #44

You, got it, Marc ;)

Edit Page link doesn't show on android devices

Via email:

Ah, I see the links on the desktop browser on Windows. I've been doing a
lot of reading using my Android device and the Support and Edit page
links don't show up in Firefox or Chrome even when "Request desktop
site" or "Desktop site" is checked.

Marc wrote:

Note that you can also edit the page yourself by clicking the Edit
Page link at the bottom of the page, especially for small things like
this; it just needs to be approved by someone on the team and then it
merges in automatically.

[help.keyman.com] Container issue for a bunch of Keyman Developer documentation issues

from @mcdurdin

This is a collection of known documentation gaps in Keyman Developer, collected from a variety of locations. When the time is ripe, they can be split out into separate issues as needed.

  • Update content to use <kbd> and <samp> elements. This way we get nice formatting for keys and sample text
  • Remove class="xref", class=”link”, from <a> and type=”disc” from ul elements
  • Analyse all headers in reference documentation for consistency (Inconsistent use of <h1>, <h2> etc. Also content within headers in Reference sections is inconsistent.)
  • Add a banner to 6.0, 7.0, 8.0 docs to note that they are old. If possible, include a link to latest version of doc.
  • Make this search engine aware, with meta to indicate old content. So search engines prioritise the latest content?
  • Package tutorial needs rewrite with regard to Keyman Cloud keyboard repository; to encourage good design…
  • Rewrite 8.0 keyboard developer guide
  • The keyboard metadata .json file format needs a reference page in /developer/somewhere/
  • kmw_embedcss needs docs on css rules that are sensible to use
  • kmw_embedjs needs docs on js API and guide on interacting with KMW (mobile, embedded, desktop)
  • Document deep linking keyman: protocol for all Keyman Engine platforms (also see sillsdev/keyman#52)

from @DavidLRowe
(1) On the page: http://help.keyman.com/developer/9.0/guides/develop/tutorial/step-7, there's a very minor change to the French text:

'Alors Alice demanda, "O est ma chatte?"'

I think O should be Où (and Ö should be Öù in the later line).

(2) On the page: http://help.keyman.com/developer/9.0/guides/develop/advanced-keyboard-development-example

Specifying "(such as Gentium)" could be a minor problem, since the original Gentium font isn't readily available. One is more likely to find "Gentium Basic" or "Gentium Plus". An alternative would be Doulos SIL or Charis SIL.

[help.keyman.com] Missing context help topics for Keyman Developer 10

  SHelpTopic_Context_CharacterIdentifier := 'context/character-identifier'; 
  SHelpTopic_Context_DownloadProgress := 'context/download-progress'; 
  SHelpTopic_Context_Help := 'context/help'; 
  SHelpTopic_Context_KeyboardFonts := 'context/keyboard-fonts'; 
  SHelpTopic_Context_MustIncludeDebug := 'context/must-include-debug'; 
  SHelpTopic_Context_NewFileDetails := 'context/new-file-details'; 
  SHelpTopic_Context_SelectSystemKeyboard := 'context/select-system-keyboard'; 
  SHelpTopic_Context_SelectWindowsLanguages := 'context/select-windows-languages'; 

[help.keyman.com] Need to document how to pick a good language tag and the caveats around platform support

From @andjc:

A few questions re what form of language tag to use and where to use it

  1. Should it just be the bcp47 language subtag? Or should script subtag be always included if no suppress script field in bcp47 registry?

  2. Should country/region subtag be included?

I guess to associate a keyboard with an input locale in Keyman and Windows it is necessary as a min to have lang_subtag-script_subtag although I guess that country/region may be relevant as well. Not sure how the new input loacle related mechanisms interact with other aspects of locales on win10

  1. also what is best pracatice wrt to input locales and RTL scripts on windows. Should Biblical Hebrew be associated with biblical hebrew or modern hebrew input locales?

  2. and if you have more than one language tag, how do you specify which language tag to associate keyboard with?

  3. also do we add full language tag to keyboard_info file or just the kps?

@mcdurdin wrote:
I think the pattern we are going with is:

  1. Always include script if no suppress-script given.

  2. Include region only if it is necessary to disambiguate (e.g. Tigrigna Eritrea vs Tigrigna Ethiopia needs -ER or -ET but Tok Pisin doesn't need -PG). Keyman Developer now helps with this as does the Keyman Desktop keyboard installation UI, but there is still a gap for pre-existing keyboards (see https://trello.com/c/aa7WIeP2/742-windows-if-a-keyboard-is-installed-with-an-incomplete-language-tag-eg-no-script-tag-then-use-the-same-global-data-we-use-in-the for the work item I just created) .

  3. Biblical Hebrew should be associated with Ancient Hebrew language, and Hebrew script. That should allow for RTL identification in a sane world. We may need to experiment.

  4. Pick the biggest / most relevant language as the first language in the list. Keyman Desktop will offer the alternatives as priority options after installation.

  5. The .keyboard_info and .kps language tags are allowed to diverge. Ideally, we won't do that, but in some situations, e.g. IPA (und-fonipa in .keyboard_info, und-Latn(?) in .kps) we are forced to do that for nasty compatibility reasons.


(edit to include #47)
@mcdurdin wrote:
In the original design, Keyman was supposed to fall back to shorter tags when searching for an appropriate [lexical] model, e.g. en-AU would be searched first, then en. This meant that a US English model should have en-US and en BCP-47 tags assigned. Or, tpi-Latn-PG -> tpi-Latn -> tpi-PG -> tpi (i.e. script has heavier weight than region in search). That level of detail probably doesn't belong on this page but does belong somewhere in the docs.

[KeymanHelp] Is keymanweb.com version number correct?

Describe the bug
From the drop down menu of Product Support on help.keyman.com when clicking on Keymanweb.com, the return URL is: https://help.keyman.com/products/web/11.0/.

2019-11-07

Should the version number be 12.0?

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'help.keyman.com' page
  2. Hover on "Product Support"
  3. Click on 'Keymanweb.com'
  4. See error

Expected behavior
The version number needs to be bumped to 12.0?
The return URL should be https://help.keyman.com/products/web/12.0/.

[Developer] New Project | Basic dialog unclear about new project folder location

I used the new feature of Developer 11 (Project | New Project | Basic) to create a "test1" keyboard. When I saw it wanted to save a test1.kpj file, I created a test1 folder to put it in. But when I went to save the project, I was warned that folder test1 existed (that is, the empty one I had just created) and did I want to overwrite it. I said Yes and everything was fine.

I tried again with "test2" and pointed Developer at a sandbox folder so I could see what it would do. I got this mildly unhelpful message:

image

which didn't tell me whether it was going to make sandbox\test2\test2.kpj or sandbox\test2.kpj.

In faith, I clicked OK and got here:

image

where I could scroll the Path field to the end. But that still leaves me wondering whether Developer will make a "test2" folder in "sandbox" or not. (It does.)

So now I'm thinking that the "Keyboard Name" is the Human readable name, and the "Keyboard ID" is the folder name, project name, etc. I see that putting an upper case letter or hyphen in the "Keyboard ID" field causes the OK button to grey out, whereas I can type upper case letters or hyphen in the "Keyboard Name" field.

BCP 47 Updates on the website

Reference

https://docs.google.com/document/d/1nQi65m2i9DrAmwG_ahdYtn5JcWYTwI_kJoSLeK2nPAs/edit#heading=h.gql9ftadtdao

TODOs

Keymanweb 10.0 TODOs

Include Touch Layout GUI Guide in Keyman Developer Context Help

I had quite a difficult time finding a guide for developing a simple Touch Layout. I was directed to this link, which makes it very clear: https://help.keyman.com/developer/11.0/guides/develop/touch-keyboard-tutorial/making-touch-keyboard. Here's the original discussion about this: https://community.software.sil.org/t/multiple-longpress-options/2048/6

It would be helpful to have this information included in 2 places:

Here: https://help.keyman.com/developer/11.0/context/keyboard-editor#toc-touch-layout-tab

Also, in the Context Help area in Keyman Developer:

Please see https://drive.google.com/file/d/1DiXm3coYDmCOdP2aaLHEvzcJeO-S3kgb/view?usp=sharing for a screenshot. I couldn't get the image upload to work because of internet issues.

I think that especially having it in the Context Help area in Keyman Developer would help newer people to create simple keyboards without much trouble.

Thank you,

James

Keyboard renderer does not currently load webfonts as specified in .keyboard_info

The keyboard renderer should use the information provided in the .keyboard_info to present osk.

For example, see https://help.keyman.com/keyboard/newa_traditional/1.0/newa_traditional. The web font is available on s.keyman.com.

This issue was blocked by the keyboard using a .otf. Keyman 13.0.101 adds support for .otf extension but the help site is currently using 10.0.103 (!) and updating to 13.0.101 breaks the site in other ways.

This may be accomplished by using the KeymanWeb API's in a more appropriate manner or by consuming the data directly from api.keyman.com -- will defer to @jahorton.

Depends on keymanapp/keyman#2784, keymanapp/keyman#2818.

Need documentation on sharing keyboards

Now that we have QR Codes in Keyman Desktop and Keyman for Mac, and hopefully soon on other platforms as well, it would be good to have a master help page on sharing keyboards cross-device. Each relevant platform needs context help update as well of course, but the context help should also link to the master page for more info.

Link to keyboards repository for examples

Matthew says:

The docs are great for individual questions, the touch keyboard walkthroughs were great, just hard to find complete examples without grepping the repository.

Marc says:

Yes. We could make good use of the repo now for examples.

Suggested by @MattGyverLee

"Using keys" in KMN documentation?

A user pointed out that the keywords "using keys" is not described anywhere in the language guide or the language reference. I searched for it too and didn't find it. It should be there.

Add Linux support details to support grids for Developer language reference

The platform support grids in the Developer language reference do not include Keyman for Linux. This should be added.

While you are at it...

Platform support anomalies

  • mnemonic layout support is currently incorrect for Mac. While mnemonic keyboards work on Mac, you cannot select a different base keyboard.

  • If statement support is also incomplete as the options form is not supported on mac (or Linux).

[help.keyman.com] K_LOPT and K_ROPT are not documented in developer help

See https://community.software.sil.org/t/special-keys-in-keyman-touch-layout/1715

There are only two special keys:

K_LOPT shows the keyboard menu or switches keyboards
K_ROPT dismisses/hides the keyboard
The K_LOPT keyboard has slightly different semantics on iOS and Android. On iOS, a touch will swap to the next keyboard, and longpress will bring up a menu. On Android, touching the key will open the keyboard menu. In Keyman 11 on Android, the menu has an additional option to switch to a non-Keyman keyboard (missing in version 10). Longpress does not currently have a meaning on this key on Android.

This needs to be documented at https://help.keyman.com/developer/language/guide/virtual-keys and https://help.keyman.com/developer/11.0/guides/develop/creating-a-touch-keyboard-layout-for-amharic-the-nitty-gritty

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.