- Home
-
Training Materials
- Keyboards and Fonts
- Linguistics
- Literacy
- Oral Translation
- Others
- Scripture Use
-
Translation
- Scripture Forge
- Adapt-It
- OmegaT Translation Memory Tool
-
Paratext
- Paratext 9 Materials
- Paratext 8 Course Manuals
- Paratext 7.5 Course and Handbook
- Paratext 7.1 Basic Training
-
Paratext Tutorials
- Basic Editing
- Language Source Tools in Paratext 7.6
- View menu tutorial
- Basic introduction to USFMs
- Tips and Tricks
- Introduction to Using Notes
- Cookbook for Consultants
- Menus vary by active project
- Vérifications
- Help! Paratext has stopped working
- Help, send and receive is not working!
- Bible Modules
- Which Paratext Tool When
- Paratext-FLEx Integration Tutorial
- Back Translations and Interlinearizer
- Send-receive and backing up your data
- ParaTExt 8 Test Projects
- New features in Paratext 8
- Voice Marking Tools
- Animated introduction to Paratext and the stages of a translation project
- Setting up a Paratext Project for Success
- Import TXT or Word DOC Files into Paratext Using SILAS
- Illustrations and Maps
- Advanced Unicode handling
- Create a Custom Python Script in the Paratext Menu
- Create a Custom Scripture Check in the Paratext Menu
-
Translator's Workplace
- Adding BdT Menu to Logos 10
- Adding TW Menu to Logos 10
- Logos Bible Software
-
Translator's Workplace Logos Edition
- Logos 8 Get Started Manual
- Opening Logos
- Opening a Resource
- Navigating a Resource
- Reading Multiple Versions
- Basic Search
- Bible Search
- Looking for Bible Facts
- Using the Home Page
- Using the Passage Guide
- Using the Exegetical Guide
- Using the Bible Word Study Guide
- Using the Sermon Starter Guide
- Using the Topic Guide
- Studying English Words Using the Bible Word Study Guide
- Studying Hebrew and Greek Words Using the Bible Word Study Guide
- Prepare a Bible Lesson Using the Sermon Starter Guide
- Look for Information on a Topic Using the Topic Guide
- Saving Your Workspace or Layout
- Arranging the Windows
- Study a Word Using a Reverse Interlinear
- Study a Word Using a Morphology Search
-
Logos edition
- Logos 8 Get Started Manual
- Set up TW Logos for Success
- Quickstart Guide
- Advanced Tips
- Scrolling with other Translation Programs
- Transition from TWFolio
- Troubleshooting
- External Resources
- Low Bandwidth Installation and Updates
- Turn off Logos internet use when visiting a low bandwidth area
- Logos for Beginners Video-based Training
- Translation Workplace - Folio edition
-
Consultant Training
-
Regional Workshops
- Africa Kenya Workshops(LTCT)
- 2021 Africa Virtual Workshop
- 2020 Africa Nairobi
- 2019 Africa Nairobi
- 2018 Africa Nairobi
- 2017 Africa Nairobi
-
2016 Africa Nairobi
- Course Objectives 2016
- Course Schedule 2016
-
Course Program 2016
- HearThis Session 4
- FLEx 8 Lexicon Edit
- FLEX 8 Using text to build lexicon
- LTCT2016 FLEx - Export
- Scripture App Builder Day 1
- LTCT2016 WeSay New Projct
- Create a new project from a FLEX Lift File
- LTCT2016 Wesay Wordlist
- LTCT2016 WeSay Collaboration
- Scripture App Builder Day 1B
- Scripture App Builder Day 1C
- Scripture App Builder Day1D
- Scripture App Builder Day 2A
- Scripture App Builder Day 2A
- Scripture App Builder Day 2B
- Scripture App Builder Day 2C
- Scripture App Builder Day 2D
- Scripture App Builder Day 3A
- Scripture App Builder Day 3B
- Scripture App Builder Day 3C
- Scripture App Builder Day 3D
- LTCT2016 RegExp
- LTCT2016 Paratext1
- Evening Sessions 2016
- Morning Sharing Time 2016
- Responsibilities 2016
- LTCT 2016 Evaluation
- 2015 Africa Nairobi
- 2014 Africa Nairobi
- 2014 Africa Kara, Togo
- 2013 Africa Nairobi
-
2012 Africa Nairobi
- Course Objectives 2012
- Course Program 2012
- LTCT2012 Friday Jan 20
- LTCT2012 Thursday Jan 19
- LTCT2012 Wednesday Jan 18
- LTCT2012 Tuesday Jan 17
- LTCT2012 Monday jan 16
- LTCT2012 Saturday Jan 14
- LTCT2012 Friday Jan 13
- LTCT2012 Thursday Jan 12
- LTCT2012 Wednesday Jan11
- LTCT2012 Tuesday Jan 10
- LTCT 2012 Monday Jan9
- LTCT2012 Evaluation
- Proactive Software Training
- Teaching a Workshop
-
Paratext for Consultants
- 1 Arranging your workspace
- 2 Consultant notes
- 3 Searching and Dictionaries
- 4 Send and receive
- 5 Taking notes during checking
- 6 Keeping track of Biblical term renderings
- 7 Using the Biblical terms tool
- 8 Seeing history and comparing versions
- 9 Understanding the vernacular text
- 10 Spell checking
- Video lessons
- Paratext Supporters
- Digital Publishing
-
Regional Workshops
- Webinars
- Resources
-
»
- 6 Create a Touch Keyboard
Important differences about touch keyboards
In this tutorial, we distinguish between touch keyboards, which are pressed by fingers on a screen, and typing keyboards which involve tapping real keyboard keys.
Touch keyboard layouts must be treated differently than typing keyboards because they are primarily visual keyboards. Typing keyboards are usually learned by the feel of the keys and the use of muscle memory (where a repeated action becomes automatic), which is why sequences of keys are often used to produce a single character. In addition, for many typing keyboards, the user is expected to memorize a series of keystrokes to produce a desired character. For example, when laying out a typing keyboard you might use the following sequence to produce the letter ɓ:
; + b = ɓ
(that is, typing ";" followed by "b" produces "ɓ"). Users must have a typing guide of some sort to remind them, but this combination is quickly learned. The combination might use a deadkey, where the semicolon (the deadkey) produces no visual output on the screen, but typing "b" produces "ɓ". Or the keyboard might display the semicolon when it is typed, then replace it with "ɓ" when "b" is pressed. Typists will master this quickly and throw away the guide. Experienced typists won't need to look at the hardware keys when they type.
On a touch keyboard, however, there is an understanding that WYTIWYG (What you touch is what you get). That means that the letter ɓ ought to be visible somewhere on the keyboard. We’ll look at the options that we have for touch keyboards later in this document.
Plan beyond the touchscreen
You may think that you only want to create a touch keyboard layout and don’t want to bother with setting up a typing keyboard layout. However, the distinction between a computer and a mobile device is becoming less and less all the time. Often a tablet will be paired with a bluetooth keyboard to enable the user to type faster. The minute this happens, your keyboard will not work as expected. Long press features don’t work on the attached keyboard. That is why when you create a keyboard package in Keyman Developer it is always assumed that you will be producing both and bundling them together.
Touch layout
At the top of the touch layout area, you can select "phone" or "tablet". These are represented by iPhone and iPad graphical representations, but they will work on Android as well. You can select vertical or horizontal mode as well.
You have the flexibility to have a different number of rows or columns of keys on the tablet and phone layouts, and so Keyman keeps them separate. If you want the exact same key structure on both, then delete one of the two (either "phone" or "tablet") and complete the other. It is a lot of extra work to maintain two identical layouts. Keyman will automatically use "tablet" if "phone" is not present or "phone" if "tablet" is not present. Only if you want to make the "tablet" and "phone" layouts different, would you want to have both.
On the touch layout tab, we can start handling the additional characters. Remembering that all special characters on a touch keyboard must be visible somewhere, there are at least four options to add them to an existing keyboard. In the case of adding a hooked b to a latin keyboard you could:
- Place the ɓ on an unused key in the underlying keyboard, such as swapping v for ɓ, as v is not used in Fulfulde.
- Place the ɓ on a long-press pop-up so that long-pressing b gives the option to select it.
- Place the ɓ on a different layer that appears when the activating key is pressed. Keyman has some different layer names (based on keyboard modifiers) that are predefined, plus a "numeric" layer, but custom layer names can be added.
- Add a dedicated ɓ key to your keyboard in another row or another column.
Let’s look at each of these more closely to decide.
Swap with unused characters
In Fulfulde, the v, z, x letters are not used. So it may seem like a good idea to swap unused letter for the ones they use. However, in our global information age we must include access to a v even if it is not used frequently. The minute the user tries to pull up Vimeo to watch a video, they will be prevented from typing the URL! But since the v would be used quite infrequently, it would be possible to make the v available on the long-press popup for ɓ.
To swap v for ɓ, open the Keyman character map, and then drag the hooked b to the key.
NB: When dragging from the character map, you can get the character, the code or the name. Right-click on the character, select "Insert Mode" from the menu, and pick one of the choices: "Code" (U+0253), "Character" (ɓ) or "Name" ($LATIN_SMALL_LETTER_B_WITH_HOOK).
After the letter appears on the key, hit enter to save it.
All this does is change the character displayed on the key. You’ll notice that the output is listed in the bottom right corner of the key: K_V which is the virtual key name for V. Note that keys on the touch layout with K_ names will use the behavior of the corresponding key in the .kmn file.
To change the output of the key, we need to look at the options below the keyboard when the key is selected:
<strike< strike="">>- end tiki_plugin >></strike<>
In the code box, we can replace the K_V and reference the Unicode key value: U_0253. Note that it uses the underscore and not the plus symbol. Now, pressing that key would produce the hooked b. Remembering what we said about the danger of making the letter v inaccessible, we would need to add the v back as a long-press key. If you decide this is the best approach, long-press keys are covered next.
Longpress keys
The other approach in this scenario would be to place the hooked variants on longpress popup keys, such that a long press on b would offer the hooked b.
To do this, you would select the "b" key, and press the "Add longpress popup" button below. This opens another row of options below, starting with a new button. You can drag and drop the hooked b to that button and hit Enter.
You’ll notice that the default code output by longpress keys is an automatically generated T variable. That is because Keyman doesn’t try to guess what you are adding here—there are no defined longpress popup keys for your underlying keyboard. You can output the unicode value directly instead: U_0253.
If you wanted to add more longpress keys to this popup, you would click on the green triangle to the left or right to create a new programmable key on either side. To see what this looks like, click on the period key which has 8 more punctuation keys that pop up.
Touch key outputs
There are three types of codes to output from touch keys. Unicode characters, Keycodes, and Variables
Unicode characters
Any Unicode value may be represented by U_xxxx in the code line, but please note that only a single Unicode value may be output. For any output of multiple code points, you will have to use a variable and write a rule. See variable below.
Keycodes
Since you have also created a physical keyboard, you can invoke the same behavior as pressing a physical key by using the Keyman keycode for the code. For example, if your physical keyboard uses the number 1 to add a low tone on a vowel, you just need to put K_1 in the code box. This will perform the same function that the physical keyboard does when pressing the 1 key after a vowel.
Variables
The T variables are used in the coding section, for writing rules. These are always required when trying to output more than one character in the output. For example, the code can contain U_025B to output a single character ɛ, but can't contain U_025B U_0301 to output a composed character ɛ́. You would have to make a rule T_open_e_acute and then include this rule in the code:
+[T_open_e_acute] > U+025B U+0301
Additional layers
Touch keyboards have different layers. The most obvious is produced by the shift key, which when pressed, changes the characters produced by all the keys. But mobile keyboards also tend to have a number key layer. Some have a layer of symbols too. If you want, Keyman will allow you to create your own custom layer which can be produced by pressing a designated key of your choice. We won’t take the time to do that now, but we will show you how to work in another layer.
The hooked b also has an uppercase version. This needs to be added after you switch the keyboard to the shift layer. At the top of the window is the Layer selector:
<strike< strike="">>- end tiki_plugin >></strike<>
Once the shift layer is selected, you can now edit the shifted keys, and may add a longpress popup key to the uppercase B like shown here:
<strike< strike="">>- end tiki_plugin <strike< strike="">>></strike<></strike<>
The Next Layer select box tells the keyboard whether you want to change layers after pressing the key. By default, it is set to (none). If you leave it set to (none), when you type the capital hooked B the keyboard will remain on the shift layer and the next letter typed will also be a capital.
On most phones using Roman scripts, when you press shift and type a letter, the shift state then goes back to lowercase. If you want to have similar functionality on your keyboard, you need to set the Next Layer field to "default" (that is, the lowercase layer) for all the keys on the shift layer.
Squeeze in another key
If you are designing a tablet-sized keyboard, you can squeeze extra characters in. On a phone-sized keyboard, you could also do this, but then increase the chance of users missing the keys because they are so small. Using the green triangles next to any selected key, you can add extra characters. This is what our keyboard would look like if we just added extra keys for 3 of our 5 special characters:
<strike< strike="">>- end tiki_plugin >></strike<>
It just so happens that adding the hooked y, d, and b to each row was consistent. To add the ŋ and the ɲ, we can place them on a longpress n.
How Longpress Keys are Shown
Even when no keys are selected in the keyboard layout, I can still see which ones have longpress popups, because Keyman Developer shows a faint gray line across the top right corner of the key. So you should have a faint diagonal line on your y, d, b, and n keys.
<strike< strike="">>- end tiki_plugin --></strike<>