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 で入力デバイス (この場合はバーコード スキャナー) に接続するプログラムを作成して、入力がキーボード フォーカスを持つプログラムに送信されないようにするにはどうすればよいですか?