আপনি যদি সুপার + এক্স, সুপার + সি, সুপার + ভি ফর্মের কয়েকটি সিক্যুয়েন্স যেমন Ctrl + x, Ctrl + c, Ctrl + v এর মতো অন্যান্য অনুক্রমের সাথে বাঁধতে চান তবে উদাহরণস্বরূপ যাতে (ওপি পছন্দসই হিসাবে) এগুলি নির্দিষ্ট সুপার-কী সিকোয়েন্সগুলি সাধারণত আপনার সিস্টেমে সুপার কী এর অন্য কোনও ব্যবহারকে প্রভাবিত না করে কাটা এবং পেস্ট করার মানচিত্র তৈরি করবে, কেবল এক্স কেবি এক্সটেনশন ব্যবহার করে এটি সম্ভব। নীচের পদ্ধতিটি পদক্ষেপের রূপরেখা দেয় এবং দুটি ভিন্ন প্রারম্ভিক কীবোর্ড সেটআপের জন্য বিশদটির দুটি পৃথক উদাহরণ দেয়; আশা করি এটি আপনার সিস্টেমে মানিয়ে নেওয়ার জন্য পর্যাপ্ত তথ্য সরবরাহ করবে। এটি ধরে নেয় যে আপনি নিজের সিস্টেমে ফাইলগুলি তৈরি করতে এবং সম্পাদনা করতে স্বাচ্ছন্দ্য বোধ করেন যেমন সিস্টেমের মতো লোকেশনগুলিতে /usr/share/X11/xkb
।
আপনার এক্সকেবি কনফিগারেশন ট্রিটি কোথায় থাকতে চান তা সিদ্ধান্ত নিন। প্রথমে সিস্টেমটি সন্ধান করুন। এটি সাধারণত / ইউএসআর / শেয়ার / এক্স 11 / এক্সকেবিতে থাকে এবং এটি সেখানে না থাকলে কীভাবে এটি সন্ধান করব তা আমি নিশ্চিতভাবে জানি না; আপনি কেবল "xkb" নামের ডিরেক্টরিগুলির জন্য আপনার সিস্টেমটি অনুসন্ধান করতে পারেন। যাইহোক, একবার এটি সন্ধান করার পরে আপনি সিস্টেমটিকে এক জায়গায় পরিবর্তন করতে পারেন, বা আপনি নিজের পছন্দসই ডিরেক্টরি ব্যবহার করতে পারেন। সিস্টেম ডিরেক্টরিটি ব্যবহার করার সুবিধাটি হ'ল আপনি আরও সহজেই আপনার পরিবর্তনগুলি ডেকে আনতে পারেন, তবে ত্রুটিটি হ'ল ভবিষ্যতের সিস্টেম আপডেটগুলি আপনার পরিবর্তনগুলি ওভাররাইট করতে পারে (আপনাকে সতর্ক করা হয়েছে)। যাই হোক না কেন, এরপরে উল্লিখিত সমস্ত ফাইলের নামগুলি এই ডিরেক্টরিটির সাথে সম্পর্কিত, যা আমি $ XKBLOCAL as হিসাবে প্রয়োজন হলে উল্লেখ করব এবং সমস্ত কমান্ডই ধরে নিবে এটি আপনার বর্তমান ডিরেক্টরি।
বর্তমান এক্স, সি, ভি কীগুলি কী কী XKB "টাইপ" তা নির্ধারণ করুন। এটি করার সহজতম উপায় হ'ল কমান্ডের মাধ্যমে xkbcomp -a $DISPLAY - | grep -C 6 c,
(লক্ষ্য করুন কমাটি ইচ্ছাকৃতভাবে প্যাটার্নটিতে অন্তর্ভুক্ত করা হয়েছে)। আমার প্রথম উদাহরণ সেটআপে, এটি তৈরি করে:
key <AB02> {
type= "ALPHABETIC",
symbols[Group1]= [ x, X ]
};
key <AB03> {
type= "ALPHABETIC",
symbols[Group1]= [ c, C ]
};
key <AB04> {
type= "ALPHABETIC",
symbols[Group1]= [ v, V ]
};
key <AB05> {
যদিও আমার অন্যান্য উদাহরণে এটি তৈরি করে
key <AB02> {
type= "FOUR_LEVEL",
symbols[Group1]= [ x, X, approxeq, dead_ogonek ]
};
key <AB03> {
type= "FOUR_LEVEL",
symbols[Group1]= [ c, C, ccedilla, Ccedilla ]
};
key <AB04> {
type= "FOUR_LEVEL",
symbols[Group1]= [ v, V, squareroot, U25CA ]
};
key <AB05> {
আপশটটি হ'ল প্রথম উদাহরণে, প্রাসঙ্গিক কীগুলি "ALPHABETIC" টাইপ হয় এবং দ্বিতীয় উদাহরণে সেগুলি "FOUR_LEVEL" টাইপের হয়। আপনার কীবোর্ড সেটআপের উপর নির্ভর করে আপনি দেখতে পাবেন যে সেগুলি পুরোপুরি অন্য কোনও ধরণের। এরপরে, প্রকারটি $ TYPE as হিসাবে উল্লেখ করা হবে, যা আপনাকে অবশ্যই সত্যিকারের স্ট্রিং ALPHABETIC বা নীচের কমান্ডের সাথে প্রতিস্থাপন করতে হবে।
$ TYPE of এর সংজ্ঞাটি সন্ধান করুন এবং এটি $ XKBLOCAL $ / প্রকার ডিরেক্টরিতে একটি নতুন ফাইলে অনুলিপি করুন। এখানে একটি কমান্ড যে শুধু যে আছে: xkbcomp -a $DISPLAY - | grep -z -o 'type "$TYPE$" {[^}]*};' > types/cutpaste
। "কাটপেষ্ট" ফাইলটি বেছে নিয়েছি তার নামটি স্বেচ্ছাচারিতায় আপনার পছন্দ মতো নাম ব্যবহার করুন তবে নোট করুন যে আপনাকে পরবর্তী ধাপে ধারাবাহিকভাবে এই ফাইলটি উল্লেখ করতে হবে। প্রথম সেটআপে, এই ফাইলটি সামগ্রীগুলি পায় gets
type "ALPHABETIC" {
modifiers= Shift+Lock;
map[Shift]= Level2;
map[Lock]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
};
এবং অন্য উদাহরণে এটি বিষয়বস্তু পায়
type "FOUR_LEVEL" {
modifiers= Shift+LevelThree;
map[Shift]= Level2;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
};
দুটি কাজ করার জন্য ফাইলের ধরন / কাটপাস্টে সম্পাদনা করুন: একটি উপস্থাপিকা এবং পোস্টাম্বল যুক্ত করুন যা এটি একটি যথাযথ এক্সকেবি ধারা তৈরি করে এবং সুপারের সাথে সংশোধক দ্বারা উত্পাদিত আরও একটি স্তর যুক্ত করতে প্রকারের নাম এবং প্রকারের সংজ্ঞা পরিবর্তন করুন। আপনার সিস্টেমে কী সেই সংশোধক রয়েছে তা আপনার পরীক্ষা করা উচিত, এটি নীচে ব্যবহৃত হিসাবে সম্ভবত Mod4। প্রয়োজনীয় পরিবর্তনগুলি প্রকারের / কাটপাস্টের দুটি উদাহরণের চূড়ান্ত সংস্করণ থেকে স্পষ্ট হওয়া উচিত, যথা:
default partial xkb_types "addsuper" {
type "ALPHABETIC_SUPER" {
modifiers= Shift+Lock+Mod4;
map[Shift]= Level2;
map[Lock]= Level2;
map[Mod4]= Level3;
map[Shift+Mod4]= Level3;
map[Lock+Mod4]= Level3;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
level_name[Level3]= "With Super";
};
};
এবং
default partial xkb_types "addsuper" {
type "FOUR_LEVEL_SUPER" {
modifiers= Shift+LevelThree+Mod4;
map[Shift]= Level2;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
map[Mod4]= Level5;
map[Shift+Mod4] = Level5;
map[LevelThree+Mod4] = Level5;
map[Shift+LevelThree+Mod4] = Level5;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
level_name[Level5]= "With Super"';
};
};
দ্বিতীয় ধাপে গ্রেপ দ্বারা আউটপুট প্রাপ্ত মূল প্রতীক সংজ্ঞাগুলি একটি নতুন নতুন ফাইল চিহ্ন / কাটপাস্টে অনুলিপি করুন এবং অনুরূপ উপস্থাপনা এবং পোস্টাম্বল যুক্ত করুন এবং নতুন প্রকারগুলি ব্যবহার করতে সংজ্ঞা সংশোধন করুন এবং পছন্দসই কী পরিচালনা করতে সংজ্ঞাটিতে ক্রিয়া যুক্ত করুন সুপার সংস্করণ দ্বারা উত্পাদিত। আমাদের দুটি উদাহরণে এর ফলাফলগুলি:
default partial xkb_symbols "superversions" {
replace key <AB02> {
type[Group1]= "ALPHABETIC_SUPER",
symbols[Group1]= [ x, X, NoSymbol ],
actions[Group1]= [ NoAction(), NoAction(), RedirectKey(key=<LatX>,mods=Control,clearmods=Super)]
};
replace key <AB03> {
type[Group1]= "ALPHABETIC_SUPER",
symbols[Group1]= [ c, C, NoSymbol ],
actions[Group1]= [ NoAction(), NoAction(), RedirectKey(key=<LatC>,mods=Control,clearmods=Super)]
};
replace key <AB04> {
type[Group1]= "ALPHABETIC_SUPER",
symbols[Group1]= [ v, V, NoSymbol ],
actions[Group1]= [ NoAction(), NoAction(), RedirectKey(key=<LatV>,mods=Control,clearmods=Super)]
};
};
এবং
default partial xkb_symbols "superversions" {
replace key <AB02> {
type[Group1]= "FOUR_LEVEL_SUPER",
symbols[Group1]= [x,X,approxeq,dead_ogonek,NoSymbol],
actions[Group1]= [NoAction(),NoAction(),NoAction(),NoAction(),RedirectKey(key=<LatX>,mods=Control,clearmods=Super)]
};
replace key <AB03> {
type[Group1]= "FOUR_LEVEL_SUPER",
symbols[Group1]= [c,C,ccedilla,Ccedilla,NoSymbol],
actions[Group1]= [NoAction(),NoAction(),NoAction(),NoAction(),RedirectKey(key=<LatC>,mods=Control,clearmods=Super)]
};
replace key <AB04> {
type[Group1]= "FOUR_LEVEL_SUPER",
symbols[Group1]= [v,V,squareroot,U25CA,NoSymbol],
actions[Group1]= [NoAction(),NoAction(),NoAction(),NoAction(),RedirectKey(key=<LatV>,mods=Control,clearmods=Super)]
};
};
মনে রাখবেন যে দ্বিতীয় উদাহরণে আমি কিছুটা (অ-উল্লেখযোগ্য) শ্বেতস্পেস বের করে আনি এবং লাইনের দৈর্ঘ্যটি কিছুটা নিয়ন্ত্রণে রাখতে পারি।
বর্তমানে এক্সকেবি ব্যবহার করছে এমন বিধিগুলির নাম সন্ধান করুন। এটি সহজ, এর ফলাফলতে এটি দেখানো হয়েছে setxkbmap -query
। আমার ক্ষেত্রে এটি "ইদেবদেহ" ছিল।
বিধিগুলির / সিস্টেমের সংস্করণ (বা আপনার বিধিগুলির নাম নির্ধারণ করা যাই হোক না কেন) এর অনুলিপিটি $ XKBLOCAL $ / নিয়মাবলী / ইভদেভে অনুলিপি করুন এবং আমাদের তৈরি অপশনগুলিকে নির্দেশ করে নিয়ম যুক্ত করুন। আপনার এখানে দুটি পছন্দ রয়েছে: আপনি সমস্ত ইদেভ বা কীবোর্ডের মডেল, বিন্যাস, বৈকল্পিক এবং বিকল্পগুলি (যা) আপনি প্রকৃতপক্ষে ব্যবহার করছেন সেগুলি উল্লেখ করে কেবল অংশগুলি অনুলিপি করতে পারেন। অবশ্যই, আপনি যদি জায়গাটিতে সিস্টেম ফাইলগুলি সংশোধন করছেন, আপনার কেবল অনুলিপি করার দরকার নেই, কেবল সম্পাদনা করুন।
এই ক্ষেত্রে, যা যুক্ত হবে তা প্রাথমিক কীবোর্ড সেটআপ নির্বিশেষে অভিন্ন, সুতরাং কেবল একটি উদাহরণ রয়েছে। আপনি যে বিধি ফাইলটি শুরু করেন সে বিভাগটি সন্ধান করতে পারেন এবং সেই বিভাগটিতে ! option = symbols
একটি লাইন যুক্ত করেছেন এবং cutpaste:super = +cutpaste
আপনি যে বিধি ফাইলটি শুরু করেছিলেন ! option = types
সেটির বিভাগ cutpaste:super = +cutpaste
এবং সেই বিভাগের একটি লাইনও পেয়েছেন ।
Evdev.lst এর সিস্টেম সংস্করণটি অনুলিপি করুন এবং আপনার নতুন বিকল্পের জন্য একটি লাইন যুক্ত করুন। নোট করুন যে এই ফাইলটির নামটি কেবলমাত্র .lst সংযুক্ত যুক্ত ফাইলগুলির নামের সাথে মিলে যায়। পূর্ববর্তী পদক্ষেপের মতো আপনি পুরো ফাইলটি অনুলিপি করতে পারেন বা কেবলমাত্র আপনি ব্যবহার করছেন এমন মডেল, বিন্যাস, বৈকল্পিক এবং বিকল্পগুলি ব্যবহার করে copy আপনাকে কেবল এই ফাইলটির যে বিভাগটি শুরু হবে এটি সন্ধান করতে হবে ! option
এবং এর মতো একটি লাইন যুক্ত cutpaste:super Add super equivalents of cut and paste operations
করতে হবে : সেই বিভাগে।
ঠিক আছে, এখন সমস্ত কনফিগারেশন ফাইল রয়েছে। আপনি যদি সিস্টেম ফাইলগুলি সংশোধন করে থাকেন তবে আপনি এখন আপনার নতুন বিকল্পটি এর সাথে আবেদন করতে পারেন setxkbmap -option cutpaste:super
। অন্যদিকে, যদি আপনি না করেন, আপনাকে setxkbmap কে জানাতে হবে যে আপনার set XKBLOCAL where ডিরেক্টরিটি কোথায়। সবচেয়ে খারাপ কী, সার্ভারটি জানে না যে ডিরেক্টরিটি কোথায় আছে, এবং সেটেক্সকবাম্যাপটি না (বা সম্ভবত তা পারে না, যেহেতু শেষ পর্যন্ত সার্ভারটি অন্য কোনও মেশিনে চলতে পারে) এটি বলবে it সুতরাং আপনাকে সেট xkbmap এর আউটপুটটি xkbcomp তে পাইপ করতে হবে এবং সেই আদেশটিও আপনাকে বলতে হবে যেখানে আপনার $ XKBLOCAL ডিরেক্টরিটি রয়েছে। সম্পূর্ণ কমান্ড লাইন তাই setxkbmap -I$XKBLOCAL$ -option cutpaste:super -print | xkbcomp -I$XKBLOCAL - $DISPLAY
।
আশা করি এটি কারওর পক্ষে সহায়তা / আগ্রহী কারণ ভাল এক্সিকিবি ডকুমেন্টেশন / রেফারেন্স খুব কম। একটি খুব সহায়ক তথ্যসূত্র ছিল http://madduck.net/docs/extending-xkb/ ।