سؤال

ما أود الحصول على ملكية جهاز HID قد تم توصيله بالفعل، واستهلك إخراجه، مع منع الآخرين (X11 أو محطة) من استهلاكها.

إذا كان بإمكاني مساعدته، فأنا لا أريد أن أدعي أنه محطة، بل لاحتكار جهاز إخفاء أو حرف معين. الفكرة هي أن بعض أجهزة HID قد يتم التعرف عليها كمنفئ / لوحات المفاتيح بواسطة x / terminal، ولكن يمكن استخدام الماوس أو لوحة مفاتيح ثانية لشيء آخر، ولكن للقيام بذلك تحتاج إلى التأكد من أنهم لا يرسلون مدخلات زائفة إلى مفتوحة المحطة.

هل لدى أي شخص أي نظرة ثاقبة حول كيفية القيام بذلك؟

هل كانت مفيدة؟

المحلول

لقد فعلت هذا - كان تطبيقي المحدد هو الخفي الذي يقرأ الأحداث من قارئ الباركود HID USB (الذي يعرض كجهاز لوحة مفاتيح HID USB).

للقيام بذلك، استخدمت واجهة جهاز الحدث، فتح /dev/input/event* الجهاز المقابل للجهاز كنت بعد. يمكنك بعد ذلك إصدار EVIOCGRAB IOCTL على الجهاز، الذي يمسك به للاستخدام الحصري، وقراءة الأحداث (التي تمثل Keypresses، حركات الماوس، إلخ) من الجهاز أثناء توفرها.

(عند الاستغناء عن الجهاز للاستخدام الحصري، سترى تطبيقك فقط الأحداث منه).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top