لینکس پر مرضی کا کیبورڈ ؟

رضوی

محفلین
لینکس پر مرضی کا کیبورڈ کیسے بنے گا؟ میں سرائیکی کی بورڈ بنانا چاہتا ہوں۔
اور اوبنتو استعمال کرتا ہوں۔
 

دوست

محفلین
بھائی جی اس کا طریقہ بہت آسان ہے۔ فائل کو اتاریں اور اس میں اگر آپ دیکھیں تو کچھ یوں چیزیں ہیں۔
کوڈ:
// based on a keyboard map from an 'xkb/symbols/ur' file
// Contact: Nadir Durrani
// E-mail : [email]aquadurrani@hotmail.com[/email]
// $XFree86$

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

// NOTES:
//
// there is also combined shadda diacritis in AltGr position of simple
// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan
// should a third state be added to Group2 ?
//

   key <TLDE> {  [     0x100064d  ,       0x100064b      ]     };
   key <AE01> {  [     0x1000031  ,       0x1000021      ]     };
   key <AE02> {  [     0x1000032  ,       0x100066C      ]     };
   key <AE03> {  [     0x1000033  ,       0x1000600     ]     };
   key <AE04> {  [     0x1000034  ,       0x1000626      ]     };
   key <AE05> {  [     0x1000035  ,       0x1000003      ]     };
   key <AE06> {  [     0x1000036  ,       0x10006d6      ]     };
   key <AE07> {  [     0x1000037  ,       0x1000654      ]     };
   key <AE08> {  [     0x1000038  ,       0x100064c      ]     };
   key <AE09> {  [     0x1000039  ,       0x1000029      ]     };
   key <AE10> {  [     0x1000030  ,       0x1000028      ]     };
   key <AE11> {  [     0x1000623  ,       0x1000651      ]     };
   key <AE12> {  [     0x1000624  ,       0x1000622      ]     };
   key <AD01> {  [     0x1000642  ,       0x1000652      ]     };
   key <AD02> {  [     0x1000648  ,       0x1000624      ]     };
   key <AD03> {  [     0x1000639  ,       0x1000651      ]     };
   key <AD04> {  [     0x1000631  ,       0x1000691      ]     };
   key <AD05> {  [     0x100062a  ,       0x1000679      ]     };
   key <AD06> {  [     0x10006d2  ,       0x1000601      ]     };
   key <AD07> {  [     0x1000626  ,       0x1000621      ]     };
   key <AD08> {  [     0x10006cc  ,       0x1000670      ]     };
   key <AD09> {  [     0x10006c1  ,       0x10006c3      ]     };
   key <AD10> {  [     0x100067e  ,       0x100064f      ]     };
   key <AD11> {  [     0x100005d  ,       0x1000670      ]     };
   key <AD12> {  [     0x100005b  ,       0x1000670      ]     };

   key <AC01> {  [     0x1000627  ,       0x1000622      ]     };
   key <AC02> {  [     0x1000633  ,       0x1000635      ]     };
   key <AC03> {  [     0x100062f  ,       0x1000688      ]     };
   key <AC04> {  [     0x1000641  ,       0x1000003      ]     };
   key <AC05> {  [     0x10006af  ,       0x100063a      ]     };
   key <AC06> {  [     0x10006be  ,       0x100062d      ]     };
   key <AC07> {  [     0x100062c  ,       0x1000636      ]     };
   key <AC08> {  [     0x10006a9  ,       0x100062e      ]     };
   key <AC09> {  [     0x1000644  ,       0x1000613      ]     };
   key <AC10> {  [     0x100061b  ,       0x100003a      ]     };
   key <AC11> {  [     0x1000670  ,       0x1000022       ]     };
   key <BKSL> {  [     0x100060e ,        0x1000614      ]     };

   key <LSGT> {  [            bar ,       brokenbar      ]     };
   key <AB01> {  [     0x1000632  ,       0x1000630      ]     };
   key <AB02> {  [     0x1000634  ,       0x1000698      ]     };
   key <AB03> {  [     0x1000686  ,       0x100062b      ]     };
   key <AB04> {  [     0x1000637  ,       0x1000638      ]     };
   key <AB05> {  [     0x1000628  ,       0x1000612      ]     };
   key <AB06> {  [     0x1000646  ,       0x10006ba      ]     };
   key <AB07> {  [     0x1000645  ,       0x1000003      ]     };
   key <AB08> {  [     0x100060c  ,       0x1000650      ]     };
   key <AB09> {  [     0x10006d4  ,       0x100064e      ]     };
   key <AB10> {  [     0x1000003  ,       0x100061f      ]     };

   // End alphanumeric section
};

partial alphanumeric_keys
xkb_symbols "qwerty" {
   include "pc/ar(basic)"
};

