最少的庫我不確定在哪裏尋找這個信息,但我想知道如何獲得鼠標輸入(或任何隱藏輸入)使用最少的非標準庫在c。基本上,是否有一個stdio等效於鼠標(和其他輸入)在c中的輸入?還是有一個庫是最小的,並在多個平臺上交叉兼容。只要能夠將鼠標座標打印到終端窗口就足夠了。如何跟蹤鼠標輸入使用c
回答
這是一個0非標準庫方法。運行/ dev/input/event#存在的任何位置。
#include <linux/input.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
int fd;
if ((fd = open("/dev/input/mice", O_RDONLY)) < 0) {
perror("evdev open");
exit(1);
}
struct input_event ev;
while(1) {
read(fd, &ev, sizeof(struct input_event));
printf("value %d, type %d, code %d\n",ev.value,ev.type,ev.code);
}
return 0;
}
在Windows上,您需要使用Win32 API做一些可怕的事情並掛鉤到消息系統中。
總而言之,不,C在這方面沒有標準。
SDL會做我相信的詭計。
取決於平臺和操作系統。如果您想直接「跟蹤」鼠標(或HID)事件,則可能需要編寫驅動程序或找到一個驅動程序。驅動程序將監視端口並偵聽鼠標數據(消息)。
在事件驅動系統上,您必須訂閱才能使用鼠標事件消息。某些操作系統會將消息廣播給每個任務(如Windows),而其他操作系統則只會將事件發送給訂閱者。
這是一個太接近特定答案的問題。
謝謝,這是一般的,因爲我剛開始輸入編程,我不知道從哪裏開始!更具體地說,我希望儘可能低的司機,而不必寫一個。 我感興趣的是在windows和linux上編程tabletPC輸入,但我到處搜索了一個跨平臺的方式來做到這一點,我什麼都沒有想出來。因此,我想寫一個(如果不存在)。我希望它低級別,所以它更少依賴於操作系統特定的庫。如果你能夠回答這個問題,或者指引我朝着正確的方向發現自己,那將是驚人的! – TimE 2010-05-08 04:46:37
@TimE跨平臺遊戲庫已經長時間以最高精度追蹤鼠標輸入......有些甚至可以訪問原始鼠標輸入。如果你不想使用它,至少它是一個尋找解決方案的好地方。 GLUT和SDL是開始尋找的好地方,兩者都是開源的。祝你好運。 – m0s 2010-05-08 19:15:51
- 1. 如何使用標籤跟蹤鼠標輸入事件
- 2. 跟蹤鼠標輸入事件
- 3. 跟蹤用戶鼠標
- 4. 跟蹤鼠標光標android
- 5. 使用jquery平滑鼠標跟蹤
- 6. jQuery平滑鼠標跟蹤
- 7. QT鼠標跟蹤QTableWidget
- 8. 的NSView鼠標跟蹤
- 9. 跟蹤鼠標移動
- 10. 跟蹤鼠標停止
- 11. 在linux上使用C跟蹤鍵盤和鼠標事件
- 12. 如何可靠跟蹤鼠標進入和離開事件?
- 13. UIWebView跟蹤用戶輸入
- 14. PyQt5鼠標跟蹤不起作用
- 15. 在QWidget中跟蹤鼠標光標
- 16. 使用jQuery跟蹤輸入修改?
- 17. 如何跟蹤輸入參數到.exe?
- 18. 如何轉換觸摸輸入到鼠標輸入C#統一?
- 19. 如何使用GDB輸出C +程序集跟蹤?
- 20. 在clojurescript/reagent/reagi中跟蹤鼠標?
- 21. 鼠標跟蹤守護進程
- 22. 在DIV元素中跟蹤鼠標
- 23. Mutil監視器鼠標跟蹤
- 24. 畫布上的鼠標跟蹤
- 25. 在QGraphicsItem上跟蹤鼠標位置
- 26. Android:跟蹤鼠標指針移動
- 27. 在網站上跟蹤鼠標點擊
- 28. QMainWindow無法跟蹤鼠標與setMouseTracking()
- 29. 在QMainWindow中選擇性跟蹤鼠標
- 30. 如何使用1 UITextField跟蹤3個輸入字符串
這實際上是爲我捕獲鍵盤信號:) – LukeN 2010-05-07 22:27:21
這不是跨平臺 – 2010-05-07 22:30:40
@klez:我不認爲真的有跨平臺的方式來做到這一點。 – 2010-05-07 23:15:45