বিবরণ
কানেক্ট করা HID ডিভাইসের সাথে ইন্টার্যাক্ট করতে chrome.hid API ব্যবহার করুন। এই API কোনও অ্যাপের কন্টেক্সটের মধ্যে থেকে HID অপারেশনে অ্যাক্সেস প্রদান করে। এই API ব্যবহার করে, অ্যাপ হার্ডওয়্যার ডিভাইসের জন্য ড্রাইভার হিসেবে কাজ করতে পারে। এই API-এর মাধ্যমে তৈরি হওয়া সমস্যার ব্যাপারে runtime.lastError সেট করে এবং ফাংশনের নিয়মিত কলব্যাক এক্সিকিউট করে রিপোর্ট করা হয়। এই ক্ষেত্রে কলব্যাকের সাধারণ প্যারামিটারগুলি সংজ্ঞায়িত করা হবে না।
অনুমতি
hidধরন
DeviceFilter
প্রপার্টি
-
productId
নম্বর ঐচ্ছিক
ডিভাইস প্রোডাক্ট আইডি, ভেন্ডর আইডি মিললে তবেই চেক করা হয়।
-
ব্যবহার
নম্বর ঐচ্ছিক
HID ব্যবহারের শনাক্তকারী, HID ব্যবহারের পৃষ্ঠা মিললে তবেই চেক করা হয়।
-
usagePage
নম্বর ঐচ্ছিক
HID ব্যবহার সংক্রান্ত পৃষ্ঠা শনাক্তকারী।
-
vendorId
নম্বর ঐচ্ছিক
ডিভাইস ভেন্ডর আইডি।
GetDevicesOptions
প্রপার্টি
-
ফিল্টার
DeviceFilter[] ঐচ্ছিক
প্রদত্ত যেকোনও ফিল্টারের সাথে ম্যাচ করে এমন ডিভাইস দেখানো হবে। ফিল্টার তালিকা খালি থাকলে, অ্যাপের অনুমতি আছে এমন সব ডিভাইস দেখাবে।
-
productId
নম্বর ঐচ্ছিক
বন্ধ করে দেওয়া হয়েছেDeviceFilter.productIdসেট করার সমতুল্য। -
vendorId
নম্বর ঐচ্ছিক
বন্ধ করে দেওয়া হয়েছেDeviceFilter.vendorIdসেট করার সমতুল্য।
HidCollectionInfo
প্রপার্টি
-
reportIds
সংখ্যা[]
রিপোর্ট আইডি যা কালেকশন এবং তার চাইল্ডের সাথে সম্পর্কিত।
-
ব্যবহার
নম্বর
পৃষ্ঠা-নির্ধারিত ব্যবহার শনাক্তকারী।
-
usagePage
নম্বর
HID ব্যবহার সংক্রান্ত পৃষ্ঠা শনাক্তকারী।
HidConnectInfo
প্রপার্টি
-
connectionId
নম্বর
অন্যান্য সব ফাংশনে এই কানেকশন শনাক্ত করতে ব্যবহৃত ওপেক আইডি।
HidDeviceInfo
প্রপার্টি
-
সংগ্রহ
এই ডিভাইসের রিপোর্ট ডেসক্রিপটর থেকে টপ-লেভেল কালেকশন।
-
deviceId
নম্বর
অস্বচ্ছ ডিভাইস আইডি।
-
maxFeatureReportSize
নম্বর
টপ-লেভেল কালেকশনের সর্বাধিক ফিচার রিপোর্টের সাইজ।
-
maxInputReportSize
নম্বর
টপ-লেভেল কালেকশনের সর্বাধিক ইনপুট রিপোর্টের সাইজ।
-
maxOutputReportSize
নম্বর
টপ-লেভেল কালেকশনের সর্বাধিক আউটপুট রিপোর্টের সাইজ।
-
productId
নম্বর
প্রোডাক্ট আইডি।
-
productName
স্ট্রিং
Chrome 46+ডিভাইস থেকে প্রোডাক্টের নাম পড়া হয়েছে, যদি উপলভ্য থাকে।
-
reportDescriptor
ArrayBuffer
র ডিভাইস রিপোর্ট ডেসক্রিপ্টর (Windows-এ উপলভ্য নয়)।
-
serialNumber
স্ট্রিং
Chrome 46+ডিভাইস থেকে পড়া সিরিয়াল নম্বর, যদি উপলভ্য থাকে।
-
vendorId
নম্বর
ভেন্ডর আইডি।
পদ্ধতি
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
যোগাযোগের জন্য HID ডিভাইসে কানেকশন খুলুন।
প্যারামিটারগুলি
-
deviceId
নম্বর
ডিভাইসের
HidDeviceInfo.deviceIdখুলতে হবে। -
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(connection: HidConnectInfo) => void
-
কানেকশন
-
রিটার্ন
-
Promise<HidConnectInfo>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
ডিভাইস থেকে ডিসকানেক্ট করুন। এটি কল করার পরে ডিভাইসে অপারেশন শুরু করা নিরাপদ কিন্তু এর কোনও প্রভাব নেই।
প্যারামিটারগুলি
-
connectionId
নম্বর
connect-এর ফেরত দেওয়াconnectionId। -
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
কানেক্ট করা HID ডিভাইসের তালিকা তৈরি করুন।
প্যারামিটারগুলি
-
বিকল্প
টার্গেট ডিভাইসে সার্চ করার জন্য প্রপার্টি।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(devices: HidDeviceInfo[]) => void
-
ডিভাইস
-
রিটার্ন
-
Promise<HidDeviceInfo[]>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
ডিভাইস থেকে পরবর্তী ইনপুট রিপোর্ট পান।
প্যারামিটারগুলি
-
connectionId
নম্বর
connect-এর ফেরত দেওয়াconnectionId। -
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(reportId: number, data: ArrayBuffer) => void
-
reportId
নম্বর
রিপোর্ট আইডি বা কিছু না থাকলে
0। -
ডেটা
ArrayBuffer
রিপোর্ট ডেটা, রিপোর্ট আইডি প্রিফিক্স (যদি থাকে) সরিয়ে দেওয়া হয়।
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
ডিভাইস থেকে ফিচার রিপোর্ট করার অনুরোধ করুন।
প্যারামিটারগুলি
-
connectionId
নম্বর
connect-এর ফেরত দেওয়াconnectionId। -
reportId
নম্বর
রিপোর্ট আইডি, অথবা কিছু না থাকলে
0। -
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(data: ArrayBuffer) => void
-
ডেটা
ArrayBuffer
রিপোর্ট ডেটা, যার মধ্যে রিপোর্ট আইডি প্রিফিক্স অন্তর্ভুক্ত থাকে, যদি ডিভাইস থেকে কোনও রিপোর্ট পাঠানো হয়।
-
রিটার্ন
-
প্রতিশ্রুতি<অ্যারেবাফার>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
ডিভাইসে আউটপুট রিপোর্ট পাঠান।
মনে রাখবেন: data-এ রিপোর্ট আইডি প্রিফিক্স যোগ করবেন না। প্রয়োজন হলে এটি যোগ করা হবে।
প্যারামিটারগুলি
-
connectionId
নম্বর
connect-এর ফেরত দেওয়াconnectionId। -
reportId
নম্বর
ব্যবহার করার জন্য রিপোর্ট আইডি, অথবা কিছু না থাকলে
0। -
ডেটা
ArrayBuffer
রিপোর্ট ডেটা।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
ডিভাইসে ফিচার রিপোর্ট পাঠান।
মনে রাখবেন: data-এ রিপোর্ট আইডি প্রিফিক্স যোগ করবেন না। প্রয়োজন হলে এটি যোগ করা হবে।
প্যারামিটারগুলি
-
connectionId
নম্বর
connect-এর ফেরত দেওয়াconnectionId। -
reportId
নম্বর
ব্যবহার করার জন্য রিপোর্ট আইডি, অথবা কিছু না থাকলে
0। -
ডেটা
ArrayBuffer
রিপোর্ট ডেটা।
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
রিটার্ন
-
<void> প্রমিস
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
ইভেন্ট
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
সিস্টেমে কোনও ডিভাইস যোগ করা হলে ইভেন্ট তৈরি হয়। ডিভাইস অ্যাক্সেস করার অনুমতি আছে এমন অ্যাপ ও এক্সটেনশনেই শুধু ইভেন্ট ব্রডকাস্ট করা হয়। ইনস্টল করার সময় বা ব্যবহারকারী ঐচ্ছিক অনুমতি গ্রহণ করার সময় অনুমতি দেওয়া হয়ে থাকতে পারে (permissions.request দেখুন)।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(device: HidDeviceInfo) => void
-
ডিভাইস
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
সিস্টেম থেকে কোনও ডিভাইস সরিয়ে দেওয়া হলে ইভেন্ট তৈরি হয়। কোন কোন ইভেন্ট ডেলিভার করা হয়েছে তা জানতে onDeviceAdded দেখুন।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(deviceId: number) => void
-
deviceId
নম্বর
-