日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何在Linux中讀取低級鼠標單擊位置

瀏覽:185日期:2023-07-12 10:06:48
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決如何在Linux中讀取低級鼠標單擊位置?

您可以從X11獲取初始位置,并使用相對坐標來跟蹤指針:

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <linux/input.h>#include <fcntl.h>#include <X11/Xlib.h>#define MOUSEFILE '/dev/input/event6'int main(){ int fd; struct input_event ie; display *dpy; Window root, child; int rootX, rootY, winX, winY; unsigned int mask; dpy = XOpendisplay(NULL); XQueryPointer(dpy,DefaultRootwindow(dpy),&root,&child, &rootX,&rootY,&winX,&winY,&mask); if((fd = open(MOUSEFILE, O_RDONLY)) == -1) { perror('opening device'); exit(EXIT_FAILURE); } while(read(fd, &ie, sizeof(struct input_event))) { if (ie.type == 2) { if (ie.code == 0) { rootX += ie.value; } else if (ie.code == 1) { rootY += ie.value; } printf('time%ld.%06ldtx %dty %dn', ie.time.tv_sec, ie.time.tv_usec, rootX, rootY); } else if (ie.type == 1) { if (ie.code == 272 ) { printf('Mouse button ');if (ie.value == 0) printf('released!!n');if (ie.value == 1) printf('pressed!!n'); } else {printf('time %ld.%06ldttype %dtcode %dtvalue %dn', ie.time.tv_sec, ie.time.tv_usec, ie.type, ie.code, ie.value); } } return 0;}解決方法

我正在使用此代碼從linux中的dev / input / event *讀取鼠標事件。

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <linux/input.h>#include <fcntl.h>#define MOUSEFILE '/dev/input/event4'int main(){ int fd; struct input_event ie; if((fd = open(MOUSEFILE,O_RDONLY)) == -1) {perror('opening device');exit(EXIT_FAILURE); } while(read(fd,&ie,sizeof(struct input_event))) {printf('time %ld.%06ldttype %dtcode %dtvalue %dn',ie.time.tv_sec,ie.time.tv_usec,ie.type,ie.code,ie.value);} return 0;}

它給我的結果格式:

時間1342517261.840285類型2代碼0值-1

“時間”是時間戳,它返回事件發生的時間。

“代碼”是事件代碼,例如REL_X或KEY_BACKSPACE,完整列表位于include / linux / input.h中。

“價值”是事件帶來的價值。EV_REL的相對更改,EV_ABS(操縱桿…)的絕對新值,或EV_KEY的釋放為0,按鍵為1以及自動重復為2。

當我單擊時,我得到了事件,但沒有在屏幕上獲得鼠標的位置,如何在屏幕上獲得鼠標的位置。

編輯1:所以事實證明我必須使用相對坐標來獲取鼠標坐標。我相信這是一個普遍的要求,因此可能會有庫/預先存在的代碼可用于獲取坐標。關于該主題的任何信息將非常有用。

Edit2:解決方案

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <linux/input.h>#include <fcntl.h>#include <X11/Xlib.h>#define MOUSEFILE '/dev/input/event4'int main(){ int fd; struct input_event ie; Display *dpy; Window root,child; int rootX,rootY,winX,winY; unsigned int mask; dpy = XOpenDisplay(NULL); XQueryPointer(dpy,DefaultRootWindow(dpy),&root,&child,&rootX,&rootY,&winX,&winY,&mask); if((fd = open(MOUSEFILE,O_RDONLY)) == -1) { perror('opening device'); exit(EXIT_FAILURE); } while(read(fd,sizeof(struct input_event))) { if (ie.type == 2) { if (ie.code == 0) { XQueryPointer(dpy,&mask); //rootX += ie.value; } else if (ie.code == 1) { XQueryPointer(dpy,&mask); // rootY += ie.value; } printf('time%ld.%06ldtx %dty %dn',rootX,rootY); } else printf('time %ld.%06ldttype %dtcode %dtvalue %dn',ie.value); } return 0;}

XQueryPointer似乎是更方便的解決方案。謝謝@perreal的指導。

