Keyboard to Screen
কীবোর্ডে চাপলে অক্ষর স্ক্রিনে আসে কীভাবে?
কীবোর্ডে চাপলে অক্ষর স্ক্রিনে আসে কীভাবে?
তুমি A চাপলে স্ক্রিনে A দেখো। কিন্তু কীবোর্ড "A" পাঠায় না — সে শুধু সংখ্যা পাঠায়। পুরো প্রক্রিয়াটা মিলিসেকেন্ডে ঘটে যায়, কিন্তু ভেতরে বেশ কয়েকটি স্তর কাজ করে।
কেন কীবোর্ড সরাসরি "A" অক্ষর পাঠাতে পারে না?
কম্পিউটারের ভেতরের বর্তনী শুধু বৈদ্যুতিক সংকেত (0/1) বোঝে, অক্ষর বোঝে না। তাই প্রতিটি চাপা কী-কে প্রথমে একটি সংখ্যায়, তারপর সেই সংখ্যাকে বাইনারিতে রূপান্তর করতে হয় — এই রূপান্তরের নিয়মই হলো ASCII/Unicode কোড।
ধাপ ১ — কী চাপা = সংকেত
প্রতিটি কী-র নিচে একটা সুইচ। চাপলে বর্তনী যুক্ত হয়, কীবোর্ডের ছোট প্রসেসর বুঝে কোন কী চাপা হয়েছে — এর নাম Scan Code (প্রতিটি কী-র নিজস্ব একটি সংখ্যা, "A" অক্ষরের ASCII কোড থেকে ভিন্ন — এটি শুধু "কোন অবস্থানের কী চাপা হলো" তা বোঝায়)।
ধাপ ২ — Scan Code → ASCII
Scan Code কম্পিউটারে গিয়ে অপারেটিং সিস্টেমের কীবোর্ড ড্রাইভারের মাধ্যমে একটা ক্যারেক্টার কোডে রূপান্তর হয়। প্রতিটি অক্ষরের একটা নির্দিষ্ট সংখ্যা আছে — ASCII:
| অক্ষর | ASCII | বাইনারি |
|---|---|---|
| A | 65 | 01000001 |
| a | 97 | 01100001 |
| 0 | 48 | 00110000 |
ধাপ ৩ — প্রসেসর প্রক্রিয়া করে
CPU এই বাইনারি সংখ্যা পায়, চলমান প্রোগ্রামকে (যেমন MS Word) জানায় — "User A চাপল"। প্রোগ্রাম তখন সিদ্ধান্ত নেয় এই ইনপুট দিয়ে কী করতে হবে — টেক্সট বক্সে যোগ করা, নাকি কোনো শর্টকাট (Ctrl+A) হিসেবে ব্যবহার করা।
ধাপ ৪ — স্ক্রিনে আঁকা (Rendering)
প্রোগ্রাম Font ব্যবহার করে ৬৫ সংখ্যাটির জন্য A-র আকৃতি পিক্সেলে আঁকে। প্রতিটি Font ফাইলে প্রতিটি অক্ষরের একটি নির্দিষ্ট আকৃতি (Vector/Outline) সংরক্ষিত থাকে; সেই আকৃতি অনুযায়ী স্ক্রিনের নির্দিষ্ট পিক্সেলগুলো রঙিন হয়ে ওঠে — তুমি দেখো A।
কী চাপা → Scan Code → ASCII (65) → বাইনারি → CPU → প্রোগ্রাম → Font → স্ক্রিনে A
বাস্তব জীবনের সাথে মিল
🏠 অ্যানালজি: পুরো প্রক্রিয়াটা একটা টেলিগ্রাম পাঠানোর মতো — তুমি "A" বলতে চাও, কিন্তু টেলিগ্রাফ শুধু মোর্স কোড (সংকেত) বোঝে। তোমার বার্তা প্রথমে কোডে রূপান্তরিত হয়, তারপর তারে করে যায়, অন্য প্রান্তে আবার কোড থেকে "A"-এ ফিরিয়ে আনা হয়।
কেন A ও a-এর ASCII মান আলাদা?
কম্পিউটার বড় হাতের ও ছোট হাতের অক্ষরকে সম্পূর্ণ ভিন্ন সংখ্যা হিসেবে দেখে — A = 65, a = 97, ঠিক ৩২-এর পার্থক্য। এই নকশা ইচ্ছাকৃত: বাইনারিতে একটি মাত্র বিটের পার্থক্যেই বড়/ছোট হাতের রূপান্তর সম্ভব হয়, যা প্রোগ্রামিংকে সহজ করে।
🔗 HSC সিলেবাস সংযোগ
- অধ্যায় ১: ইনপুট ডিভাইস, ডেটা ও তথ্য।
- অধ্যায় ৩: ASCII কোড, ক্যারেক্টারের বাইনারি উপস্থাপন।
📝 HSC পরীক্ষার প্রস্তুতি
- ASCII কী? American Standard Code for Information Interchange — অক্ষরের জন্য সংখ্যা কোড।
- কীবোর্ড কোন ধরনের ডিভাইস? ইনপুট ডিভাইস।
A-এর ASCII = ৬৫,a= ৯৭ (পার্থক্য ৩২)।- সাধারণ ভুল: Scan Code ও ASCII Code-কে একই জিনিস ভাবা — Scan Code বোঝায় "কোন কী চাপা হলো" (কীবোর্ডের অবস্থান অনুযায়ী), ASCII বোঝায় "কোন অক্ষর তা প্রকাশ করছে"।
📚 সারাংশ
কী চাপা → Scan Code → ASCII সংখ্যা → বাইনারি → CPU → প্রোগ্রাম Font দিয়ে অক্ষর আঁকে। কম্পিউটারে অক্ষর মানে আসলে সংখ্যা, আর সেই সংখ্যা একটি নির্দিষ্ট গ্রাফিক্যাল আকৃতিতে রূপান্তরিত হয়ে স্ক্রিনে দেখা যায়।