[英]How do i read single character input from keyboard using nasm (assembly) under ubuntu?
[英]How do I read events from a HID device under Ubuntu Jaunty?
我有一個Linux USB HID設備( Hama MCE ),我可以通過讀取cat /dev/input/event7
和cat /dev/input/event8
手動讀取它的事件。 每當我按下設備上的某個鍵時,就可以使用上面的某個cat
命令讀取幾個字節。 我在機器上默認安裝了Ubuntu Jaunty 64位桌面。
我想我可以編寫一個解析器來解釋設備發出的字節,或者如果它更方便的話我會使用libhid 。
我的問題是:
/usr/local/bin/keydumper /dev/input/event7 /dev/input/event8
(或每個/dev/
path一個命令)將獲得運行,在命令行中替換正確的/dev/
paths? 根據Linux USB HID驅動程序開發人員的回答回答我自己的問題:
問題1和2:做
ioctl(open("/dev/input/event7", O_RDONLY), EVIOCGRAB, 1);
只要此文件句柄處於打開狀態,生成的事件將僅發送到此文件句柄(不會發送到同一設備的其他open()或系統鍵盤或鼠標事件池)。 一次最多只有一個進程可以在HID設備上保存成功的EVIOCGRAB。 Lirc可以配置為執行EVIOCGRAB。
問題3:配置udev以在連接設備后啟動程序。
我沒有足夠的觀點悲傷地評論。
如果您正在尋找EVIOCGRAB的定義,請嘗試
#include <linux/input.h>
我認為所有問題的解決方案都可以為您的設備編寫自己的過濾設備驅動程序或自定義驅動程序。 我知道Windows上有這樣的東西(過濾設備驅動程序),所以類似的東西可以在Linux上。 在那個過濾設備驅動程序中,你可以阻止你想要阻止的目標設備中的所有不需要的事件,我真的沒有得到3個問題,所以我不知道如何回答這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.