انجمن کاربران لینوکس ایران - تکنوتاکس سابق

نسخه ي کامل: Keyboard Layout فارسی - بهینه‌شده
شما در حال مشاهده نسخه ي متني اين صفحه هستيد. مشاهده نسخه کامل تر با قالب بندي صحيح
چون نه از طرح‌بندی صفحه‌کلید ویندوز خوشم اومد نه از لینوکس، طرح بندی لینوکس را برای خودم بهینه کردم. گفتم شاید به درد شما هم بخوره:

[عکس : 205e8nk.jpg]









============================================
پرونده‌ی etc/X11/xkb/symbols/ir/ را ویرایش کنید و با این متن جایگزین کنید:

کد :
// $XKeyboardConfig: xkbdesc/symbols/ir,v 1.7 2006/08/31 23:07:37 svu Exp $
// Iranian keyboard layout,
// based on National Iranian Keyboard Standard (ISIRI 2901:1994),
// with additions.
//
// Copyright (C) 2004,2005  Sharif FarsiWeb, Inc.
//
// Author: Behnam Esfahbod <[email protected]>
//


// 3-Level layout

partial default alphanumeric_keys
xkb_symbols "basic" {
    name[Group1]= "Iran";

    // Persian digits
    key <AE01> { [ 0x10006f1,    exclam        ] };
    key <AE02> { [ 0x10006f2,    at            ] };
    key <AE03> { [ 0x10006f3,    numbersign    ] };
    key <AE04> { [ 0x10006f4,    dollar        ] };
    key <AE05> { [ 0x10006f5,    percent        ] };
    key <AE06> { [ 0x10006f6,    asciicircum    ] };
    key <AE07> { [ 0x10006f7,    ampersand    ] };
    key <AE08> { [ 0x10006f8,    asterisk    ] };
    key <AE09> { [ 0x10006f9,    parenright    ] };
    key <AE10> { [ 0x10006f0,   parenleft    ] };

    // Other 3-Level symbols
    key <TLDE> { [ 0x100067e,    asciitilde    ] };
    key <AE11> { [ minus,       underscore    ] };
    key <AE12> { [ equal,       plus        ] };
    key <BKSL> { [ backslash,   bar            ] };
    key <SPCE> { [ space,        0x100200c     ] };

    key <AD01> { [ Arabic_dad,        Arabic_dammatan        ] };
    key <AD02> { [ Arabic_sad,        Arabic_kasratan        ] };
    key <AD03> { [ Arabic_theh,        Arabic_fathatan        ] };
    key <AD04> { [ Arabic_qaf,        Arabic_shadda        ] };
    key <AD05> { [ Arabic_feh,        Arabic_comma        ] };
    key <AD06> { [ Arabic_ghain,    Arabic_semicolon    ] };
    key <AD07> { [ Arabic_ain,        VoidSymbol            ] };
    key <AD08> { [ Arabic_heh,        VoidSymbol            ] };
    key <AD09> { [ Arabic_khah,        bracketright        ] };
    key <AD10> { [ Arabic_hah,        bracketleft            ] };
    key <AD11> { [ Arabic_jeem,        braceright            ] };
    key <AD12> { [ 0x1000686,        braceleft            ] };

    key <AC01> { [ Arabic_sheen,    Arabic_damma        ] };
    key <AC02> { [ Arabic_seen,        Arabic_kasra        ] };
    key <AC03> { [ 0x10006cc,        Arabic_fatha        ] };
    key <AC04> { [ Arabic_beh,        Arabic_sukun        ] };
    key <AC05> { [ Arabic_lam,        Arabic_hamzaonalef    ] };
    key <AC06> { [ Arabic_alef,        Arabic_maddaonalef    ] };
    key <AC07> { [ Arabic_teh,        Arabic_tatweel        ] };
    key <AC08> { [ Arabic_noon,        guillemotright        ] };
    key <AC09> { [ Arabic_meem,        guillemotleft        ] };
    key <AC10> { [ 0x10006a9,        colon                ] };
    key <AC11> { [ 0x10006af,        quotedbl            ] };

    key <AB01> { [ Arabic_zah,            Arabic_kaf        ] };
    key <AB02> { [ Arabic_tah,            Arabic_yeh        ] };
    key <AB03> { [ Arabic_zain,            0x1000698        ] };
    key <AB04> { [ Arabic_ra,            0x1000670        ] };
    key <AB05> { [ Arabic_thal,            0x100200d        ] };
    key <AB06> { [ Arabic_dal,            0x1000654        ] };
    key <AB07> { [ Arabic_hamzaonyeh,    Arabic_hamza    ] };
    key <AB08> { [ Arabic_waw,            greater            ] };
    key <AB09> { [ period,                less            ] };
    key <AB10> { [ slash,                Arabic_question_mark] };

//    include "level3(ralt_switch)"
};


partial hidden alphanumeric_keys
xkb_symbols "part_pro" {

    // Persian and English (ASCII) digits
    key <AE01> { [ 0x10006f1,    exclam,        quoteleft,        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 "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    ] };
};

// 4-Level leyout

partial alphanumeric_keys
xkb_symbols "pro" {
    include "ir(basic)"
    include "ir(part_pro)"

    name[Group1]= "Iran - Pro";
};


// Persian Keypad leyout

partial alphanumeric_keys
xkb_symbols "keypad" {
    include "ir(basic)"
    include "ir(part_keypad)"

    name[Group1]= "Iran - Keypad";
};


// 4-Level leyout with Persian Keypad leyout

partial alphanumeric_keys
xkb_symbols "pro_keypad" {
    include "ir(basic)"
    include "ir(part_keypad)"
    include "ir(part_pro)"

    name[Group1]= "Iran - Pro Keypad";

};

partial alphanumeric_keys
xkb_symbols "ku" {
    include "tr(ku)"
    name[Group1]= "Iran - Kurdish, Latin Q";
};

partial alphanumeric_keys
xkb_symbols "ku_f" {
    include "tr(ku_f)"
    name[Group1]= "Iran - Kurdish, (F)";
};

partial alphanumeric_keys
xkb_symbols "ku_alt" {
    include "tr(ku_alt)"
    name[Group1]= "Iran - Kurdish, 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
//
// Author: Erdal Ronahî  <[email protected]>
//
// Kurdish Arabic-Latin Layout for Soranî
partial alphanumeric_keys
xkb_symbols "ku_ara" {
    name[Group1]= "Iran - Kurdish, Arabic-Latin";

    // Other 3-Level symbols
    key <TLDE> { [ 0x100200d,        division,        asciitilde    ] };
    key <BKSL> { [ backslash,        bar,            ccedilla, Ccedilla    ] };
    key <SPCE> { [ space,        0x100200c,        nobreakspace    ] };

    // Digits
    key <AE01> { [ 1,    exclam,        0x10006f1,    quoteleft    ] };
    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 "level3(ralt_switch)"

};
جالب بود. ممنون.
پس باید بشه به راحتی یه keyboard layout جدید (غیر از زبانهای کشورها) بوجو آور دیگه. مثلا برای کاراکترهای خاص یونیکد که توی هیچکدوم نیستن. سر فرصت اینو امتحان می‌کنم ببینم میشه یا نه؟