In the past it’s been hard to type Nigerian languages correctly on systems, tablets and handsets but no more. Here’s a free keyboard you can install on all your devices to make it really easy to type hooked letters, special vowels, letters with accents, underlines and underdots and more. Naija Type: An Android Keyboard for typing many Nigerian languages.
Download the Android App
Or find Naija Type on Google Play (updates may lag a few days).
Experimental new editions:
Please test to see if it works for you. For some reason the long-press popup keys don’t popup on my phone.
Other downloads: iOS, Windows, Mac
Dictionaries (Optional):
For predictive completion of text:
Zipped versions:
Install Keyman on Windows or Mac, Android or iPhone/iPad
Then on Mac, Android and iOS download the NaijaType kmp file and use Keyman to install the keyboard.
On a touch device, add the dictionary files you want from above.
How to type
On touch devices (tablets, phones) get special letters by holding down a long time on a key then slide over to the symbol you want (don’t lift your finger). The q key contains some combining characters to go above or below whatever you previously typed. The full stop/period key contains lots of punctuation.
On desktop/laptop type a letter similar to what you want and then type the semicolon key to change its shape. Keep pressing semicolon for more options. Add marks above vowels and some consonants by typing the top left key (`) in a similar way, and add a ~ over a letter by typing the base letter first then typing shift-~.
If you actually want to type a semicolon, back tick or tilde, hold down the alt key as you type those keys.
Built with KeyMan and Keyboard App Builder.
Rota
Basic | a | e | i | o | u | b | c | d | g | h | k | n | s | v | y | z | $ | q | m | ! | ‘ | ? |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1st ; | ə | ɛ | ɨ | ɔ | ʊ | ɓ | ç | ɗ | ɣ | ɦ | ƙ | ŋ | ʃ | ⱱ | ƴ | ʒ | ₦ | ¡ | ꞌ | ¿ | ||
2nd ; | a̱ | e̱ | ɪ | o̱ | ʉ | ẖ | ɲ | s̱ | £ | Ꞌ | ˈ | |||||||||||
3rd ; | ạ | ẹ | i̱ | ọ | u̱ | ḥ | ṉ | ṣ | € | ʔ | ||||||||||||
4th ; | ị | ụ | ṇ | ₵ |
No matter what order you type diacritics and change the shape NaijaType doesn’t use any precomposed forms and the components of NaijaType are always output as NFD, with underdot or underline then tilde (0303) then any other accents (030x). It is my understanding that software such as Paratext is free to renormalise the Unicode into NFD if wished, but that Paratext doesn’t change the normalisation. So it is important before using NaijaType with Paratext that you check your character inventory and make sure you know whether Paratext is using precomposed characters or sequences of combining characters. NaijaType will only work for the latter.
char | Unicode | Unicode Name | |
---|---|---|---|
1 | a | 0061 | LATIN SMALL LETTER A |
2 | ə | 0259 | LATIN SMALL LETTER SCHWA |
3 | e | 0065 | LATIN SMALL LETTER E |
4 | ɛ | 025B | LATIN SMALL LETTER OPEN E |
5 | i | 0069 | LATIN SMALL LETTER I |
6 | ɨ | 0268 | LATIN SMALL LETTER I WITH STROKE |
7 | ɪ | 026A | LATIN LETTER SMALL CAPITAL I |
8 | o | 006F | LATIN SMALL LETTER O |
9 | ɔ | 0254 | LATIN SMALL LETTER OPEN O |
10 | u | 0075 | LATIN SMALL LETTER U |
11 | ʊ | 028A | LATIN SMALL LETTER UPSILON |
12 | ʉ | 0289 | LATIN SMALL LETTER U BAR |
13 | b | 0062 | LATIN SMALL LETTER B |
14 | ɓ | 0253 | LATIN SMALL LETTER B WITH HOOK |
15 | c | 0063 | LATIN SMALL LETTER C |
16 | ç | 00E7 | LATIN SMALL LETTER C WITH CEDILLA |
17 | d | 0064 | LATIN SMALL LETTER D |
18 | ɗ | 0257 | LATIN SMALL LETTER D WITH HOOK |
19 | g | 0067 | LATIN SMALL LETTER G |
20 | ɣ | 0263 | LATIN SMALL LETTER GAMMA |
21 | h | 0068 | LATIN SMALL LETTER H |
22 | ɦ | 0266 | LATIN SMALL LETTER H WITH HOOK |
23 | k | 006B | LATIN SMALL LETTER K |
24 | ƙ | 0199 | LATIN SMALL LETTER K WITH HOOK |
25 | n | 006E | LATIN SMALL LETTER N |
26 | ŋ | 014B | LATIN SMALL LETTER ENG |
27 | ɲ | 0272 | LATIN SMALL LETTER N WITH LEFT HOOK |
28 | s | 0073 | LATIN SMALL LETTER S |
29 | ʃ | 0283 | LATIN SMALL LETTER ESH |
30 | v | 0076 | LATIN SMALL LETTER V |
31 | ⱱ | 2C71 | LATIN SMALL LETTER V WITH RIGHT HOOK |
32 | y | 0079 | LATIN SMALL LETTER Y |
33 | ƴ | 01B4 | LATIN SMALL LETTER Y WITH HOOK |
34 | z | 007A | LATIN SMALL LETTER Z |
35 | ʒ | 0292 | LATIN SMALL LETTER EZH |
36 | $ | 0024 | DOLLAR SIGN |
37 | ₦ | 20A6 | NAIRA SIGN |
38 | £ | 00A3 | POUND SIGN |
39 | € | 20AC | EURO SIGN |
40 | ₵ | 20B5 | CEDI SIGN |
41 | q | 0071 | LATIN SMALL LETTER Q |
42 | m | 006D | LATIN SMALL LETTER M |
43 | ! | 0021 | EXCLAMATION MARK |
44 | ¡ | 00A1 | INVERTED EXCLAMATION MARK |
45 | ‘ | 0027 | APOSTROPHE |
46 | ꞌ | A78C | LATIN SMALL LETTER SALTILLO |
47 | Ꞌ | A78B | LATIN CAPITAL LETTER SALTILLO |
48 | ? | 003F | QUESTION MARK |
49 | ¿ | 00BF | INVERTED QUESTION MARK |
50 | ˈ | 02C8 | MODIFIER LETTER VERTICAL LINE |
51 | ʔ | 0294 | LATIN LETTER GLOTTAL STOP |
52 | ‘ | 2018 | LEFT SINGLE QUOTATION MARK |
53 | ꞌ | A78C | LATIN SMALL LETTER SALTILLO |
54 | ’ | 2019 | RIGHT SINGLE QUOTATION MARK |
55 | ꞌ | A78C | LATIN SMALL LETTER SALTILLO |
56 | “ | 201C | LEFT DOUBLE QUOTATION MARK |
57 | Ꞌ | A78B | LATIN CAPITAL LETTER SALTILLO |
58 | ” | 201D | RIGHT DOUBLE QUOTATION MARK |
59 | Ꞌ | A78B | LATIN CAPITAL LETTER SALTILLO |
60 | A | 0041 | LATIN CAPITAL LETTER A |
61 | Ə | 018F | LATIN CAPITAL LETTER SCHWA |
62 | E | 0045 | LATIN CAPITAL LETTER E |
63 | Ɛ | 0190 | LATIN CAPITAL LETTER OPEN E |
64 | I | 0049 | LATIN CAPITAL LETTER I |
65 | Ɨ | 0197 | LATIN CAPITAL LETTER I WITH STROKE |
66 | Ɨ | 0197 | LATIN CAPITAL LETTER I WITH STROKE |
67 | O | 004F | LATIN CAPITAL LETTER O |
68 | Ɔ | 0186 | LATIN CAPITAL LETTER OPEN O |
69 | U | 0055 | LATIN CAPITAL LETTER U |
70 | Ʊ | 01B1 | LATIN CAPITAL LETTER UPSILON |
71 | Ʉ | 0244 | LATIN CAPITAL LETTER U BAR |
72 | B | 0042 | LATIN CAPITAL LETTER B |
73 | Ɓ | 0181 | LATIN CAPITAL LETTER B WITH HOOK |
74 | C | 0043 | LATIN CAPITAL LETTER C |
75 | Ç | 00C7 | LATIN CAPITAL LETTER C WITH CEDILLA |
76 | D | 0044 | LATIN CAPITAL LETTER D |
77 | Ɗ | 018A | LATIN CAPITAL LETTER D WITH HOOK |
78 | G | 0047 | LATIN CAPITAL LETTER G |
79 | Ɣ | 0194 | LATIN CAPITAL LETTER GAMMA |
80 | H | 0048 | LATIN CAPITAL LETTER H |
81 | Ɦ | A7AA | LATIN CAPITAL LETTER H WITH HOOK |
82 | K | 004B | LATIN CAPITAL LETTER K |
83 | Ƙ | 0198 | LATIN CAPITAL LETTER K WITH HOOK |
84 | N | 004E | LATIN CAPITAL LETTER N |
85 | Ŋ | 014A | LATIN CAPITAL LETTER ENG |
86 | Ɲ | 019D | LATIN CAPITAL LETTER N WITH LEFT HOOK |
87 | S | 0053 | LATIN CAPITAL LETTER S |
88 | Ʃ | 01A9 | LATIN CAPITAL LETTER ESH |
89 | V | 0056 | LATIN CAPITAL LETTER V |
90 | Ʋ | 01B2 | LATIN CAPITAL LETTER V WITH HOOK |
91 | Y | 0059 | LATIN CAPITAL LETTER Y |
92 | Ƴ | 01B3 | LATIN CAPITAL LETTER Y WITH HOOK |
93 | Z | 005A | LATIN CAPITAL LETTER Z |
94 | Ʒ | 01B7 | LATIN CAPITAL LETTER EZH |
95 | $ | 0024 | DOLLAR SIGN |
96 | ₦ | 20A6 | NAIRA SIGN |
97 | £ | 00A3 | POUND SIGN |
98 | € | 20AC | EURO SIGN |
99 | ₵ | 20B5 | CEDI SIGN |
100 | Q | 0051 | LATIN CAPITAL LETTER Q |
101 | M | 004D | LATIN CAPITAL LETTER M |
102 | ! | 0021 | EXCLAMATION MARK |
103 | ¡ | 00A1 | INVERTED EXCLAMATION MARK |
104 | ‘ | 0027 | APOSTROPHE |
105 | ꞌ | A78C | LATIN SMALL LETTER SALTILLO |
106 | Ꞌ | A78B | LATIN CAPITAL LETTER SALTILLO |
107 | ? | 003F | QUESTION MARK |
108 | ¿ | 00BF | INVERTED QUESTION MARK |
109 | ˈ | 02C8 | MODIFIER LETTER VERTICAL LINE |
110 | ʔ | 0294 | LATIN LETTER GLOTTAL STOP |
111 | ‘ | 2018 | LEFT SINGLE QUOTATION MARK |
112 | ꞌ | A78C | LATIN SMALL LETTER SALTILLO |
113 | ’ | 2019 | RIGHT SINGLE QUOTATION MARK |
114 | ꞌ | A78C | LATIN SMALL LETTER SALTILLO |
115 | “ | 201C | LEFT DOUBLE QUOTATION MARK |
116 | Ꞌ | A78B | LATIN CAPITAL LETTER SALTILLO |
117 | ” | 201D | RIGHT DOUBLE QUOTATION MARK |
118 | Ꞌ | A78B | LATIN CAPITAL LETTER SALTILLO |
119 | ́ | 0301 | COMBINING ACUTE ACCENT |
120 | ̀ | 0300 | COMBINING GRAVE ACCENT |
121 | ̂ | 0302 | COMBINING CIRCUMFLEX ACCENT |
122 | ̌ | 030C | COMBINING CARON |
123 | ̄ | 0304 | COMBINING MACRON |
124 | ̱ | 0331 | COMBINING MACRON BELOW |
125 | ̣ | 0323 | COMBINING DOT BELOW |
126 | ̃ | 0303 | COMBINING TILDE |
127 | #N/A | ||
128 | ᴀ | 1D00 | LATIN LETTER SMALL CAPITAL A |
129 | ʙ | 0299 | LATIN LETTER SMALL CAPITAL B |
130 | ᴄ | 1D04 | LATIN LETTER SMALL CAPITAL C |
131 | ᴅ | 1D05 | LATIN LETTER SMALL CAPITAL D |
132 | ᴇ | 1D07 | LATIN LETTER SMALL CAPITAL E |
133 | ꜰ | A730 | LATIN LETTER SMALL CAPITAL F |
134 | ɢ | 0262 | LATIN LETTER SMALL CAPITAL G |
135 | ʜ | 029C | LATIN LETTER SMALL CAPITAL H |
136 | ɪ | 026A | LATIN LETTER SMALL CAPITAL I |
137 | ᴊ | 1D0A | LATIN LETTER SMALL CAPITAL J |
138 | ᴋ | 1D0B | LATIN LETTER SMALL CAPITAL K |
139 | ʟ | 029F | LATIN LETTER SMALL CAPITAL L |
140 | ᴍ | 1D0D | LATIN LETTER SMALL CAPITAL M |
141 | ɴ | 0274 | LATIN LETTER SMALL CAPITAL N |
142 | ᴏ | 1D0F | LATIN LETTER SMALL CAPITAL O |
143 | ᴘ | 1D18 | LATIN LETTER SMALL CAPITAL P |
144 | ꞯ | A7AF | LATIN LETTER SMALL CAPITAL Q |
145 | ʀ | 0280 | LATIN LETTER SMALL CAPITAL R |
146 | ꜱ | A731 | LATIN LETTER SMALL CAPITAL S |
147 | ᴛ | 1D1B | LATIN LETTER SMALL CAPITAL T |
148 | ᴜ | 1D1C | LATIN LETTER SMALL CAPITAL U |
149 | ᴠ | 1D20 | LATIN LETTER SMALL CAPITAL V |
150 | ᴡ | 1D21 | LATIN LETTER SMALL CAPITAL W |
151 | ʏ | 028F | LATIN LETTER SMALL CAPITAL Y |
152 | ᴢ | 1D22 | LATIN LETTER SMALL CAPITAL Z |
Get in touch
I can’t guarantee a response, but if you have observations and suggestions please write to me at naijatype@m.rowbory.co.uk. If I don’t respond, write again. Or attract my attention on Twitter.
If you would like to contribute a word list for spelling assistance in another Nigerian language, please send it to me as a plain text file, with correctly-spelled words separated by spaces or newlines.
Could someone help me explain this helpfully in Hausa or Yòrúbà? I’m not meaning a direct translation from the English here but think through how you would help explain to a Hausa reader what to do. Get in touch if you have ideas.
Known issues
- Some Google Play screenshots are outdated.
- The @ key isn’t as accessible as you might like when typing email addresses, but needs a long press or to enter the symbol layer.
- Ishɛ spelling is incomplete and somewhat outdated as the orthography (writing rules) are evolving.
Fixed issues
- When upgrading a keyboard sometimes it seems the new languages don’t show predictive text; I don’t know why. Try removing Keyman and reinstalling. I think this is fixed. Please tell me if it isn’t working: Hausa, English, Fulfulde, Duya, Ishɛ, Nyankpa, Pangu all should have dictionaries that work.
- Before 2020, Typing and predictive text in the App gets slower and slower for longer documents. Keyman 14.0.277 fixed the issue and version 1.8.3+ of the App included it.
- Large languages like English have a 20-25s pause while the lexical model is loaded for predictive text.
- Due to this bug/unfortunate Keyman behaviour, the letters on the keyboard may appear too big if your phone’s system font size is set too large. Sorry if this affects you; again I have to wait for the wonderful Keyman people to help fix that.
Alternatives?
If you find Keyman doesn’t work for some reason, try this InKey installation:
- Decompress it.
- Put the folder on your desktop or a flash drive.
- Open the folder.
- Look for the InKey application (inkey.exe) file and run that.
- Double-tap control key to activate and switch keyboards.
- Type in a similar way to Naija Type. But you have to switch between 3 different keyboards.
Ideas for future development
- Suggest or supply apostrophes automatically in English and Hausa?
- Make English capitalise suggested words where appropriate.
Release notes
- v 49 (1.9.10) – Windows – kmp
- Supports Yala diacritics. (eg ō o̍)
- Built with KAB 10.1. Tried to correct the fatal keyboard error problem that came with KAB 3.3-built keyboards. Reported by 2 people to work.
- Desktop keyboard v 46
- For desktop. Saltillo (glottal) improvements, works even with Word’s autocurling options for apostrophe. Small caps mode now includes obscure smallcap Q. Bundled docs improved.
- Still waiting for KAB 10.x fix for the bug that prevents the app from working.
- Compensate for Word etc autocurling the apostrophe into U+2018 or U+2019 by having a starting rota for those that ends in Saltillo.
- v 45
- ? gives vertical line, ‘ gives saltillo only, so we can teach different solutions.
- v 44
- Added saltillo and modifier letter vertical bar as well as upside down question mark and exclamation mark to rotas for ‘ ? !
- v 43
- Built with a new generator ods file for all the most crucial stores.
- v 42
- Added small caps Q and Z (supported by 2022 Andika and Gentium fonts) and updated the character generating ods file to also show unicode names.
- v 41
- Moved Naira left and stay on numeric layer, joined Hash inside it, and added space bar. Reduced unnecessary longpress items. Added more currency symbols in numeric layer. Added s underdot in touch. Added Tugbiri, Kanuri, Igala languages. Small caps mode not turned off on hyphen or space any more.
- 1.9.9 (v 40)
- Android app rebuilt with KAB 3.3 to correct a build error with KAB 10.0.1
- Small caps support now works on Windows Keyman 15.0.269+ which is included in the combined installer.
- Case support improved with Keyman 15 features and compatibility mode for older Keyman.
- Saltillo added for desktop (double apostrophe, caps with shift double apostrophe).
- Now targeting Android 5.0 (API 21+) because older Android just doesn’t work.
- Touch spacebar shows useful language names.
- Added lots more Nigerian languages which I think should be supported by NaijaType, though most don’t have dictionaries.
- 1.9.7 (v 37/38)
- Attempting to target 4.1 (API 16+) and up to cope with lesser phones.
- Improved keyboard layout.
- Improved documentation (welcome page).
- Experimental small caps mode (double =).
- Experimental different numeric keyboard layout.
- 1.9.6 (v 36)
- Built with KAB 10. Targetting Android 5.0 (API 21)
- 1.9.5 (v 35)
- Built with KAB 3.3 (Android app: Stability improvements)
- 1.9.4 (v 34)
- Updated documentation and new version of KAB to avoid runtime errors about keyboards.
- 1.9.3 (v 32)
- Display bug fix for Hausa, English and no prediction keyboard names.
- 1.9.1 (v 31)
- Keyboard version 31; small punctuation corrections.
- 1.8.3 (Keyboard 30)
- Corrected several touch keyboard bugs associated with typing whitespace at the end of a sentence.
- Improved the case handling of all dictionaries.
- Numerous other little fixes.
- Keyboard 29
- Corrected bug that prevented nasal and tone from fixing onto underline and underdot letters.
- Keyboard 28
- Major rewrite to the physical keyboard layer to make it behave better and be easier to maintain.
- Rotations through multiple variations of shapes allowed before the underline and underdot versions.
- Better handling of shift around the end of sentences.
- Added u-bar characters to touch and physical keyboards
- Still waiting for a crucial Keyboard App Builder update to incorporate a very significant Keyman 14.0.277 performance update. Then I’ll build a new App. For now the best performance you can get is to install Keyman and the keyboard files above separately.
- Major rewrite to the physical keyboard layer to make it behave better and be easier to maintain.
- 1.8.1 (Keyboard 27)
- Bug fixes and sizing tweaks on the bottom row of the keyboard.
- Bug fixes and sizing tweaks on the bottom row of the keyboard.
- 1.8 (Keyboard 26, Revised lexical models based on KeyMan developer 13)
- Keyboard visual styles updated so iPhone matches Android
- Added missing nasals (on long press)
- Bug fixes.
- 1.7.8 (Keyboard 23, + Duya 1.0, Nyankpa 1.0, Pangu 1.2)
- Doesn’t capitalise immediately on full stop for a better URL experience.
- Various appearance improvements.
- Retitled Close Keyman to Close Naija Type.
- Added Duya and Nyankpa.
- Corrected missing Andika font.
- Added / to punctuation popup.
- 1.7.2 (Naija Type Keyboard 20, Fulfulde 1.0, English 1.0, Pangu 1.1, Ishɛ 1.2, Hausa 1.2)
- Light design (let me know if you like it or not) with less clutter
- Fulfulde
- Keyboard switching button restored
- Updated documentation
- Improved keyboard descriptions (for predictive text)
- Available on Google Play
- 1.5 (Naija Type Keyboard 16, English 1.0, Pangu 1.1, Ishɛ 1.2, Hausa 1.2)
[28 April 2021]- Better punctuation handling:
- Double space to do period/full-stop + space.
- Space + ! turns into ! + space and same with comma and ? because a space is added at the end of a suggested word. This allows us to type the punctuation without ending up with spaces in the wrong place.
- Moved the long-press space bar close option to the middle.
- Better punctuation handling:
- 1.4.1 (Naija Type Keyboard 15, English 1.0, Pangu 1.1, Ishɛ 1.2, Hausa 1.2)
[26 April 2021]- Added English. Now predictive text includes Ishɛ, Pangu, Hausa and English.
- Changed the menu button (long press on space bar)
- 1.4
[26 April 2021]- Predictive text includes Ishɛ, Pangu, Hausa.
- Numerous corrections (thanks, James M)
- Emoji
- 1.3
- Removed the globe icon and moved it to a long press on space bar option.
- 1.2
[22 April 2021]- Moved comma to left of keyboard.
- 1.1
[21 April 2021]
Older versions & other downloads
Sources
Naijatype on Github. Get in touch if you have suggestions or just fork the project. Sorry documentation is slightly lacking.
Tip Jar
The keyboard is free. If you want to contribute something here’s a Paypal link.