Skip to content

calin-darie/extra-keyboard-layouts

Repository files navigation

Extra Physical Keyboard Layouts

Development on pause until September 2024

To România and beyond!

Get it on Google Play Get it on IzzyOnDroid

Adds a few choices to the list of layouts to use when a physical keyboard is connected e.g. via OTG or Bluetooth.

Please star this issue if you agree that Android should support these layouts out of the box: https://issuetracker.google.com/issues/155769655

Tested layouts:

  • Albanian
  • Armenian Phonetic
  • Armenian Typewriter
  • Azeri Cyrillic
  • Bangla Jatiya 1
  • Bashkir
  • Belarusian
  • Belgian (Comma)
  • Belgian (Period)
  • Bosnian (Cyrillic)
  • Bulgarian (Phonetic Traditional)
  • Bulgarian (Phonetic)
  • Canadian French
  • Colemak
  • Czech (QWERTZ)
  • Divehi Phonetic
  • Dutch
  • EurKEY
  • Halmak
  • Hindi Traditional INSCRIPT 1
  • Jawi Phonetic QWERTY
  • Nias
  • Polish (Programmers)
  • Portuguese (Magic keyboard)
  • Romanian Programmers
  • Romanian Standard
  • Swedish Dvorak (Svorak A1)
  • Thai Kedmanee +/- Writer, +/- Shiftlock
  • Thai Manoonchai +/- Writer +/- Shiftlock
  • Thai Pattachote +/- Writer +/- Shiftlock
  • Thai TIS 820-2538
  • Urdu (Phonetic)

Experimental - not tested:

  • ABC - Latin alphabetical order
  • Azeri Latin
  • Arabic 102 AZERTY 1
  • Assamese INSCRIPT 1
  • Bengali 1
  • Bengali INSCRIPT 1
  • Bulgarian Typewriter
  • Canadian Multilingual Standard
  • Cherokee nation 1
  • Czech (QWERTY)
  • Czech Programmers
  • Divehi Typewriter
  • English (India)
  • Faeroese
  • Finnish with Sami
  • Georgian (Ergonomic)
  • Georgian (MES)
  • Georgian (QWERTY)
  • German (IBM)
  • Greek (220)
  • Greek (220) Latin
  • Greek (319) Latin
  • Greek Latin
  • Greenlandic
  • Gujarati 1
  • Hausa
  • Hawaiian
  • Hebrew (Standard)
  • Hungarian 101 QWERTY
  • Inuktitut Latin
  • Irish
  • Italian (142)
  • Jawi SIRIM 1
  • Kannada 1
  • Kazakh
  • Khmer 1
  • Khmer Nida 1
  • Korean
  • Kyrgyz Cyrillic
  • Kurdish Hejar https://klpp.github.io/hejar.html 1
  • Kurdish KRG http://unicode.ekrg.org/download/UnifiedKeyboardProject_enGB.pdf 1
  • Lao 1
  • Latin American
  • Latvian (QWERTY)
  • Lisu Basic
  • Lisu Standard
  • Lithuanian IBM
  • Lithuanian Standard
  • Luxembourgish
  • Macedonian (FYROM)
  • Macedonian (FYROM) - Standard
  • Malayalam 1
  • Maltese 47-Key
  • Maltese 48-Key
  • Maori
  • Marathi 1
  • Mongolian (Mongolian Script)
  • Mongolian Cyrillic
  • Myanmar
  • Nepali
  • Neo 2 2
  • New Tai Lue
  • Norwegian with Sami
  • N’Ko
  • Odia 1
  • Ogham
  • Pashto (Afghanistan)
  • Persian standard 1
  • Phags Pa 1
  • Punjabi 1
  • Russian (Typewriter)
  • Russian Phonetic Linux3
  • Russian Phonetic YaWert
  • Sakha 1
  • Sami Extended Finland-Sweden
  • Sami Extended Norway
  • Scottish Gaelic
  • Santali (Sarjom baha - phonetic Ol' Chiki script)
  • Serbian (Cyrillic)
  • Serbian (Latin)
  • Sesotho sa Leboa
  • Setswana
  • Sinhala 1
  • Slovak (QWERTY)
  • Slovak (QWERTZ)
  • Sorbian Extended
  • Sorbian Standard
  • Spanish variation
  • Swedish with Sami
  • Syriac
  • Syriac Phonetic
  • Tajik
  • Tamil 1
  • Tamil 99
  • Tatar
  • Telugu 1
  • Thai Kedmanee (non-ShiftLock)
  • Thai Pattachote
  • Thai Pattachote (non-ShiftLock)
  • Tifinagh basic 1
  • Tifinagh extended 1
  • Turkish F
  • Turkish Q
  • Turkmen
  • US English Table for IBM Arabic 238_L
  • Ukrainian (Enhanced)
  • United States-Dvorak for left hand
  • United States-Dvorak for right hand
  • Urdu
  • Uyghur 1
  • Uzbek Cyrillic
  • Vietnamese
  • Wolof

1 For some of the layouts, combo key ligatures that on other OSs can be typed by shift+numbers are not directly supported. Instead, you'll have to type the components individually.

For Hindi for example on a QWERTY keyboard, instead of shift + 3 you have to type D+J

  • D J ्र
  • J D र्
  • P D SHIFT+] ज्ञ
  • L D J त्र
  • K D SHIFT+, क्ष

