ওয়েবে মানব ইন্টারফেস ডিভাইস: কয়েকটি দ্রুত উদাহরণ

আপনার অ্যাপ থেকে অপরিচিত ডিভাইসগুলির সাথে সংযোগ স্থাপন করা।

জো মেডলি
Joe Medley
ম্যাট রেনল্ডস
Matt Reynolds

WebHID API বলতে কী বোঝায়?

অনেক হিউম্যান ইন্টারফেস ডিভাইস (এইচআইডি) এতটাই নতুন, পুরোনো বা অপ্রচলিত যে সিস্টেমের ডিভাইস ড্রাইভার সেগুলোকে অ্যাক্সেস করতে পারে না। ওয়েবএইচআইডি এপিআই জাভাস্ক্রিপ্টে ডিভাইস-নির্দিষ্ট লজিক প্রয়োগ করার একটি উপায় প্রদান করে এই সমস্যার সমাধান করে।

WebHID API-এর প্রস্তাবিত ব্যবহার ক্ষেত্রসমূহ

একটি এইচআইডি (HID) মানুষের কাছ থেকে ইনপুট গ্রহণ করে অথবা মানুষকে আউটপুট প্রদান করে। এই ধরনের ডিভাইসের উদাহরণ হলো কিবোর্ড, পয়েন্টিং ডিভাইস (মাউস, টাচস্ক্রিন ইত্যাদি) এবং গেমপ্যাড। এইচআইডি প্রোটোকল অপারেটিং সিস্টেম ড্রাইভার ব্যবহার করে ডেস্কটপ কম্পিউটারে এই ডিভাইসগুলো অ্যাক্সেস করা সম্ভব করে তোলে। ওয়েব প্ল্যাটফর্ম এই ড্রাইভারগুলোর ওপর নির্ভর করে এইচআইডি সমর্থন করে।

বিশেষ করে গেমপ্যাড সাপোর্টের ক্ষেত্রে, অপ্রচলিত HID ডিভাইসগুলো অ্যাক্সেস করতে না পারার বিষয়টি বেশ কষ্টদায়ক। পিসির জন্য ডিজাইন করা গেমপ্যাডগুলো প্রায়শই ইনপুট (বাটন, জয়স্টিক, ট্রিগার) এবং আউটপুটের (এলইডি, রাম্বল) জন্য HID ব্যবহার করে। কিন্তু, গেমপ্যাডের ইনপুট ও আউটপুটগুলো ভালোভাবে মানসম্মত নয় এবং ওয়েব ব্রাউজারগুলোর প্রায়শই নির্দিষ্ট ডিভাইসের জন্য নিজস্ব লজিকের প্রয়োজন হয়। এই ব্যবস্থাটি টেকসই নয় এবং এর ফলে পুরোনো ও অপ্রচলিত ডিভাইসগুলোর বিশাল অংশের জন্য সাপোর্ট দুর্বল হয়ে পড়ে। এছাড়াও, এটি ব্রাউজারকে নির্দিষ্ট ডিভাইসের আচরণের অদ্ভুত বৈশিষ্ট্যের উপর নির্ভর করতে বাধ্য করে।

ডেমো, ডেমো, ডেমো

এই নমুনাগুলোর কোনোটি কীভাবে কাজ করে সে সম্পর্কে আপনার যদি কৌতূহল থাকে, তবে সেগুলোর সবগুলোর সোর্স কোড গিটহাবে পাওয়া যাবে। ব্যাখ্যা অংশে একটি অতি সাধারণ কোডের উদাহরণ দেওয়া আছে

ম্যাকবুক প্রো কিবোর্ড ব্যাকলাইট

এই ডেমোগুলোর যেকোনোটি ব্যবহার করে দেখার সবচেয়ে বড় বাধা হলো ডিভাইসটিতে অ্যাক্সেসের অভাব। সৌভাগ্যবশত, আপনার যদি টাচবারসহ একটি ম্যাকবুক প্রো থাকে, তবে আপনাকে কিছুই কিনতে হবে না। এই ডেমোটি আপনাকে সরাসরি আপনার ল্যাপটপ থেকেই এপিআই (API) ব্যবহার করার সুযোগ দেয়। এটি আরও দেখায় যে, কীভাবে শুধু পেরিফেরাল নয়, বিল্ট-ইন ডিভাইসগুলোর কার্যকারিতাও আনলক করতে ওয়েবএইচআইডি (WebHID) ব্যবহার করা যেতে পারে।

