我编写了一个从 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下编写一个程序,使其附加到一个输入设备上,例如一个条形码扫描仪,这样输入就不会发送到具有键盘焦点的程序中?