For Jawi SIRIM, the B key does not type anything. and you should be able to reproduce its behavior by typing G followed by H and G followed by SHIFT + N

  • G H لا
  • G SHIFT + N لآ
  • G SHIFT + H لأ
  • G SHIFT + Y لإ

For Lao

  • A H => LAO VOWEL SIGN MAI KAN + LAO TONE MAI THO
  • B H => LAO VOWEL SIGN Y + LAO TONE MAI THO
  • N H => LAO VOWEL SIGN YY + LAO TONE MAI THO
  • Q H => LAO VOWEL SIGN MAI KON + LAO TONE MAI THO
  • Y H => LAO VOWEL SIGN II + LAO TONE MAI THO
  • U H => LAO VOWEL SIGN I + LAO TONE MAI THO
  • = J => LAO NIGGAHITA + LAO TONE MAI EK
  • s^ => LAO LETTER HO SUNG + LAO SEMIVOWEL SIGN LO

For Kurdish KRG:

  • وو <= و و you have to press the key twice, no shift
  • shift H => ZERO WIDTH NON-JOINER, to be used in combination with ھ

2 Neo 2's 4th level is severely crippled while not locked because in order to access level 4 you need to press the right alt key, and the right alt key in combination with level 4 directions results in unexpected behavior. So try level 4 navigation only by locking.

Also, locking isn't working as you're used to: press the start / windows key to lock level 4. Press scroll lock to lock level 2.

The following features are not available in android:

  • compose (triggered by TAB in level 3)
  • undo functionality (triggered by Z in level 4)
  • rotate key

3 Russian Phonetic Linux is taken from standard layouts available on Linux, it was modified slightly to add back some symbols that are replaced by Russian characters in the Base and Shift layers, to get to them use RightAlt and RightAlt+Shift respectively.

Here are the notable modifications in relation to QWERTY

  • SHIFT + 3 => ё
  • RALT + 3 => #
  • RALT + SHIFT + 3 => №
  • SHIFT + 4 => Ё
  • RALT + 4 => $
  • SHIFT + 5 => ъ
  • RALT + 5 => %
  • SHIFT + 6 => Ъ
  • RALT + 6 => ^
  • = => ч
  • SHIFT + = (+) => Ч
  • RALT + = => =
  • RALT + SHIFT + = => +
  • [ => ш
  • SHIFT + [ => Ш
  • RALT + [ => [
  • RALT + SHIFT + [ => {
  • ] => щ
  • SHIFT + ] => Ш
  • RALT + ] => ]
  • RALT + SHIFT + ] => }
  • ` => ю
  • SHIFT + ` => Ю
  • RALT + ` => `
  • RALT + SHIFT + ` => ~
  • \ => э
  • SHIFT + \ => Э
  • RALT + \ => \
  • RALT + SHIFT + \ => |

If you found this useful, you may buy me a drink