// Keyboard layouts for Iran. // Standard Persian layout, based on ISIRI 9147 (1st Edition), // "Layout of Persian Letters and Symbols on Computer Keyboards" // by the Institute of Standards and Industrial Research of Iran. // (http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147) // https://persian-computing.org/archives/ISIRI/ISIRI-9147.pdf // // The standard is extended with ASCII digits on the fourth level of the top row, // and the letter He with Ye above (U+06C0) on the third level of the AC05 key. // // Original author: Behnam Esfahbod default partial alphanumeric_keys xkb_symbols "pes" { name[Group1]= "Persian"; // Persian and ASCII digits key { [ Farsi_1, exclam, grave, 1 ] }; key { [ Farsi_2, U066C, at, 2 ] }; key { [ Farsi_3, U066B, numbersign, 3 ] }; key { [ Farsi_4, UFDFC, dollar, 4 ] }; // Rial sign key { [ Farsi_5, U066A, percent, 5 ] }; key { [ Farsi_6, multiply, asciicircum, 6 ] }; key { [ Farsi_7, Arabic_comma, ampersand, 7 ] }; key { [ Farsi_8, asterisk, enfilledcircbullet, 8 ] }; key { [ Farsi_9, parenright, U200E, 9 ] }; // LRM key { [ Farsi_0, parenleft, U200F, 0 ] }; // RLM // Persian letters and symbols key { [ Arabic_dad, Arabic_sukun, degree ] }; key { [ Arabic_sad, Arabic_dammatan, none ] }; key { [ Arabic_theh, Arabic_kasratan, EuroSign ] }; key { [ Arabic_qaf, Arabic_fathatan, none ] }; key { [ Arabic_feh, Arabic_damma, none ] }; key { [ Arabic_ghain, Arabic_kasra, none ] }; key { [ Arabic_ain, Arabic_fatha, none ] }; key { [ Arabic_heh, Arabic_shadda, U202D ] }; // LRO key { [ Arabic_khah, bracketright, U202E ] }; // RLO key { [ Arabic_hah, bracketleft, U202C ] }; // PDF key { [ Arabic_jeem, braceright, U202A ] }; // LRE key { [ Arabic_tcheh, braceleft, U202B ] }; // RLE key { [ Arabic_sheen, Arabic_hamzaonwaw, none ] }; key { [ Arabic_seen, Arabic_hamzaonyeh, none ] }; key { [ Farsi_yeh, Arabic_yeh, Arabic_alefmaksura ] }; key { [ Arabic_beh, Arabic_hamzaunderalef, none ] }; key { [ Arabic_lam, Arabic_hamzaonalef, U06C0 ] }; key { [ Arabic_alef, Arabic_maddaonalef, U0671 ] }; key { [ Arabic_teh, Arabic_tehmarbuta, none ] }; key { [ Arabic_noon, guillemotright, UFD3E ] }; key { [ Arabic_meem, guillemotleft, UFD3F ] }; key { [ Arabic_keheh, colon, semicolon ] }; key { [ Arabic_gaf, Arabic_semicolon, quotedbl ] }; key { [ Arabic_zah, Arabic_kaf, none ] }; key { [ Arabic_tah, U0653, none ] }; key { [ Arabic_zain, Arabic_jeh, none ] }; key { [ Arabic_ra, Arabic_superscript_alef,U0656 ] }; key { [ Arabic_thal, U200C, U200D ] }; // ZWNJ, ZWJ key { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] }; key { [ Arabic_peh, Arabic_hamza, ellipsis ] }; key { [ Arabic_waw, greater, comma ] }; key { [ period, less, apostrophe ] }; key { [ slash, Arabic_question_mark, question ] }; key { [ U200D, division, asciitilde ] }; // ZWJ key { [ minus, Arabic_tatweel, underscore ] }; key { [ equal, plus, U2212 ] }; // figure dash key { [ backslash, bar, U2010 ] }; // hyphen include "nbsp(zwnj2nb3nnb4)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "pes_keypad" { include "ir(pes)" name[Group1]= "Persian (with Persian keypad)"; // Persian digits and Mathematical operators key { [ division, XF86_Ungrab ] }; key { [ multiply, XF86_ClearGrab ] }; key { [ U2212, XF86_Prev_VMode ] }; // minus sign key { [ plus, XF86_Next_VMode ] }; key { [ KP_Enter ] }; key { [ equal ] }; key { [ KP_Home, Farsi_7 ] }; key { [ KP_Up, Farsi_8 ] }; key { [ KP_Prior, Farsi_9 ] }; key { [ KP_Left, Farsi_4 ] }; key { [ KP_Begin, Farsi_5 ] }; key { [ KP_Right, Farsi_6 ] }; key { [ KP_End, Farsi_1 ] }; key { [ KP_Down, Farsi_2 ] }; key { [ KP_Next, Farsi_3 ] }; key { [ KP_Insert, Farsi_0 ] }; key { [ KP_Delete, U066B ] }; // Arabic decimal separator }; // The legacy Windows layout that Iranian users are accustomed to, // extended with Farsi digits on the third level of the top row. partial alphanumeric_keys xkb_symbols "winkeys" { name[Group1]= "Persian (Windows)"; key { [ division, multiply ] }; key { [ 1, exclam, Farsi_1, U200D ] }; // ZWJ key { [ 2, at, Farsi_2, U200C ] }; // ZWNJ key { [ 3, numbersign, Farsi_3, U200E ] }; // LRM key { [ 4, dollar, Farsi_4, U200F ] }; // RLM key { [ 5, percent, Farsi_5 ] }; key { [ 6, asciicircum, Farsi_6 ] }; key { [ 7, ampersand, Farsi_7 ] }; key { [ 8, asterisk, Farsi_8 ] }; key { [ 9, parenright, Farsi_9 ] }; key { [ 0, parenleft, Farsi_0 ] }; key { [ minus, underscore ] }; key { [ equal, plus ] }; key { [ Arabic_dad, Arabic_fathatan ] }; key { [ Arabic_sad, Arabic_dammatan ] }; key { [ Arabic_theh, Arabic_kasratan ] }; key { [ Arabic_qaf, UFDFC ] }; // Rial sign key { [ Arabic_feh, Arabic_comma ] }; key { [ Arabic_ghain, Arabic_semicolon ] }; key { [ Arabic_ain, comma ] }; key { [ Arabic_heh, bracketright ] }; key { [ Arabic_khah, bracketleft ] }; key { [ Arabic_hah, backslash ] }; key { [ Arabic_jeem, braceright ] }; key { [ Arabic_tcheh, braceleft ] }; key { [ Arabic_sheen, Arabic_fatha ] }; key { [ Arabic_seen, Arabic_damma ] }; key { [ Farsi_yeh, Arabic_kasra ] }; key { [ Arabic_beh, Arabic_shadda ] }; key { [ Arabic_lam, U06C0 ] }; key { [ Arabic_alef, Arabic_maddaonalef ] }; key { [ Arabic_teh, Arabic_tatweel ] }; key { [ Arabic_noon, guillemotleft ] }; key { [ Arabic_meem, guillemotright ] }; key { [ Arabic_keheh, colon ] }; key { [ Arabic_gaf, quotedbl ] }; key { [ Arabic_peh, bar ] }; key { [ Arabic_peh, bar ] }; key { [ Arabic_zah, Arabic_tehmarbuta ] }; key { [ Arabic_tah, Arabic_yeh ] }; key { [ Arabic_zain, Arabic_jeh ] }; key { [ Arabic_ra, Arabic_hamzaonwaw ] }; key { [ Arabic_thal, Arabic_hamzaonalef ] }; key { [ Arabic_dal, Arabic_hamzaunderalef ] }; key { [ Arabic_hamzaonyeh, Arabic_hamza ] }; key { [ Arabic_waw, less ] }; key { [ period, greater ] }; key { [ slash, Arabic_question_mark ] }; include "level3(ralt_switch)" }; // Symbols definition for South Azerbaijani keyboard layout. // 2022 - Alborz Jafari partial alphanumeric_keys xkb_symbols "azb" { include "ir(pes)" name[Group1]= "Azerbaijani (Iran)"; // Letters and symbols for South Azerbaijani key { [ Arabic_dad, U06C7, degree ] }; // ۇ key { [ Arabic_sad, U06C6, Arabic_dammatan ] }; // ۆ key { [ Farsi_yeh, U063D, Arabic_alefmaksura ] }; // ؽ key { [ Arabic_zah, Arabic_sukun, none ] }; key { [ Arabic_thal, Arabic_dammatan, none ] }; }; // Kurdish layouts partial alphanumeric_keys xkb_symbols "ku" { include "tr(ku)" name[Group1]= "Kurdish (Iran, Latin Q)"; }; partial alphanumeric_keys xkb_symbols "ku_f" { include "tr(ku_f)" name[Group1]= "Kurdish (Iran, F)"; }; partial alphanumeric_keys xkb_symbols "ku_alt" { include "tr(ku_alt)" name[Group1]= "Kurdish (Iran, Latin Alt-Q)"; }; // Kurdish Soranî Bahdînî (Arabic) keyboard layout, // based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup // which is based on National Iranian Keyboard Standard (ISIRI 2901:1994), // with additions. // // Copyright (C) 2006 Erdal Ronahî, published under the GPL v2 // // Special copyright note: author explicitly permitted to license this // layout under MIT/X11 license, for details see // https://bugs.freedesktop.org/show_bug.cgi?id=9541 // // Author: Erdal Ronahî // // Kurdish Arabic-Latin Layout for Soranî partial alphanumeric_keys xkb_symbols "ku_ara" { name[Group1]= "Kurdish (Iran, Arabic-Latin)"; key { [ U200D, division, asciitilde ] }; // ZWJ key { [ Arabic_1, exclam, 1, grave ] }; key { [ Arabic_2, at, 2, at ] }; key { [ Arabic_3, numbersign, 3, U066B ] }; key { [ Arabic_4, dollar, 4, UFDFC ] }; // Rial sign key { [ Arabic_5, percent, 5, U066A ] }; key { [ Arabic_6, asciicircum, 6, multiply ] }; key { [ Arabic_7, ampersand, 7, Arabic_comma ] }; key { [ Arabic_8, asterisk, 8, enfilledcircbullet ] }; key { [ Arabic_9, parenright, 9, U200E ] }; // LRM key { [ Arabic_0, parenleft, 0, U200F ] }; // RLM key { [ minus, Arabic_tatweel, underscore ] }; key { [ equal, plus, U2212 ] }; // minus sign key { [ Arabic_qaf, X, q, Q ] }; key { [ Arabic_waw, X, w, W ] }; key { [ U06D5, Arabic_heh, e, E ] }; key { [ Arabic_ra, U0695, r, R ] }; key { [ Arabic_teh, Arabic_tah, t, T ] }; key { [ U06CC, U06CE, y, Y ] }; key { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; key { [ Arabic_hah, Arabic_ain, i, I ] }; key { [ U06C6, Arabic_hamzaonwaw, o, O ] }; key { [ U067E, Arabic_theh, p, P ] }; key { [ bracketright,braceright, ucircumflex, Ucircumflex ] }; key { [ bracketleft, braceleft, scedilla, Scedilla ] }; key { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; key { [ Arabic_seen, Arabic_sheen, s, S ] }; key { [ Arabic_dal, Arabic_thal, d, D ] }; key { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; key { [ U06AF, Arabic_ghain, g, G ] }; key { [ Arabic_heh, U200C, h, H ] }; // ZWNJ key { [ U0698, Arabic_hamzaonalef, j, J ] }; key { [ U06A9, Arabic_kaf, k, K ] }; key { [ Arabic_lam, U06B5, l, L ] }; key { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; key { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; key { [ backslash, bar, ccedilla, Ccedilla ] }; key { [ Arabic_zain, Arabic_dad, z, Z ] }; key { [ Arabic_khah, Arabic_sad, x, X ] }; key { [ Arabic_jeem, U0686, c, C ] }; key { [ U06A4, Arabic_zah, v, V ] }; key { [ Arabic_beh, U0649, b, B ] }; key { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; key { [ Arabic_meem, Arabic_tatweel, m, M ] }; key { [ Arabic_comma,greater, comma ] }; key { [ period, less, apostrophe ] }; key { [ slash, Arabic_question_mark, question ] }; include "nbsp(zwnj2nb3)" include "level3(ralt_switch)" };