[問題] 關於滑鼠擷取值

看板C_and_CPP (C/C++)作者 (jason)時間13年前 (2012/06/26 20:56), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
請問各位前輩,小弟想在Linux系統下利用滑鼠移動的值做成計數器 因此我用fopen的方式打開/dev/input/event5這個路徑的檔案(就是滑鼠) 然後寫一個死迴圈一值fread,之後再printf顯示出移動的量 但是我遇到問題... 滑鼠只要稍微移動一下它的值就更新的好快就算我只讀取y軸的值,但是我移動x軸值也變 (請問這是光學滑鼠的關係嗎?該如何排解材料行是不是有類似的USB設備可以替換?) 拜託各位前輩幫幫忙 如果問題順利解決小弟願以100P答謝...希望別嫌少XD 感謝各位看完我的問題XD 以下附上相關程式碼 void parse_mouse(char *b) { lb=(b[0]&1)>0; rb=(b[0]&2)>0; mb=(b[0]&4)>0; xd=b[1]; yd=b[2]; } FILE *cou; cou = fopen("/dev/input/event5","r"); //打開滑鼠設備 char b[3]; //buffer size while(1) { fread(b,sizeof(char),3,cou); parse_mouse(b); printf("out:%d\n",yd); } 執行的結果如圖 http://i.imgur.com/ezGvv.png
明明我只擷取Y軸的值,但是不管我怎麼動它的值還是一直更新 怎麼會這樣@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.58.165 slshsb200300:轉錄至看板 LinuxDev 06/26 20:57

06/26 21:28, , 1F
自己設定 sampling rate 啊 ...
06/26 21:28, 1F

06/26 21:29, , 2F
數值很大就自己 Quantize 啊
06/26 21:29, 2F

06/26 21:30, , 3F
可能還要自己平滑化數值 (可能啦)
06/26 21:30, 3F
※ 編輯: slshsb200300 來自: 120.108.118.32 (06/27 15:39)

06/27 15:39, , 4F
可以請前輩們再說清楚一點嗎?看不懂><
06/27 15:39, 4F
文章代碼(AID): #1FwR64FJ (C_and_CPP)
文章代碼(AID): #1FwR64FJ (C_and_CPP)