我编写了一个程序,该程序从第二个 USB 键盘(实际上是条形码扫描仪)获取输入。问题是,如果另一个窗口处于活动状态,则数据是在那里输入的,而不是在我的程序中。有人可以就我做错了什么给我建议吗?
#include <stdio.h>
#include <string.h>
int main(int argc, char * argv[]){
FILE * fp_in;
char * data;
fp_in = fopen("/dev/input/by-id/usb-04d9_1400-event-kbd","r");
if(fp_in == NULL){
fprintf(stderr,"Failed to open input by id\n");
}
fp_in = fopen("/dev/input/by-path/pci-0000:00:1d.1-usb-0:2:1.0-event-kbd","r");
if(fp_in == NULL){
fprintf(stderr,"Failed to open input by path\n");
return 1;
}
while(1){
fscanf(fp_in,data,"%s");
fprintf(stderr,"%s",data);
}
return 0;
}
谢谢
如果我可以大胆地代表 Confuzzled 重新表述这个问题:
如何在 Linux 下编写一个将自身附加到输入设备(在本例中为条形码扫描仪)的程序,以便输入不会转到具有键盘焦点的程序?