partial alphanumeric_keys
xkb_symbols "azerty" {
   include "pc/ar(basic)"

   // the north african arabic keyboard differs from the middle east one
   // by the numeric row; it follows French keyboard style
   //
   // PROBLEM: some chars are inaccessible: ! @ # $ % ^ *
   // should they go elsewhere? replace " ' that are now in double ?
   // also, dead_circumflex and dead_diaeresis from French keyboard
   // as well as ugrave are missing, which questions the utility of the
   // other accentuated latin letters. Maybe this is useful only with
   // a French keyboard in Group1 ? Then, shouldn't Group1 be filled ?

   key <AE01> {  [       ampersand,               1      ]       };
   key <AE02> {  [          eacute,               2      ]       };
   key <AE03> {  [        quotedbl,               3      ]       };
   key <AE04> {  [      apostrophe,               4      ]       };
   key <AE05> {  [       parenleft,               5      ]       };
   key <AE06> {  [           minus,               6      ]       };
   key <AE07> {  [          egrave,               7      ]       };
   key <AE08> {  [      underscore,               8      ]       };
   key <AE09> {  [        ccedilla,               9      ]       };
   key <AE10> {  [          agrave,               0      ]       };
   key <AE11> {  [      parenright,          degree      ]       };
};

partial alphanumeric_keys
xkb_symbols "digits" {
   include "pc/ar(basic)"

   // use arabic script digits

   key <AE01> {  [       0x1000661,          exclam      ]       };
   key <AE02> {  [       0x1000662,              at      ]       };
   key <AE03> {  [       0x1000663,      numbersign      ]       };
   key <AE04> {  [       0x1000664,          dollar      ]       };
   key <AE05> {  [       0x1000665,         percent      ]       };
   key <AE06> {  [       0x1000666,     asciicircum      ]       };
   key <AE07> {  [       0x1000667,       ampersand      ]       };
   key <AE08> {  [       0x1000668,        asterisk      ]       };
   key <AE09> {  [       0x1000669,       parenleft      ]       };
   key <AE10> {  [       0x1000660,      parenright      ]       };
};

partial alphanumeric_keys
xkb_symbols "qwerty_digits" {
   include "pc/ar(digits)"
};

partial alphanumeric_keys
xkb_symbols "azerty_digits" {
   include "pc/ar(azerty)"
      key <AE01> {  [       ampersand,       0x1000661      ]       };
   key <AE02> {  [          eacute,       0x1000662      ]       };
   key <AE03> {  [        quotedbl,       0x1000663      ]       };
   key <AE04> {  [      apostrophe,       0x1000664      ]       };
   key <AE05> {  [       parenleft,       0x1000665      ]       };
   key <AE06> {  [           minus,       0x1000666      ]       };
   key <AE07> {  [          egrave,       0x1000667      ]       };
   key <AE08> {  [      underscore,       0x1000668      ]       };
   key <AE09> {  [        ccedilla,       0x1000669      ]       };
   key <AE10> {  [          agrave,       0x1000660      ]       };
};

AE, AD, AC, AB نامی چار مختلف کمبینینش ہیں جو کی بورڈ کی چار لائنوں کو ظاہر کرتی ہیں۔ اوپر سے نیچے کی طرف۔ آپ ہر لائن میں بٹن گن کر تصدیق کرسکتے ہیں۔ اب کام رہ جاتا ہے ان پر یونیکوڈ قدریں ڈالنے کا۔ ہر بٹن والی قطار میں پہلی قدر نارمل اور دوسری شفٹ کو ظاہر کرتی ہے۔ بس اس کے مطابق قدریں ڈالتے جائیں اور کی بورڈ تیار۔
بائیں ہاتھ پر سب سے اوپر ٹلڈے کی کلید ہے جسے اس میں بھی ٹلڈے ہی لکھا گیا ہے جو کہ الگ ظاہر ہوگی باقی آپ گن کر تصدیق کرسکتے ہیں۔
وسلام
 

ابوشامل

محفلین
دوست بھائی! یہ طریقہ میں پہلے پوچھ چکا تھا، لیکن یقین کریں سمجھ میں ذرا بھی نہیں آیا :roll:
کیا آپ تھوڑی سے زحمت کرکے مجھے کبنٹو کے لیے کی بورڈ بنا کر دے سکتے ہیں۔ مائیکروسوفٹ ونڈوز کا ڈیفالٹ کی بورڈ استعمال کرتا ہوں۔
 

دوست

محفلین
ابوشامل آپ کو کیا سمجھ نہیں آرہی؟
کچھ وضاحت فرمائیں۔ اگر یونیکوڈ قدروں میں مسئلہ درپیش ہے تو آفس 2006 یا بعد کا ورڈ کھول لیں اور اس میں جو بھی یونیکوڈ حرف لکھ کر آلٹ ایکس دبائیں گے اس کی قدر ظاہر ہوجائے گی۔ اس قدر کو آپ نے متعلقہ کلید پر فٹ کردینا ہے۔ جیسے 0x10006d6 اصل میں 06d6
ہے جسے کی بورڈ میں صرف ضرب ایک سو کرکے لکھا جاتا ہے۔ تعداد اتنی ہی ہونی چاہیے جتنی آپ کو نظر آرہی ہے۔ یعنی صفر اور ایکس(ضرب کا نشان) ملا کر سارے نو ہونے چاہییں۔
وسلام
 
Top