Typing is a crucial step in connecting with the language. The search results for contents are better when typed in the native language and script. All of this motivated me to learn to type in native scripts. However…
Learning a new keyboard layout is a tiring process. It takes a lot of practice. But I consider this kind of practice as useless effort. Phonetic keyboards take advantage of knowledge of English Phonemes mapped roughly onto the target language. In my case it’s Russian and Hindi.
Before I knew ibus keyboards I had to use quillpad to type in hindi. Which is sweet and all, but hectic to first type in quillpad box and then copy paste into the desired text field. And there are many things that I simply cannot type beautifully in Hindi using quillpad.
[Check this post for quick installation of iBus keyboard.]
Ultimately I was able to get used to Russian Phonetic and Hindi KaGaPa style keyboard. Both of these can be quickly installed using these steps:
1.) Go to Region and Language settings
2.) Select the language. In my case I selected Russian.
3.) Select the phonetic version of the given language.
Steps are the same for Hindi KaGaPa keyboard.
The keyboard layouts can be switched easily by pressing windows/ super key + space.
Each time space is pressed with super key, the keyboard layout will shift to the next one.
***
Typing in Russian
Because I am already fluent with typing in English. This one is handy. Earlier, I was using Bulgarian Phonetic keyboard to type, because it made sense to me. The problem is I can’t find the characters ё and ы. For typing these, I had to switch to Russian keyboard anyways.
Apart from the usual rules:
ё is typed using shift + 3
Ё using shift + 4
ю using ~
Ь мягкий знак soft sign (myekiiznak) using x
Ъ твердый знакhard sign (tvordiznak) using shift + 5 (lowercase) or 6 (for uppercase)
й is using j for the reason that j is pronounced as ya in German.
ч using the + key
and, ж is typed using v, for no reason at all.
Так, окей, сейчас ты хочешь супер быстро печатать на русском языке. Это отличный метод.
***
For hindi the Hindi KaGaPa keyboard is straight forward. There are two decent features.
1.) In order to make half a character you can press the character key with f
key + f = half of the character
2.) To access other special characters use right alt + character.
Right alt + character = special character of that key
Typing using this keyboard needs some practice, but it is logical and fast.
हिंदी में लिखना अब काफि सरल हो गया है।
Something is wrong here because even though I can write फिर, technically it is wrong because it takes the urdufied version of the letter and should be written as फ़िर. To make it proper we just use right alt key along with the desired character.
बिलाआख़िर (finally) आप उरदु में भी लिख सकते हैं!
पूर्ण विराम लगाने के लिये दाईं अल्ट-की दबा कर बैक स्लैश दबाएं ।
To put the full stop use right alt + back slash (\).
वैरी स्वीट।
To type ए press shift + right alt + e. Many characters such as ढ़ ऌ ॐ (shift + right alt + m) are typed using this.
***
Typing in Persian
For this, I use the Persian keyboard with numerals.
من مرینال هستم
من دوچرخه را دوست دارم
Someone has put in good effort to make this layout. I wholeheartedly thank them [Behnam Esfahbod]. Please maintain the credits. 🙂
Steps to install this keyboard:
Step 0: We are going to create a new symbols layout. To do that we go to xkb directory.
cd /usr/share/X11/xkb
Now we make a backup of ir symbols file in case things go wrong. And create a new symbols file fs (farsi).
sudo cp symbols/ir symbols/nir
sudo gedit /symbols/fs
Step 1:
And paste this all the way upto Kurdish section of the file.
// Replace all the way up to the Kurdish section of the file
// Iranian keyboard layout
////////////////////////////////////////
// Persian layout,
// based on
// Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards
// ISIRI 9147 – 1st Edition
// Institute of Standards and Industrial Research of Iran
// http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147
// http://behnam.esfahbod.info/standards/i … d-9147.pdf
//
// Author: Behnam Esfahbod <behnam@esfahbod.info>
//
default partial alphanumeric_keys
xkb_symbols “pes” {
name[Group1]= “Persian”;
include “ir(pes_part_basic)”
include “ir(pes_part_ext)”
include “nbsp(zwnj2nb3nnb4)”
include “level3(ralt_switch)”
};
partial alphanumeric_keys
xkb_symbols “pes_keypad” {
name[Group1]= “Persian (with Persian keypad)”;
include “ir(pes_part_basic)”
include “ir(pes_part_ext)”
include “ir(pes_part_keypad)”
include “nbsp(zwnj2nb3nnb4)”
include “level3(ralt_switch)”
};
hidden partial alphanumeric_keys
xkb_symbols “pes_part_basic” {
// Persian digits
key <AE01> { [ Arabic_1, exclam, exclam ] }; // ١ ! !
key <AE02> { [ Arabic_2, at, at ] }; // ٢ @ @
key <AE03> { [ Arabic_3, numbersign, numbersign ] }; // ٣ # #
key <AE04> { [ Farsi_4, dollar, dollar ] }; // ۴ $ $
key <AE05> { [ Farsi_5, percent, percent ] }; // ۵ % %
key <AE06> { [ Farsi_6, asciicircum, asciicircum ] }; // ۶ ^ ^
key <AE07> { [ Arabic_7, ampersand, ampersand ] }; // ٧ & &
key <AE08> { [ Arabic_8, KP_Multiply, KP_Multiply ] }; // ٨ * *
key <AE09> { [ Arabic_9, Armenian_parenright, Armenian_parenright, Armenian_parenleft ] }; // ٩ ) ) (
key <AE10> { [ Farsi_0, Armenian_parenleft, Armenian_parenleft ] }; // ۰ ( (
key <AE11> { [ underbar, KP_Subtract, KP_Subtract ] }; // _ – –
key <AE12> { [ KP_Equal, KP_Add, KP_Add ] }; // = + +
// Persian letters and symbols
key <AD01> { [ Arabic_qaf, Arabic_ghain ] }; // ق غ غ
key <AD02> { [ Arabic_sheen, Arabic_ain ] }; // ش ع
key <AD03> { [ Arabic_ain ] }; // ع
key <AD04> { [ Arabic_ra ] }; // ر
key <AD05> { [ Arabic_teh ] }; // ت
key <AD06> { [ Farsi_yeh ] }; // ى
key <AD07> { [ Arabic_tah, Arabic_zah ] }; // ط ظ ظ
key <AD09> { [ Arabic_ain, Arabic_hamza ] }; // ع ء ء
key <AD10> { [ Arabic_peh ] }; // پ
key <AD11> { [ bracketright, braceleft ] }; // ] } {
key <AD12> { [ bracketleft, braceright ] }; // [ { }
key <AC01> { [ Arabic_alef, Arabic_maddaonalef, Arabic_maddaonalef ] }; // ا آ آ
key <AC02> { [ Arabic_seen, Arabic_sad ] }; // س ص ص
key <AC03> { [ Arabic_dal, Arabic_thal ] }; // د ذ ذ
key <AC04> { [ Arabic_feh ] }; // ف
key <AC05> { [ Arabic_gaf ] }; // گ
key <AC06> { [ Arabic_heh, Arabic_hah ] }; // ە ح ح
key <AC07> { [ Arabic_jeem, Arabic_jeh ] }; // ج ژ ژ
key <AC08> { [ Arabic_keheh ] }; // ک
key <AC09> { [ Arabic_lam ] }; // ل
key <AC10> { [ Arabic_semicolon, colon ] }; // ؛ : ։
key <AC11> { [ Arabic_comma, quotedbl, quotedbl ] }; // ، ” ”
key <AB01> { [ Arabic_zain, Arabic_dad, Arabic_dad ] }; // ز ض ض زخ
key <AB02> { [ Arabic_khah, U0603, U0602 ] }; // خ
key <AB03> { [ Arabic_tcheh, Arabic_theh ] }; // چ ث
key <AB04> { [ Arabic_waw ] }; // ومممنننوووونن ن
key <AB05> { [ Arabic_beh ] };
key <AB06> { [ Arabic_noon ] }; // ن
key <AB07> { [ Arabic_meem ] }; // م
key <AB08> { [ comma, rightcaret, leftcaret ] }; // , > <
key <AB09> { [ period, leftcaret, rightcaret ] }; // . < >
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus, 0x1002212 ] };
key <BKSL> { [ backslash, bar, 0x1002010 ] };
key <TLDE> { [ U02DC, UFDFC, UFDF2 ] }; // ˜ ﷼ ﷲ
};
hidden partial alphanumeric_keys
xkb_symbols “pes_part_ext” {
// Persian and ASCII digits
key <AE01> { [ Farsi_1, exclam, grave, 1 ] };
key <AE02> { [ Farsi_2, 0x100066c, at, 2 ] };
key <AE03> { [ Farsi_3, 0x100066b, numbersign, 3 ] };
key <AE04> { [ Farsi_4, 0x100fdfc, dollar, 4 ] };
key <AE05> { [ Farsi_5, 0x100066a, percent, 5 ] };
key <AE06> { [ Farsi_6, multiply, asciicircum, 6 ] };
key <AE07> { [ Farsi_7, Arabic_comma, ampersand, 7 ] };
key <AE08> { [ Farsi_8, asterisk, enfilledcircbullet, 8 ] };
key <AE09> { [ Farsi_9, parenright, 0x100200e, 9 ] };
key <AE10> { [ Farsi_0, parenleft, 0x100200f, 0 ] };
};
hidden partial alphanumeric_keys
xkb_symbols “pes_part_keypad” {
// Persian digits and Mathematical operators
key <KPDV> { [ division, XF86_Ungrab ] };
key <KPMU> { [ multiply, XF86_ClearGrab ] };
key <KPSU> { [ 0x1002212, XF86_Prev_VMode ] };
key <KPAD> { [ plus, XF86_Next_VMode ] };
key <KPEN> { [ KP_Enter ] };
key <KPEQ> { [ equal ] };
key <KP7> { [ KP_Home, Farsi_7 ] };
key <KP8> { [ KP_Up, Farsi_8 ] };
key <KP9> { [ KP_Prior, Farsi_9 ] };
key <KP4> { [ KP_Left, Farsi_4 ] };
key <KP5> { [ KP_Begin, Farsi_5 ] };
key <KP6> { [ KP_Right, Farsi_6 ] };
key <KP1> { [ KP_End, Farsi_1 ] };
key <KP2> { [ KP_Down, Farsi_2 ] };
key <KP3> { [ KP_Next, Farsi_3 ] };
key <KP0> { [ KP_Insert, Farsi_0 ] };
key <KPDL> { [ KP_Delete, 0x100066b ] };
};
Step 2: Finally, replace the ir file with this fs symbols file.
sudo cp symbols/fs symbols/ir
Now, you can see that the Phonetic Persian keyboard template has been changed.
I hope this was useful.
Happy typing! 🙂