標簽: Linux系統
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩激情精品| 国产探花在线精品| 精品国产一区二区三区噜噜噜| 国产精品自在| 在线综合视频| 老牛国内精品亚洲成av人片| 日本久久成人网| 亚洲精品在线国产| 欧美一级专区| 久久中文字幕一区二区三区| 亚洲精品麻豆| 亚洲一区久久| 巨乳诱惑日韩免费av| 欧美亚洲tv| 日本中文字幕不卡| 亚洲精品影视| 香蕉久久久久久| 蜜桃久久久久| 精品欠久久久中文字幕加勒比| 久久精品五月| 欧美va天堂在线| 欧美中文字幕一区二区| 久久精品播放| 欧美精品一二| 激情自拍一区| 欧美xxxx性| 中文字幕色婷婷在线视频| 国产精品一区二区精品| 日韩国产一区二| 亚洲深深色噜噜狠狠爱网站| 久久超级碰碰| 99精品视频在线| 久久久久久网| 日韩电影免费网站| 中文字幕av一区二区三区人| 正在播放日韩精品| 日韩久久电影| 日韩区欧美区| 精品免费av| 久久国产精品久久w女人spa| 国产精品免费不| 五月激情久久| 日本v片在线高清不卡在线观看| 老鸭窝一区二区久久精品| 夜夜嗨av一区二区三区网站四季av| 日本不卡高清| 色爱av综合网| 激情视频网站在线播放色| 亚洲中字黄色| 日韩毛片视频| 麻豆国产精品| 欧美gv在线| 国产精品99精品一区二区三区∴| 欧美成人亚洲| 日韩精品麻豆| 免费观看亚洲天堂| 亚洲精品欧美| 欧美一级专区| 日韩精品不卡一区二区| 免费亚洲一区| 日韩精品免费视频一区二区三区| 国产精品草草| 国产精品毛片| 伊人成人网在线看| 亚洲欧洲高清| 欧美极品一区二区三区| av不卡在线看| 日韩国产在线不卡视频| 亚洲精品一区二区在线播放∴| 亚洲欧美日韩国产一区二区| 91精品推荐| 精品一区二区三区免费看| 国产日韩三级| 精品欧美日韩精品| 99精品视频在线| 亚洲精品电影| 亚洲天堂日韩在线| 日韩精品久久久久久| 妖精视频成人观看www| 久久先锋影音| 欧美在线日韩| 欧美影院精品| 老司机免费视频一区二区三区| 91精品尤物| 欧美激情国产在线| 日本欧美不卡| 午夜国产精品视频免费体验区| 欧美在线网站| 久久亚洲风情| 欧美aaaaaa午夜精品| 日韩在线短视频| 亚洲精品欧美| 免费亚洲婷婷| 久久中文字幕二区| 日欧美一区二区| 国产精品伊人| 鲁大师精品99久久久| 日韩欧美字幕| 欧美日韩一区二区三区四区在线观看| 精品三区视频| 夜夜嗨网站十八久久 | 综合一区在线| 精品网站999| 日本亚洲视频| 欧美国产极品| 亚洲另类av| 久久久久99| 精品美女视频| 黄色在线一区| 欧美精品导航| 亚洲永久精品唐人导航网址| 蜜桃视频免费观看一区| 在线天堂中文资源最新版| 精品日韩毛片| 精品中国亚洲| 91精品国产一区二区在线观看| 久久一区二区三区电影| 国产精品久久久久久久久久齐齐| 日韩理论视频| 久久天堂影院| 国产伦精品一区二区三区千人斩| 美女精品在线| av中文字幕在线观看第一页| 日韩精品第二页| 国产一区视频在线观看免费| 亚洲人成网77777色在线播放| 婷婷综合亚洲| 国产中文一区| 丝袜诱惑制服诱惑色一区在线观看| 四虎4545www国产精品 | 国产日韩三级| 四虎精品永久免费| 亚洲欧美久久| 国产精品97| 国产高清一区二区| 国产亚洲精品自拍| 久久国产福利| 日韩精品a在线观看91| 日韩精品一区二区三区av | 国模精品一区| 日本午夜大片a在线观看| 免费成人av在线播放| 日韩一区精品视频| 7m精品国产导航在线| 国产一区二区精品久| 国产一区二区三区不卡av | 伊人久久亚洲热| 久久影视一区| 一区二区91| 国产美女视频一区二区| 精品视频一区二区三区四区五区 | 亚洲黄色中文字幕| 精品一区在线| 日本h片久久| 免费日韩一区二区三区| 首页国产精品| 伊人成人在线视频| 欧美黑人巨大videos精品| 亚洲精品伊人| 午夜欧美理论片| 蜜桃av.网站在线观看| 精品网站999| 国产一区二区精品福利地址| 久久亚洲道色| 鲁鲁在线中文| 四虎4545www国产精品| 在线手机中文字幕| 98精品视频| 日韩精品影视| 亚洲香蕉网站| 99国产精品久久久久久久| 精品国产亚洲一区二区三区在线| 国产精品蜜月aⅴ在线| 久久99精品久久久野外观看| 97精品国产99久久久久久免费| 久久精品xxxxx| 麻豆久久一区| 欧美日韩视频网站| 欧美日韩国产综合网| 国产视频一区欧美| 日本中文字幕不卡| 欧美国产中文高清| 日韩欧美一区二区三区在线观看| 亚洲欧美日韩高清在线| 国精品产品一区| 尹人成人综合网| 亚洲区第一页| 国产一区二区三区四区大秀 | 国产成人免费| 国产精品一区二区av日韩在线| 日韩视频在线一区二区三区| 麻豆精品蜜桃| 久久久久久久久99精品大| 国产一区二区三区黄网站| 亚洲日本国产| 亚洲精品麻豆| 国产精品17p| 国产91在线播放精品| 日韩高清在线观看一区二区| 日本亚洲不卡|