chrome.hid

বিবরণ

কানেক্ট করা 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

রিটার্ন

  • 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

      নম্বর