Cách thêm bố cục bàn phím mới (Định nghĩa bố cục bàn phím tùy chỉnh)


20

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.xmlchứ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-WinXPbố cục mới không tuân theo irwinxpirwinxpbị thu hút. Thay vào đó irkiể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.

biểu tượng bố cục tối

Lưu ý : Tôi sử dụng Ubuntu 14.04.


2
Bạn chỉ có thể thêm một biến thể. Tôi đã làm điều đó ở đây: rlog.rgtti.com/2014/05/01/ Quảng
Rmano

Câu trả lời:


29

Tạo bố cục bàn phím tùy chỉnh

Ví dụ: tôi đang tìm cách thêm một tiếng Anh sửa đổi mới (các phím chết AltGr quốc tế) bố cục Hoa Kỳ với hoán đổi r, R& t, T. Tôi sẽ đặt tên cho nó là XY hoán đổi: RT English (khóa chết AltGr quốc tế) .

  1. Tạo tập tin biểu tượng mới:

    sudo nano /usr/share/X11/xkb/symbols/xy

    default  partial alphanumeric_keys
    xkb_symbols "basic" {
    
       name[Group1]= "XY swapped:RT English (international AltGr dead keys)";
    
       include "us(altgr-intl)"
    
    // my custom changes:
    
       key <AD04> { [        t, T,           ediaeresis,   Ediaeresis      ] };
       key <AD05> { [        r, R,           thorn,        THORN           ] };
    
    
       include "level3(ralt_switch)"
    };
    

    include "us(altgr-intl)" có nghĩa là nó kế thừa tất cả khóa từ bố cục đó chỉ khóa được ghi đè ở đây.

    Bạn có thể sử dụng Trình chỉnh sửa bố cục bàn phím là chương trình GUI giúp tạo hoặc chỉnh sửa bố cục bàn phím XKB. Cảm ơn @Glutanimate

  2. Thêm khai báo bố cục mới vào /usr/share/X11/xkb/rules/evdev.xml(sao chép và sửa đổi usphần bố cục)

    Tham khảo: Cung cấp bố cục bàn phím biến thể mới trong Cài đặt?

    sudo gedit /usr/share/X11/xkb/rules/evdev.xml

    ...
    <layout>
      <configItem>
        <name>xy</name>
    
        <shortDescription>en</shortDescription>
        <description>XY swapped:RT English (international AltGr dead keys)</description>
        <languageList>
                 <iso639Id>eng</iso639Id>
                 <iso639Id>fra</iso639Id>
                 <iso639Id>ger</iso639Id>
        </languageList>
      </configItem>
      <variantList>
      </variantList>
    </layout>
    ...
    
  3. Xóa bộ nhớ cache xkb.

    sudo rm /var/lib/xkb/*.xkm
    

    Ghi chú:

    Để tải các thay đổi vào menu bố cục, chỉ cần đóng tùy chọn bàn phím gnome và tải lại, không cần thiết phải khởi chạy lại trình quản lý cửa sổ.

    Có một sự thay đổi trong phiên bản Ubuntu (13.10) khiến bộ đệm cài đặt bàn phím không được làm mới sau khi các tệp trong thư mục "/ usr / share / X11 / xkb /bols" được sửa đổi. Có vẻ như những thay đổi không được áp dụng. Để buộc làm mới bộ đệm, bạn nên xóa các tệp * .xkm khỏi "/ var / lib / xkb".

    Tham khảo: Howto: Định nghĩa bố cục bàn phím tùy chỉnh

    hoặc là

    sudo dpkg-reconfigure xkb-data
    

    Tham khảo: Tại sao 13.10 phá vỡ bố cục bàn phím tùy chỉnh của tôi?

    Bố trí bàn phím tùy chỉnh

Trả lời để sửa đổi sửa đổi OP

  • ( Cập nhật bố cục phụ # 1 sai ) Bạn đã sửa đổi xkb_symbols "pes_part_basic"trong irwinxptệp: không sao cả.

    nhưng xkb_symbols "pes"trong irwinxphồ sơ vẫn:

    include "ir(pes_part_basic)"
    

    cần được:

    include "irwinxp(pes_part_basic)"
    
  • ( Cập nhật biểu tượng tùy chỉnh số 2 ) Nếu <shortDescription>en</shortDescription>thay đổi thành <shortDescription>xy</shortDescription>. Vì vậy, bố cục mới sẽ khác biệt Envà nó sẽ xuất hiện như Xy.

    Hầu hết có lẽ sẽ không có biểu tượng cho nó trong ubuntu-mono. Sau đó, chỉ báo sẽ tự động tạo một cái mới có thể không theo chủ đề hiện tại.

    1. Sao chép bất kỳ biểu tượng bố cục nào cho các chủ đề đơn sắc tối / sáng:

      sudo cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-En.svg /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-Xy.svg
      sudo cp /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-En.svg /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-Xy.svg
      
    2. Các tệp SVG chỉ là XML. Mở rồi để chỉnh sửa và thay đổi giá trị văn bản từ Enthành Xy:

      sudo nano /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-Xy.svg
      sudo nano /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-Xy.svg
      

      Thí dụ:

      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <svg width="22" xmlns="http://www.w3.org/2000/svg" version="1.1" height="22">
       <defs>
        <mask id="m">
         <rect y="0" x="0" style="fill:#fff" height="22" width="22"/>
         <text y="15.5" x="5" style="font-size:12;font-family:Ubuntu;font-weight:500;fill:black">Xy</text>
        </mask>
       </defs>
       <rect style="fill:#dfdbd2" mask="url(#m)" rx="2" height="20" width="20" y="1" x="1"/>
      </svg>
      
    3. Cập nhật bộ đệm chủ đề:

      sudo update-icon-caches /usr/share/icons/ubuntu-mono-*/            
      
    4. Đăng xuất / đăng nhập

      bố cục mới với biểu tượng tùy chỉnh

Tài liệu tham khảo hữu ích khác


1
Bây giờ nó là một hướng dẫn đầy đủ hơn help.ubfox.com/community/ ,. Cảm ơn. btw, tôi tự hỏi nếu tôi cần thêm tên bố cục mới vào các tập tin khác /usr/share/X11/xkb/rules/.
dùng69453

1
vâng @ user69453, :). Vì nó hoạt động không cần. Chúng dường như có cùng thông tin ở các định dạng khác nhau, rất có thể là quá trình di chuyển từ định dạng này sang định dạng khác, chúng tôi có thể mong đợi sự biến mất của một số trong số chúng phát hành tiếp theo. Không chắc chắn, nếu tôi nhận được bất kỳ tài liệu tham khảo cho điều đó, tôi sẽ thêm nó.
user.dz

1
Câu trả lời chính xác! Chỉ là một mẹo nhanh: Bạn có thể sử dụng KeyboardLayoutEditor để nhanh chóng tạo các tệp biểu tượng tùy chỉnh.
Glutimate

Thêm một hình ảnh cờ cũng cần thiết cho KDE. Một tùy chọn trong KDE có thể hiển thị cờ quốc gia thay vì nhãn bố cục. Đối với nhãn bố trí nhân tạo của tôi được hiển thị thay vì một cờ.
dùng69453

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.