এখানে দুটি স্তর রয়েছে, KEYCODE থেকে KEYSYM ম্যাপিং এবং KEYSYM পাঠ্য ম্যাপিংয়ের জন্য। আপনি যদি কার্নেল গণনা করেন তবে আরও স্তর রয়েছে যা আপনাকে একটি কীটিস্কোডে এক্সটি-স্টাইল KEYCODE বা একটি ইউএসবি কীবোর্ড এইচআইডি কোডে এটি কীবোর্ড স্ক্যানকোডস মানচিত্র করতে হবে। একটি কেইকোডই কেবল 8-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যা যা অপারেটিং সিস্টেমের কার্নেলটি X11 সার্ভারে যায়। এটি অপারেটিং সিস্টেম যেমন লিনাক্স এবং সোলারিসের মধ্যে পৃথক হতে পারে। লিনাক্সে, এই KEYCODE গুলি সাধারণত পুরানো এক্সটি পিসি কীবোর্ডগুলিতে ব্যবহৃত একই নম্বর। এটিটি, পিএস / 2, বা ইউএসবি কীবোর্ড সহ নতুন কম্পিউটারগুলি সাধারণভাবে কীটিকে জীবন সহজ রাখার জন্য পুরানো এক্সটি কোডে ম্যাপ করে।
কাঁচা কীবোর্ড কোডগুলি সেগুলি এক্সটি, এটি, পিএস / 2, বা ইউএসবি হ'ল কিবোর্ডে কোনও প্রকৃত অবস্থান উপস্থাপন করে। এক্সটি কীবোর্ড কেবল কী বা টিপে বা রিলিজ করার জন্য একটিমাত্র 8-বিট নম্বর প্রেরণ করে। একটি মার্কিন / ব্রিটিশ এক্সটি কীবোর্ডের কি কীটি 16 নম্বরটি প্রেরণ করে a ফরাসি কীবোর্ডে একই শারীরিক কীটিকে একটি লেবেলযুক্ত করা হয় তবে এটি এখনও 16 প্রেরণ করে It's এটি অপারেটিং সিস্টেমের উচ্চতর স্তর যা এটি একটি সত্য অর্থ নির্ধারণ করে। কোনও টিটি এক্সটি কীবোর্ডে প্রকাশিত হলে, একই কীকোডটি প্লাস 128 প্রেরণ করা হয় this উদাহরণস্বরূপ, যখন q টিপানো হয়, তখন একটি 16 প্রেরণ করা হয়, তবে মুক্তির সময়, 142 (16 + 128) নম্বর প্রেরণ করা হয়। এটি কীবোর্ডগুলি স্ক্যানকোডগুলি ব্যবহার করে যা সংখ্যার ধারাবাহিক এবং বেশ দীর্ঘ। কী রিলিজ অতিরিক্ত কোড যুক্ত করে। উদাহরণস্বরূপ, বিরতি দেওয়ার জন্য স্ক্যানকোড হ'ল E1, 1D, 45, E1, 9D, C5। ডস, উইন্ডোজ, লিনাক্স, ফ্রিবিএসডি, সহ বেশিরভাগ অপারেটিং সিস্টেম এবং বিআইওএস সমস্ত ম্যাপ স্ক্যানকোডগুলি আরও সহজ এক্সটি-স্টাইলের স্ক্যানকোডগুলিতে। নতুন কীবোর্ডগুলিতে সমর্থন করা আরও সহজ করে তোলে যা এইচআইডি কোড প্রেরণকারী ইউএসবি কীবোর্ডের মতো বিভিন্ন কোড ব্যবহার করে। এক্স 11 বা অ্যাপ্লিকেশন সেগুলি দেখার আগে সমস্ত কোড অপারেটিং সিস্টেমের দ্বারা একই ধারাবাহিক কোডগুলিতে ম্যাপ করা হয়।
এক্স 11 প্রক্রিয়াটির এই অংশটি সম্পর্কে অজ্ঞ, এটি কেবল কার্নেল থেকে কেইকোইডি পেয়েছে এবং সেই কেইকিডকে একটি কেইএসওয়াইমে রূপান্তর করতে নিজস্ব ম্যাপিং প্রয়োগ করে। এক্সমোডম্যাপটি সেই ম্যাপিং নিয়ন্ত্রণের জন্য মানক সরঞ্জাম। কীবোর্ড ম্যাপিংয়ের বেশিরভাগ আচরণ কনফিগারযোগ্য, তবে বেশ কয়েকটি বিশেষ কেস রয়েছে যেমন নম লক, মোড স্যুইচ এবং ক্যাপস লক / শিফট লক যা এক্স 11 এ শক্তভাবে কোডড। শিফ্টের মতো অন্যান্য দিকগুলি আসলে কনফিগারযোগ্য। মোড স্যুইচ বা নম লকের বিপরীতে শিফট হিসাবে কাজ করতে যে কোনও কী ম্যাপ করা যেতে পারে।
KEYCODE গুলি অপারেটিং সিস্টেমের কার্নেল দ্বারা প্রেরিত শারীরিক কীগুলি উপস্থাপন করে। প্রতিটি KEYCODE 8 টি সম্ভাব্য KEYSYM- তে মানচিত্র করতে পারে। কেবল 4 টি ব্যবহৃত হয় এবং কখনও কখনও স্তরগুলিকে 1-4 বলা হয়। স্তর 1 KEYSYM নির্দিষ্ট করে যা মুদ্রক হয় যখন কোনও সংশোধক সক্রিয় থাকে না। এগুলি প্রায়শই ছোট হাতের অক্ষর এবং অঙ্ক হয়। মডিফায়ারগুলি হ'ল কেইসিইডিইডি যেগুলি অন্যান্য কেইইসিইডিইডি দ্বারা উত্পাদিত কেইএসওয়াইএম সংশোধন করে যখন সংশোধক সক্রিয় থাকে (টিপে দেওয়া বা টগলড করা থাকে) স্তর 2 যখন শিফট সংশোধকটি টিপানো হয় তখন প্রেরণের জন্য একটি KEYSYM নির্দিষ্ট করে। মোড স্যুইচ KEYSYM টিপে যখনই লেভেল 3 সক্রিয় করা হয়। একটি স্তর কী এবং মোড স্যুইচ উভয়ই সক্রিয় থাকাকালীন স্তর 4 সক্রিয় করা হয়।
একবার একটি KEYSYM উত্পন্ন হওয়ার পরে, এটি সরাসরি ব্যাখ্যা করা যেতে পারে তবে বেশিরভাগ ক্ষেত্রে পাঠ্যে রূপান্তরিত হবে। সমস্ত KEYSYM পাঠ্যে রূপান্তরিত হয় না বা কেবল ভবিষ্যতের KEYSYM প্রভাবিত করতে পারে। এর একটি উদাহরণ অবশ্যই শিফট_এল, যার কোনও পাঠ্য উপস্থাপনা নেই, তবে আরও অনেকগুলি KEYSYM রয়েছে যা অন্য একটি চরিত্র রচনা করতে ব্যবহৃত হয়। আমার সিস্টেমে সেগুলির একটি তালিকা চলছে /usr/share/X11/locale/en_US.UTF-8/Compose
। এর একটি উদাহরণ হ'ল ডেড_একিউট KEYSYM যা চাপলে পরের KEYSYM কে তীব্র উচ্চারণের অক্ষরে রূপান্তরিত করার চেষ্টা করা হবে। KEYSYM গুলি ইউনিকোডে রূপান্তর করার জন্য একটি মানক ম্যাপিং রয়েছে ।
এখন যেহেতু এই সমস্ত কথাই বলা হয়েছে, নোট করুন যে এক্সমোডম্যাপটি অপ্রচলিত এবং এক্সকেবি দ্বারা প্রতিস্থাপিত হয়েছে যা আরও পরিশীলিত। এটি কীওয়ার্ডগুলি কী কীএসওয়াইএমগুলিতে ম্যাপ করা হয় তা প্রভাবিত করে, তবে কার্নেল কী কীওসিডি তৈরি করে না কীভাবে কেইইএসওয়াইএমগুলি পাঠ্যে রূপান্তরিত হয় বা রচিত হয় যা এখনও একই। এক্স কেবি Xmodmap আচরণ পুনরুদ্ধার করতে অক্ষম করা যেতে পারে। এটি এক্সমোডম্যাপ সমর্থন করার জন্য একটি সামঞ্জস্যতা স্তর রয়েছে, তবে এটি সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ না হওয়ায় এতে সমস্যা থাকতে পারে। এক্সকেবি বিধিগুলি অধীনে রয়েছে /usr/share/X11/xkb/
এবং আরও পরিশীলিত। KEYCODE গুলি KEYSYM- এ ম্যাপিংয়ের জন্য কীওয়ার্ড লেআউটগুলি কীভাবে উত্পন্ন করে সে সম্পর্কে অন্য কোথাও খুব ভাল ডকুমেন্টেশন রয়েছে।
লিনাক্স কনসোল হিসাবে, এটির নিজস্ব কীবোর্ড লেআউট রয়েছে যা কমান্ড /usr/share/keymaps
দিয়ে সঞ্চিত এবং লোড করা হয় loadkeys
। বিআইওএস এবং পূর্বের বুট-লোডার পর্যায়ে, GRUB2 সহ যখন, কী-বোর্ড ম্যাপিং কী কী মানচিত্রটি নির্ধারণের জন্য বিআইওএস সিদ্ধান্ত নেয় তার নামই।