প্রথম পটভূমি। আমি লজিটেক গেম-প্যানেল ডিভাইসের জন্য ড্রাইভার বিকাশ করছি। এটির স্ক্রিনযুক্ত এটি একটি কীবোর্ড। ড্রাইভার দুর্দান্তভাবে কাজ করছে তবে ডিফল্টরূপে ডিভাইসটি এইচআইডি দ্বারা পরিচালিত হয়। আমার ড্রাইভারের আগে এইচআইডি ডিভাইসটি ধরে না নেওয়ার জন্য, আমি এটিকে hid-core.c এ ব্ল্যাকলিস্ট করতে পারি। এটি কাজ করে তবে সবচেয়ে ভাল সমাধান নয় কারণ আমি বেশ কয়েকটি ব্যক্তির সাথে কাজ করছি এবং আমাদের সকলকে আমাদের এইচআইডি মডিউলটি পঁচিয়ে রাখতে হবে যা একটি নৃত্যকেন্দ্র হয়ে উঠছে, বিশেষত এটি প্রায়শই ইনি্রামফ এবং এর মতো পুনর্নির্মাণের সাথে জড়িত।
আমি এই সমস্যা সম্পর্কে কিছু গবেষণা করেছি এবং আমি এই মেইলিং তালিকা পোস্টটি পেয়েছি , যা শেষ পর্যন্ত আমাকে এলডব্লিউএন-এর এই নিবন্ধে নিয়ে গেছে । এটি রানটাইমের সময় নির্দিষ্ট ড্রাইভারের সাথে ডিভাইসগুলি বাঁধার জন্য একটি প্রক্রিয়া বর্ণনা করে। এটি ঠিক আমার যা প্রয়োজন তা মনে হচ্ছে।
সুতরাং, আমি এটি চেষ্টা করেছিলাম। আমি এইচআইডি থেকে কীবোর্ডটি আনবাইন্ড করতে সক্ষম হয়েছি। এটি কাজ করেছে এবং প্রত্যাশার মতো আমি এটিতে আর টাইপ করতে পারি না। তবে আমি যখন এটি আমাদের ড্রাইভারকে আবদ্ধ করার চেষ্টা করেছি তখন আমি "ত্রুটি: এই জাতীয় কোনও ডিভাইস" পাইনি এবং অপারেশন ব্যর্থ হয়।
সুতরাং আমার প্রশ্নটি হল: আপনি যখন হিড-কোরে কোনও এইচআইডি ডিভাইসটিকে কালো তালিকাভুক্ত করেন এবং নিজের ড্রাইভার সরবরাহ করেন তখন কী ঘটে যায় তার প্রতিলিপি করতে আমি কীভাবে কার্নেল বাইন্ড / আনবাইন্ড অপারেশনগুলি ব্যবহার করব? - যা - হিড-কোর.প্যাচটি সর্বদা প্যাচ করার প্রয়োজন প্রতিস্থাপন করতে হবে?
আমাদের ড্রাইভারের উত্সটি এখানে: https://github.com/ali1234/lg4l