Tôi muốn sao chép một bố cục bàn phím /usr/share/X11/xkb/symbols/
và thay đổi nó và sau đó tạo ra một bố cục mới từ nó.
Làm cách nào tôi có thể thêm bố cục bàn phím mới (được đặt tên là "mylayout")?
Cập nhật số 1:
Tập tin tôi đã thay đổi để thêm một bố cục mới:
/usr/share/X11/xkb/symbols/irwinxp
(ban đầu giống nhưir
):// 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 <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_keypad)" include "nbsp(zwnj2nb3nnb4)" include "level3(ralt_switch)" }; partial hidden 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_fathatan, degree ] }; // 2: Arabic_sukun key <AD02> { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; // 2: Arabic_dammatan key <AD03> { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] }; // 2: Arabic_kasratan key <AD04> { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; key <AD05> { [ Arabic_feh, Arabic_comma, VoidSymbol ] }; // 2: Arabic_damma key <AD06> { [ Arabic_ghain, Arabic_semicolon, VoidSymbol ] }; // 2: Arabic_kasra key <AD07> { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; key <AD08> { [ Arabic_heh, Arabic_hamza_above, 0x100202d ] }; // 2: Arabic_shadda 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_fatha, VoidSymbol ] }; // 2: Arabic_hamzaonwaw key <AC02> { [ Arabic_seen, Arabic_damma, VoidSymbol ] }; // 2: Arabic_hamzaonyeh key <AC03> { [ Farsi_yeh, Arabic_kasra, Arabic_alefmaksura ] }; // 2: Arabic_yeh key <AC04> { [ Arabic_beh, Arabic_shadda, VoidSymbol ] }; // 1: Arabic_hamzaunderalef key <AC05> { [ Arabic_lam, 0x10006c0, VoidSymbol ] };// 2: Arabic_hamzaonalef 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, quotedbl, quotedbl ] }; // 2: Arabic_semicolon 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_hamzaonwaw ,0x1000656 ] }; // 2: Arabic_superscript_alef ٰ key <AB05> { [ Arabic_thal, 0x100200c, 0x100200d ] }; key <AB06> { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] }; key <AB07> { [ Arabic_hamzaonyeh, Arabic_hamza, ellipsis ] }; // 1: Arabic_peh 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> { [ Arabic_peh, bar, 0x1002010 ] }; // 1: backslash }; partial hidden alphanumeric_keys xkb_symbols "pes_part_ext" { // Persian and ASCII digits key <AE01> { [ 0x10006f1, exclam, grave, 1 ] }; key <AE02> { [ 0x10006f2, 0x100066c, at, 2 ] }; key <AE03> { [ 0x10006f3, 0x100066b, numbersign, 3 ] }; key <AE04> { [ 0x10006f4, 0x100fdfc, dollar, 4 ] }; key <AE05> { [ 0x10006f5, 0x100066a, percent, 5 ] }; key <AE06> { [ 0x10006f6, multiply, asciicircum, 6 ] }; key <AE07> { [ 0x10006f7, Arabic_comma, ampersand, 7 ] }; key <AE08> { [ 0x10006f8, asterisk, enfilledcircbullet, 8 ] }; key <AE09> { [ 0x10006f9, parenright, 0x100200e, 9 ] }; key <AE10> { [ 0x10006f0, parenleft, 0x100200f, 0 ] }; }; partial hidden 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, 0x10006f7 ] }; key <KP8> { [ KP_Up, 0x10006f8 ] }; key <KP9> { [ KP_Prior, 0x10006f9 ] }; key <KP4> { [ KP_Left, 0x10006f4 ] }; key <KP5> { [ KP_Begin, 0x10006f5 ] }; key <KP6> { [ KP_Right, 0x10006f6 ] }; key <KP1> { [ KP_End, 0x10006f1 ] }; key <KP2> { [ KP_Down, 0x10006f2 ] }; key <KP3> { [ KP_Next, 0x10006f3 ] }; key <KP0> { [ KP_Insert, 0x10006f0 ] }; 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î <erdal.ronahi@gmail.com> // // 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, 0x10006f1, grave ] }; key <AE02> { [ 2, at, 0x10006f2, at ] }; key <AE03> { [ 3, numbersign, 0x10006f3, 0x100066b ] }; key <AE04> { [ 4, dollar, 0x10006f4, 0x100fdfc ] }; key <AE05> { [ 5, percent, 0x10006f5, 0x100066a ] }; key <AE06> { [ 6, asciicircum, 0x10006f6, multiply ] }; key <AE07> { [ 7, ampersand, 0x10006f7, Arabic_comma ] }; key <AE08> { [ 8, asterisk, 0x10006f8, enfilledcircbullet ] }; key <AE09> { [ 9, parenright, 0x10006f9, 0x100200e ] }; key <AE10> { [ 0, parenleft, 0x10006f0, 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 ] }; // 𐬄 𐬅 };
Một phần
/usr/share/X11/xkb/rules/evdev.xml
chứa tất cả các sửa đổi:... <layout> <configItem> <name>ir</name> <shortDescription>fa</shortDescription> <description>Persian</description> <languageList> <iso639Id>per</iso639Id> </languageList> </configItem> <variantList> <variant> <configItem> <name>pes_keypad</name> <description>Persian (with Persian Keypad)</description> </configItem> </variant> <variant> <configItem> <name>ku</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, Latin Q)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>ku_f</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, F)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>ku_alt</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, Latin Alt-Q)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>ku_ara</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, Arabic-Latin)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> </variantList> </layout> <layout> <configItem> <name>irwinxp</name> <shortDescription>fa</shortDescription> <description>Persian-WinXP</description> <languageList> <iso639Id>per</iso639Id> </languageList> </configItem> <variantList> <variant> <configItem> <name>pes_keypad</name> <description>Persian (with Persian Keypad)</description> </configItem> </variant> <variant> <configItem> <name>ku</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, Latin Q)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>ku_f</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, F)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>ku_alt</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, Latin Alt-Q)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> <variant> <configItem> <name>ku_ara</name> <shortDescription>ku</shortDescription> <description>Kurdish (Iran, Arabic-Latin)</description> <languageList> <iso639Id>kur</iso639Id> </languageList> </configItem> </variant> </variantList> </layout> <layout> <configItem> <name>iq</name> ...
Nhưng bây giờ, với những thay đổi này, Persian-WinXP
bố cục mới không tuân theo irwinxp
và irwinxp
bị thu hút. Thay vào đó ir
kiểm soát Persian-WinXP
.
Cập nhật số 2:
Unity có một vấn đề với bố cục mới của tôi. Biểu tượng bố cục mới là bóng tối. Nhưng nó hoạt động tốt.
Lưu ý : Tôi sử dụng Ubuntu 14.04.