লেখক: এফওয়াইনব
ডেমো/উৎস: কীবোর্ড ব্যাকলাইট

গেম কন্ট্রোলার

প্লেস্টেশন ৪ ওয়্যারলেস কন্ট্রোলার

এরপরে এমন একটি জিনিসের কথা বলা যাক যা আপনাদের মধ্যে খুব কম লোকের কাছেই থাকার সম্ভাবনা আছে। সনির ডুয়ালশক ৪ হলো প্লেস্টেশন ৪ গেম কনসোলের জন্য একটি ওয়্যারলেস কন্ট্রোলার।

ডুয়ালশক ৪ ডেমোটি ডুয়ালশক ৪ থেকে সরাসরি ইনপুট রিপোর্ট গ্রহণ করার জন্য WebHID ব্যবহার করে এবং কন্ট্রোলারের জাইরোস্কোপ, অ্যাক্সেলেরোমিটার, টাচপ্যাড, বাটন ও থাম্বস্টিক ইনপুট অ্যাক্সেস করার জন্য একটি উচ্চ-স্তরের এপিআই প্রদান করে। এটি রাম্বল এবং কন্ট্রোলারের ভেতরে থাকা একটি আরজিবি এলইডি-র রঙ সেট করাও সমর্থন করে।

লেখক: দ্যবিটলিঙ্ক
ডেমো: ডুয়ালশক ৪ ডেমো ( উৎস )

নিন্টেন্ডো সুইচ জয়-কন কন্ট্রোলার

আপনার প্যান্টের পকেটে একটি নিন্টেন্ডো সুইচ জয়-কন কন্ট্রোলার রেখে বাস্তবে লাফানোর মাধ্যমে ক্রোম ডাইনো 🦖 অফলাইন গেমটি খেলুন। এই ডেমোটি জয়-কন ওয়েবএইচআইডি (Joy-Con WebHID) দ্বারা চালিত, যা নিন্টেন্ডো সুইচ জয়-কন কন্ট্রোলারগুলোর জন্য একটি ওয়েবএইচআইডি ড্রাইভার।

লেখক: টমাস স্টেইনার
ডেমো: ক্রোম ডিনো ওয়েবএইচআইডি ( ডেমোর উৎস , ড্রাইভারের উৎস )

ব্লিঙ্কস্টিক স্ট্রিপ

ব্লিঙ্কস্টিক স্ট্রিপ হলো ৮টি আরজিবি এলইডি সহ একটি এইচআইডি-সম্মত লাইট স্ট্রিপ। এই ডেমোটি ব্যবহারকারীকে চেজ, ব্লিঙ্ক এবং লারসন স্ক্যানার (যা সাইলন নামেও পরিচিত) সহ বিভিন্ন ব্লিঙ্ক প্যাটার্ন থেকে বেছে নেওয়ার সুযোগ দেয়।

লেখক: রোব্যাট উইলিয়ামস
ডেমো: ব্লিঙ্কস্টিক-স্ট্রিপ ( উৎস )

এই ডেমোটি কী করে? (অপেক্ষা করুন।) এটি মিটমিট করে জ্বলে। আসলে এটি তিনটি ডেমো যা ব্লিঙ্ক(1) ইউএসবি নোটিফিকেশন লাইট ব্যবহার করে।

blink(1) সহজ এবং এর ডকুমেন্টেশনও খুব ভালো, তাই HID নিয়ে কাজ শুরু করার জন্য এটি একটি দারুণ বিকল্প।

লেখক: টড ই. কার্ট
ডেমো: ব্লিঙ্ক(1) ( উৎস )

কৃতজ্ঞতা স্বীকার

পিট লেপেজ এবং কেসি বাস্কসকে ধন্যবাদ।