কিবোর্ড টেস্টের কার্যকারিতা এবং ব্যবহার
Keyboard Test হলো একটি বিনামূল্যে ব্যবহারের উপযোগী অনলাইন টুল, যার মাধ্যমে ব্যবহারকারীরা তাদের কিবোর্ডের ফিজিক্যাল কার্যকারিতা পরীক্ষা করতে পারেন এবং প্রতিটি কি প্রেসের ফলে তৈরি হওয়া ব্যাক-এন্ড টেকনিক্যাল ইভেন্ট কোডগুলো বিশ্লেষণ করতে পারেন। এই পেজের যেকোনো জায়গায় কি চাপার মাধ্যমে ব্যবহারকারীরা তাৎক্ষণিকভাবে দেখতে পারেন যে তাদের কিবোর্ডের কি-গুলো সঠিকভাবে কাজ করছে কিনা। একই সাথে এটি পরীক্ষিত কি-গুলোর একটি ভিজ্যুয়াল লেআউট ম্যাপ প্রদর্শন করে, চেপে ধরে রাখা কি-গুলোকে ট্র্যাক করে এবং একটি বিস্তারিত ইভেন্ট লগ দেখায় যা প্রয়োজনে পরিষ্কার করা সম্ভব।
এই টুলটি ব্যবহারকারীদের কিবোর্ডের স্বাভাবিক হার্ডওয়্যার আচরণ (যেমন সিস্টেমের অটো-রিপিট) এবং প্রকৃত হার্ডওয়্যার ত্রুটির (যেমন অকেজো কি বা ডাবল-ক্লিকিং সুইচ) মধ্যে পার্থক্য বুঝতে সাহায্য করে।
কিবোর্ড টেস্ট টুলটি মূলত চার ধরনের ইনপুট গ্রহণ করে:
- ফিজিক্যাল কি প্রেস: পেজের যেকোনো স্থানে কিবোর্ডের যেকোনো কি চাপলে তা স্বয়ংক্রিয়ভাবে ক্যাপচার হয়ে যায়।
- ফোকাসড কিবোর্ড ক্যাপচার: অন-স্ক্রিন কিবোর্ড ম্যাপের ওপর সরাসরি ক্লিক করে এই মোডটি চালু করা যায়। এর মাধ্যমে Space, Tab এবং ফাংশন কি-গুলোর ব্রাউজারের ডিফল্ট অ্যাকশন বা সাধারণ কাজগুলো ছাড়াই সেগুলোকে সরাসরি ক্যাপচার করা সম্ভব হয়। এই মোড থেকে বের হতে Esc কি চাপতে হয়।
- অন-স্ক্রিন কিবোর্ড ইনপুট: ভার্চুয়াল বা মোবাইল কিবোর্ড পরীক্ষা করার জন্য একটি নির্দিষ্ট মোবাইল ইনপুট ফিল্ডে টাইপ করা টেক্সট।
- লগ মুছুন কমান্ড: রেকর্ড করা ইভেন্ট হিস্ট্রি সম্পূর্ণ মুছে ফেলার জন্য একটি ম্যানুয়াল বাটন ক্লিক।
আউটপুট এবং ডিসপ্লে প্যারামিটার
টুলটি রিয়েল-টাইমে কিবোর্ডের ইনপুট বিশ্লেষণ করে বেশ কয়েকটি আউটপুট প্যারামিটার প্রদর্শন করে:
সর্বশেষ কি ইভেন্ট
এই রিডআউট সেকশনে সবচেয়ে সাম্প্রতিক কি প্রেসের নিম্নলিখিত বৈশিষ্ট্যগুলো প্রদর্শিত হয়:
- কি
- কোড
- লেগাসি keyCode
- অবস্থান: এখানে "স্ট্যান্ডার্ড", "বাম", "ডান", অথবা "নামপ্যাড" প্রদর্শিত হয়।
- মডিফায়ারসমূহ: কোনো মডিফায়ার সক্রিয় না থাকলে "কোনোটিই নয়" দেখায়, অন্যথায় সক্রিয় মডিফায়ার অনুযায়ী "Shift", "Ctrl", "Alt", "Meta", অথবা "Caps Lock" প্রদর্শিত হয়।
- ডাউন / আপ ব্যাজ এবং একটি রিপিট ×
{count}ব্যাজ, যা কোনো কি চেপে ধরে রাখলে অটো-রিপিট ইভেন্টের সংখ্যা গণনা করে।
কিবোর্ড ম্যাপ
এটি একটি ভিজ্যুয়াল ANSI লেআউট ম্যাপ যা কি-গুলোর অবস্থার ওপর ভিত্তি করে সেগুলোকে হাইলাইট করে:
- ধরে রাখা হয়েছে
- পরীক্ষিত
পরিসংখ্যান
- পরীক্ষিত কি
- মোট প্রেস
- এখন ধরে রাখা আছে
ইভেন্ট লগ
এটি কি ইভেন্টগুলোর একটি টেবিল বা তালিকা। লগ খালি থাকলে "এখনো কোনো কি ইভেন্ট নেই — যেকোনো কি চাপুন।" লেখাটি প্রদর্শিত হয়। লগে ডেটা থাকলে "ইভেন্ট লগ" শিরোনামের অধীনে নিচের কলামগুলো দেখা যায়:
- সময়
- ইভেন্ট (এখানে "ডাউন" অথবা "আপ" প্রদর্শিত হয়)
- কি
- কোড
- মডিফায়ার
একটি কি চেপে ধরে রাখলে যে অটো-রিপিট ইভেন্টগুলো তৈরি হয়, সেগুলো রিডআউটের রিপিট ব্যাজে গণনা করা হলেও মূল ইভেন্ট লগে নতুন করে যোগ হয় না।
ক্যাপচার স্ট্যাটাস ইন্ডিকেটর
এটি কিবোর্ড ক্যাপচারের বর্তমান অবস্থা প্রদর্শন করে:
- "শুরু করতে যেকোনো কি চাপুন"
- "কি ইনপুট ক্যাপচার করা হচ্ছে"
- "ফুল ক্যাপচার — Esc কিবোর্ডকে মুক্ত করে"
অন-স্ক্রিন কিবোর্ড চেক
মোবাইল ডিভাইস পরীক্ষার জন্য এই ডেডিকেটেড এরিয়াটিতে রয়েছে:
- একটি টেক্সট ইনপুট ফিল্ড যার প্লেসহোল্ডার টেক্সট হলো "ট্যাপ করুন এবং টাইপ করুন…"।
- একটি নির্দেশনামূলক ইঙ্গিত: "ফিল্ডটিতে ট্যাপ করুন এবং টাইপ করুন — ব্রাউজার যা রিপোর্ট করবে তা উপরে প্রদর্শিত হবে।"
ব্রাউজার ইভেন্ট এবং কিবোর্ড এপিআই (API)
ওয়েব ডেভেলপমেন্টে কিবোর্ডের ইনপুট হ্যান্ডেল করার জন্য আধুনিক ব্রাউজারগুলো নির্দিষ্ট কিছু প্রোপার্টি ব্যবহার করে। এই টুলের মাধ্যমে KeyboardEvent.key, KeyboardEvent.code এবং লেগাসি keyCode-এর মধ্যকার পার্থক্যগুলো সরাসরি পর্যবেক্ষণ করা যায়।
| প্রোপার্টি | ধরন | বিবরণ | উদাহরণ |
|---|---|---|---|
| Key | ডাইনামিক | সক্রিয় ভাষার লেআউট এবং মডিফায়ার (যেমন Shift) অনুযায়ী পরিবর্তিত হয়। | "a" অথবা "A" |
| Code | স্ট্যাটিক | কিবোর্ডের ওপর কি-টির ফিজিক্যাল অবস্থান নির্দেশ করে, যা লেআউট পরিবর্তনেও বদলায় না। | "KeyA", "ShiftLeft" |
| Legacy keyCode | অবচলিত | পুরোনো ব্রাউজারগুলোর ব্যবহৃত সংখ্যাসূচক কোড যা আধুনিক স্ট্যান্ডার্ডে আর সুপারিশ করা হয় না। | 65 (A কি-এর জন্য) |
অপারেটিং সিস্টেমের ভাষা পরিবর্তন করলে বা অন্য কোনো লেআউট ব্যবহার করলে ফিজিক্যাল কি-এর অবস্থান একই থাকে, ফলে "Code" অপরিবর্তিত থাকে কিন্তু "Key" ভ্যালুটি পরিবর্তিত হয়ে যায়। আধুনিক ওয়েব অ্যাপ্লিকেশন এবং ব্রাউজার-ভিত্তিক গেমগুলোতে শর্টকাট বা মুভমেন্ট কন্ট্রোল সেট করার জন্য লেগাসি keyCode-এর পরিবর্তে স্ট্যান্ডার্ড KeyboardEvent.code ব্যবহার করা হয়।
বিশেষ পরিস্থিতি এবং সীমাবদ্ধতা
কিবোর্ড টেস্ট করার সময় কিছু নির্দিষ্ট কারিগরি সীমাবদ্ধতা এবং ব্রাউজারের আচরণগত বৈশিষ্ট্য লক্ষ্য করা যায়:
- সিস্টেম ও ব্রাউজার শর্টকাট: অপারেটিং সিস্টেম বা ব্রাউজারের নিজস্ব কিছু সংরক্ষিত শর্টকাট থাকে (যেমন ট্যাব পরিবর্তন করা, উইন্ডো বন্ধ করা, ফুল স্ক্রিন মোড বা সিস্টেম সার্চ)। এই কি কম্বিনেশনগুলো ব্রাউজার পেজে পৌঁছানোর আগেই সিস্টেম দ্বারা আটকে যায়, ফলে টুলে এগুলো রেজিস্টার হয় না। এই কিগুলোর কার্যকারিতা নিশ্চিত করতে এগুলোকে আলাদা আলাদাভাবে একক কি হিসেবে পরীক্ষা করতে হবে।
- অটো-রিপিট আচরণ: একটি কি চেপে ধরে রাখলে অপারেটিং সিস্টেমের সেটিংস অনুযায়ী ক্রমাগত প্রেস ইভেন্ট তৈরি হতে থাকে। টুলটি এটিকে "রিপিট" ব্যাজ এবং কাউন্টারের মাধ্যমে প্রদর্শন করে।
- মোবাইল ব্রাউজারের সীমাবদ্ধতা: মোবাইল ডিভাইসের অন-স্ক্রিন বা ভার্চুয়াল কিবোর্ডগুলো (বিশেষ করে Android অপারেটিং সিস্টেমে) অনেক সময় নির্দিষ্ট কোনো কি ভ্যালু পাঠাতে পারে না। এর ফলে রিডআউটে "Unidentified" লেখা প্রদর্শিত হতে পারে। এই সমস্যা সমাধানের জন্য ব্যবহারকারীদের ডেডিকেটেড "অন-স্ক্রিন কিবোর্ড চেক" ইনপুট ফিল্ডটি ব্যবহার করতে হবে।
- লেআউটের সীমাবদ্ধতা: এই টুলের ভিজ্যুয়াল ম্যাপটি একটি স্ট্যান্ডার্ড ফুল-সাইজ ANSI কিবোর্ড লেআউটের ওপর ভিত্তি করে তৈরি। তাই ISO-নির্দিষ্ট কি, ল্যাপটপের Fn লেয়ারের কি অথবা বিশেষ মিডিয়া কি-গুলো এই ম্যাপে হাইলাইট হবে না। তবে এগুলো চাপলে ম্যাপে না জ্বললেও "সর্বশেষ কি ইভেন্ট" রিডআউট এবং "ইভেন্ট লগ"-এ সঠিকভাবে তাদের ডেটা প্রদর্শিত হবে।
ডেটা প্রসেসিং এবং গোপনীয়তা
এই টুলের গোপনীয়তা নীতি অত্যন্ত সহজ এবং নিরাপদ। ব্যবহারকারীর চাপানো প্রতিটি কি প্রেস সম্পূর্ণ স্থানীয়ভাবে (locally) ব্যবহারকারীর নিজস্ব ব্রাউজারে প্রসেস করা হয় এবং শুধুমাত্র অন-স্ক্রিন লগ ও রিডআউট দেখানোর জন্য পেজটি দ্বারা পড়া হয়। কোনো ডেটা বা কি-স্ট্রোক কোনো বাহ্যিক সার্ভারে আপলোড বা সংরক্ষণ করা হয় না। "লগ মুছুন" বাটনে ক্লিক করলে অথবা পেজটি রিফ্রেশ বা বন্ধ করে দিলে সমস্ত ক্যাপচার করা ডেটা স্থায়ীভাবে মুছে যায়।
সাধারণ জিজ্ঞাসা (FAQ)
key এবং code ভ্যালুর মধ্যে পার্থক্য কী?
key ভ্যালু হলো সেই অক্ষর বা অ্যাকশন যা চাপ দেওয়ার পর এই মুহূর্তে তৈরি হয় — এটি আপনার লেআউট এবং মডিফায়ারের সাথে পরিবর্তিত হয়, তাই একই ফিজিক্যাল কি চাপলে “a” বা “A” অথবা অন্য কোনো ভাষার লেআউটে সম্পূর্ণ আলাদা একটি অক্ষর দেখাতে পারে। code ভ্যালু ফিজিক্যাল অবস্থানকে নির্দেশ করে (KeyA, ShiftLeft, Space) এবং এটি কখনোই পরিবর্তিত হয় না, যার কারণে গেম এবং অ্যাপগুলো তাদের শর্টকাটগুলোকে code-এর সাথে যুক্ত করে।
আমার ফোনের কিবোর্ডে “Unidentified” দেখায় কেন?
অন-স্ক্রিন কিবোর্ডগুলো — বিশেষ করে Android-এ — প্রায়ই আসল key ভ্যালু ছাড়াই সাধারণ ইভেন্ট পাঠায় এবং ব্রাউজার যা রিপোর্ট করে পেজটি কেবল সেটাই দেখাতে পারে। আপনার কিবোর্ড আসলে কী পাঠাচ্ছে তা দেখতে লেআউটের নিচে অন-স্ক্রিন কিবোর্ড চেক অপশনটি খুলুন; একটি এক্সটার্নাল বা ল্যাপটপ কিবোর্ড সম্পূর্ণ বিবরণ রিপোর্ট করে।
আমি একটি কি চেপে ধরে রাখলে সেটি বারবার কাজ করে — এটি কি ত্রুটিপূর্ণ?
না। একটি কি চেপে ধরে রাখলে সিস্টেম বারবার প্রেস ইভেন্ট পাঠায়, যা এখানে একটি Repeat ব্যাজ এবং কাউন্টার দিয়ে দেখানো হয় — এটি স্বাভাবিক অটো-রিপিট। আসল ত্রুটির লক্ষণ হলো এর বিপরীত প্যাটার্ন: একটি মাত্র দ্রুত ট্যাপ থেকে কয়েকটি ইভেন্ট তৈরি হওয়া, অথবা ট্যাপ করার পরও কোনো ইভেন্ট তৈরি না হওয়া, যা একটি ক্ষয়ে যাওয়া বা আটকে থাকা সুইচকে নির্দেশ করে।
কিছু কি কম্বিনেশন কেন প্রদর্শিত হয় না?
ব্রাউজার বা অপারেটিং সিস্টেমের জন্য সংরক্ষিত শর্টকাটগুলো — যেমন ট্যাব ও অ্যাপ বন্ধ করা বা পরিবর্তন করা, ফুল স্ক্রিন, সিস্টেম সার্চ — পেজটি দেখার আগেই আটকে দেওয়া হয়, তাই সেগুলো এখানে কখনোই প্রদর্শিত হয় না। এই নীরবতা স্বাভাবিক, কোনো অকেজো কি নয়: একই কিগুলো একে একে পরীক্ষা করুন এবং প্রতিটি আলাদাভাবে রেজিস্টার হবে।