-
-
Save sijad/d63afe9c2955ad87e91792a9ea97ae19 to your computer and use it in GitHub Desktop.
modified /usr/share/X11/xkb/symbols/ir to be similar to macOS layout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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/isiri-keyboard-9147.pdf | |
// | |
// Author: Behnam Esfahbod <[email protected]> | |
// | |
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_modified" { | |
name[Group1]= "Persian (Modified)"; | |
include "ir(pes)" | |
key <AB07> { [ Arabic_waw, Arabic_hamza, ellipsis ] }; | |
key <AB08> { [ Arabic_comma, greater, comma ] }; | |
key <AB03> { [ Arabic_thal, Arabic_jeh, VoidSymbol ] }; | |
key <AB04> { [ Arabic_dal, Arabic_superscript_alef,0x1000656 ] }; | |
key <AB05> { [ Arabic_zain, 0x100200c, 0x100200d ] }; | |
key <AB06> { [ Arabic_ra, Arabic_hamza_above, Arabic_hamza_below ] }; | |
key <TLDE> { [ Arabic_peh, division, asciitilde ] }; | |
}; | |
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> { [ Farsi_1, exclam, grave ] }; | |
key <AE02> { [ Farsi_2, 0x100066c, at ] }; | |
key <AE03> { [ Farsi_3, 0x100066b, numbersign ] }; | |
key <AE04> { [ Farsi_4, 0x100fdfc, dollar ] }; | |
key <AE05> { [ Farsi_5, 0x100066a, percent ] }; | |
key <AE06> { [ Farsi_6, multiply, asciicircum ] }; | |
key <AE07> { [ Farsi_7, Arabic_comma, ampersand ] }; | |
key <AE08> { [ Farsi_8, asterisk, enfilledcircbullet ] }; | |
key <AE09> { [ Farsi_9, parenright, 0x100200e ] }; | |
key <AE10> { [ Farsi_0, parenleft, 0x100200f ] }; | |
// Persian letters and symbols | |
key <AD01> { [ Arabic_dad, Arabic_sukun, degree ] }; | |
key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; | |
key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] }; | |
key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; | |
key <AD05> { [ Arabic_feh, Arabic_damma, VoidSymbol ] }; | |
key <AD06> { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] }; | |
key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; | |
key <AD08> { [ Arabic_heh, Arabic_shadda, 0x100202d ] }; | |
key <AD09> { [ Arabic_khah, bracketright, 0x100202e ] }; | |
key <AD10> { [ Arabic_hah, bracketleft, 0x100202c ] }; | |
key <AD11> { [ Arabic_jeem, braceright, 0x100202a ] }; | |
key <AD12> { [ Arabic_tcheh, braceleft, 0x100202b ] }; | |
key <AC01> { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] }; | |
key <AC02> { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] }; | |
key <AC03> { [ Farsi_yeh, Arabic_yeh, Arabic_alefmaksura ] }; | |
key <AC04> { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; | |
key <AC05> { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] }; | |
key <AC06> { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; | |
key <AC07> { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; | |
key <AC08> { [ Arabic_noon, guillemotright, 0x100fd3e ] }; | |
key <AC09> { [ Arabic_meem, guillemotleft, 0x100fd3f ] }; | |
key <AC10> { [ Arabic_keheh, colon, semicolon ] }; | |
key <AC11> { [ Arabic_gaf, Arabic_semicolon, quotedbl ] }; | |
key <AB01> { [ Arabic_zah, Arabic_kaf, VoidSymbol ] }; | |
key <AB02> { [ Arabic_tah, 0x1000653, VoidSymbol ] }; | |
key <AB03> { [ Arabic_zain, Arabic_jeh, VoidSymbol ] }; | |
key <AB04> { [ Arabic_ra, Arabic_superscript_alef,0x1000656 ] }; | |
key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] }; | |
key <AB06> { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] }; | |
key <AB07> { [ Arabic_peh, Arabic_hamza, ellipsis ] }; | |
key <AB08> { [ Arabic_waw, greater, comma ] }; | |
key <AB09> { [ period, less, apostrophe ] }; | |
key <AB10> { [ slash, Arabic_question_mark, question ] }; | |
key <TLDE> { [ 0x100200d, division, asciitilde ] }; | |
key <AE11> { [ minus, Arabic_tatweel, underscore ] }; | |
key <AE12> { [ equal, plus, 0x1002212 ] }; | |
key <BKSL> { [ backslash, bar, 0x1002010 ] }; | |
}; | |
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 ] }; | |
}; | |
//////////////////////////////////////// | |
// Kurdish Layout | |
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î <[email protected]> | |
// | |
// Kurdish Arabic-Latin Layout for Soranî | |
partial alphanumeric_keys | |
xkb_symbols "ku_ara" { | |
name[Group1]= "Kurdish (Iran, Arabic-Latin)"; | |
// Other 3-Level symbols | |
key <TLDE> { [ 0x100200d, division, asciitilde ] }; | |
key <BKSL> { [ backslash, bar, ccedilla, Ccedilla ] }; | |
// Digits | |
key <AE01> { [ 1, exclam, Farsi_1, grave ] }; | |
key <AE02> { [ 2, at, Farsi_2, at ] }; | |
key <AE03> { [ 3, numbersign, Farsi_3, 0x100066b ] }; | |
key <AE04> { [ 4, dollar, Farsi_4, 0x100fdfc ] }; | |
key <AE05> { [ 5, percent, Farsi_5, 0x100066a ] }; | |
key <AE06> { [ 6, asciicircum, Farsi_6, multiply ] }; | |
key <AE07> { [ 7, ampersand, Farsi_7, Arabic_comma ] }; | |
key <AE08> { [ 8, asterisk, Farsi_8, enfilledcircbullet ] }; | |
key <AE09> { [ 9, parenright, Farsi_9, 0x100200e ] }; | |
key <AE10> { [ 0, parenleft, Farsi_0, 0x100200f ] }; | |
key <AE11> { [ minus, Arabic_tatweel, underscore ] }; | |
key <AE12> { [ equal, plus, 0x1002212 ] }; | |
key <AD01> { [ Arabic_qaf, X, q, Q ] }; | |
key <AD02> { [ Arabic_waw, X, w, W ] }; | |
key <AD03> { [ 0x10006d5, Arabic_heh, e, E ] }; | |
key <AD04> { [ Arabic_ra , 0x1000695, r, R ] }; | |
key <AD05> { [ Arabic_teh, Arabic_tah, t, T ] }; | |
key <AD06> { [ 0x10006cc, 0x10006ce, y, Y ] }; | |
key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; | |
key <AD08> { [ Arabic_hah, Arabic_ain, i, I ] }; | |
key <AD09> { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] }; | |
key <AD10> { [ 0x100067e, Arabic_theh, p, P ] }; | |
key <AD11> { [ bracketright, braceright, ucircumflex, Ucircumflex ] }; | |
key <AD12> { [ bracketleft, braceleft, scedilla, Scedilla ] }; | |
key <AC01> { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; | |
key <AC02> { [ Arabic_seen, Arabic_sheen, s, S ] }; | |
key <AC03> { [ Arabic_dal, Arabic_thal, d, D ] }; | |
key <AC04> { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; | |
key <AC05> { [ 0x10006af, Arabic_ghain, g, G ] }; | |
key <AC06> { [ Arabic_heh, 0x100200c, h, H ] }; | |
key <AC07> { [ 0x1000698, Arabic_hamzaonalef, j, J ] }; | |
key <AC08> { [ 0x10006a9, Arabic_kaf, k, K ] }; | |
key <AC09> { [ Arabic_lam, 0x10006b5, l, L ] }; | |
key <AC10> { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; | |
key <AC11> { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; | |
key <AB01> { [ Arabic_zain, Arabic_dad, z, Z ] }; | |
key <AB02> { [ Arabic_khah, Arabic_sad, x, X ] }; | |
key <AB03> { [ Arabic_jeem, 0x1000686, c, C ] }; | |
key <AB04> { [ 0x10006a4, Arabic_zah, v, V ] }; | |
key <AB05> { [ Arabic_beh, 0x1000649, b, B ] }; | |
key <AB06> { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; | |
key <AB07> { [ Arabic_meem, Arabic_tatweel, m, M ] }; | |
key <AB08> { [ Arabic_comma, greater, comma ] }; | |
key <AB09> { [ period, less, apostrophe ] }; | |
key <AB10> { [ slash, Arabic_question_mark, question ] }; | |
include "nbsp(zwnj2nb3)" | |
include "level3(ralt_switch)" | |
}; | |
// EXTRAS: | |
///////////////////////////////////////////////////////////////////////////////// | |
// | |
// Generated keyboard layout file with the Keyboard Layout Editor. | |
// For more about the software, see http://code.google.com/p/keyboardlayouteditor | |
// | |
// Version 0.2, fixed AD09. | |
// | |
// Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32 | |
// Creation of this file by Simos Xenitellis. | |
partial alphanumeric_keys | |
xkb_symbols "ave" | |
{ | |
name[Group1] = "Avestan"; | |
key <AB01> { [ U10B30, U10B32 ] }; // 𐬰 𐬲 | |
key <AB02> { [ U10B11, U10B12 ] }; // 𐬑 𐬒 | |
key <AB03> { [ U10B17, UE102 ] }; // 𐬗 | |
key <AB04> { [ U10B2C, U10B13 ] }; // 𐬬 𐬓 | |
key <AB05> { [ U10B20, U10B21 ] }; // 𐬠 𐬡 | |
key <AB06> { [ U10B25, U10B27 ] }; // 𐬥 𐬧 | |
key <AB07> { [ U10B28, U10B29 ] }; // 𐬨 𐬩 | |
key <AB08> { [ U10B3C, U10B39 ] }; // 𐬼 𐬹 | |
key <AB09> { [ U10B3E, U10B3D ] }; // 𐬾 𐬽 | |
key <AB10> { [ U10B3F, periodcentered ] }; // 𐬿 · | |
key <AC01> { [ U10B00, U10B01 ] }; // 𐬀 𐬁 | |
key <AC02> { [ U10B2F, U10B31 ] }; // 𐬯 𐬱 | |
key <AC03> { [ U10B1B, U10B1C ] }; // 𐬛 𐬜 | |
key <AC04> { [ U10B1F, U10B16 ] }; // 𐬟 𐬖 | |
key <AC05> { [ U10B14, U10B15 ] }; // 𐬔 𐬕 | |
key <AC06> { [ U10B35, UE100 ] }; // 𐬵 | |
key <AC07> { [ U10B18, U10B24 ] }; // 𐬘 𐬤 | |
key <AC08> { [ U10B10, UE101 ] }; // 𐬐 | |
key <AC09> { [ U10B2E, UE103 ] }; // 𐬮 | |
key <AC10> { [ U10B3B, U10B3A ] }; // 𐬻 𐬺 | |
key <AC11> { [ U10B1D ] }; // 𐬝 | |
key <AD01> { [ U10B22, U10B23 ] }; // 𐬢 𐬣 | |
key <AD02> { [ U10B33, U10B34 ] }; // 𐬳 𐬴 | |
key <AD03> { [ U10B08, U10B09 ] }; // 𐬈 𐬉 | |
key <AD04> { [ U10B2D, U10B26 ] }; // 𐬭 𐬦 | |
key <AD05> { [ U10B19, U10B1A ] }; // 𐬙 𐬚 | |
key <AD06> { [ U10B2B, U10B2A ] }; // 𐬫 𐬪 | |
key <AD07> { [ U10B0E, U10B0F ] }; // 𐬎 𐬏 | |
key <AD08> { [ U10B0C, U10B0D ] }; // 𐬌 𐬍 | |
key <AD09> { [ U10B0A, U10B0B ] }; // 𐬊 𐬋 | |
key <AD10> { [ U10B1E ] }; // 𐬞 | |
key <AD11> { [ U10B06, U10B07 ] }; // 𐬆 𐬇 | |
key <AD12> { [ U10B02, U10B03 ] }; // 𐬂 𐬃 | |
key <AE01> { [ U10B78 ] }; // 𐭸 | |
key <AE02> { [ U10B79 ] }; // 𐭹 | |
key <AE03> { [ U10B7A ] }; // 𐭺 | |
key <AE04> { [ U10B7B ] }; // 𐭻 | |
key <AE05> { [ U10B7C ] }; // 𐭼 | |
key <AE06> { [ U10B7D ] }; // 𐭽 | |
key <AE07> { [ U10B7E ] }; // 𐭾 | |
key <AE08> { [ U10B7F ] }; // 𐭿 | |
key <BKSL> { [ U10B04, U10B05 ] }; // 𐬄 𐬅 | |
key <LSGT> { [ U10B04, U10B05 ] }; // 𐬄 𐬅 | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment