انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: Mohammad.Mnt در 11 بهمن 1386، 04:15 ب‌ظ

عنوان: Keyboard Layout فارسی - بهینه‌شده
ارسال شده توسط: Mohammad.Mnt در 11 بهمن 1386، 04:15 ب‌ظ
چون نه از طرح‌بندی صفحه‌کلید ویندوز خوشم اومد نه از لینوکس، طرح بندی لینوکس را برای خودم بهینه کردم. گفتم شاید به درد شما هم بخوره:

(http://i30.tinypic.com/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 <behnam@esfahbod.info>
//


// 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î  <erdal.ronahi@gmail.com>
//
// 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 فارسی - بهینه‌شده
ارسال شده توسط: مهدی پیشگوی در 12 بهمن 1386، 01:35 ب‌ظ
خیلی جالبه اگه لطف کنید به بچه بگین چطوری این ها رو دستی ادیت کردین عالی میشه
عنوان: پاسخ به: Keyboard Layout فارسی - بهینه‌شده
ارسال شده توسط: khajavi در 13 بهمن 1386، 08:46 ق‌ظ
کار خوبی انجام دادی اما به دو دلیل کار درستی نیست:
۱− اول باید به این صفحه keyboard عادت کنی تا در سیستم های دیگر مشکلی نداشته باشی. همیشه که از کامپیوتر خودت استفاده نمی کنی که
۲− به نظر من بهترین keyboard پیاده شده برای زبان فارسی هست دلیلش هم نمیتونم الان بگم ولی اینو باید بگم که در دیگر نیاز به جابه جایی های زیاد برای تایپ حروف نیاز نیست
عنوان: پاسخ به: Keyboard Layout فارسی - بهینه‌شده
ارسال شده توسط: مهدی پیشگوی در 16 بهمن 1386، 07:24 ب‌ظ
البته تو شرایطی شما راست میگید ولی اون سیستم متعلق به اون شخص هستش و هرکاری دلش بخواد می تونه بکنه .(هرکاری)
عنوان: پاسخ به: Keyboard Layout فارسی - بهینه‌شده
ارسال شده توسط: salamat در 16 بهمن 1386، 08:07 ب‌ظ
نقل‌قول
کار خوبی انجام دادی اما به دو دلیل کار درستی نیست:
۱− اول باید به این صفحه keyboard عادت کنی تا در سیستم های دیگر مشکلی نداشته باشی. همیشه که از کامپیوتر خودت استفاده نمی کنی که
۲− به نظر من بهترین keyboard پیاده شده برای زبان فارسی هست دلیلش هم نمیتونم الان بگم ولی اینو باید بگم که در دیگر نیاز به جابه جایی های زیاد برای تایپ حروف نیاز نیست

موافقم .
البته keyboard لینوکس چند تفاوت کوچیک با ویندوز داره که فکر کنم لینوکس خیلی راحت تر باشه .  ;)