当前位置: 首页 > news >正文

广东高端网站建设seo如何优化网站

广东高端网站建设,seo如何优化网站,网店代运营哪家公司好,厦门网站开发公司键盘检测指令#xff1a;cat /dev/input/event1 | hexdump 鼠标检测指令#xff1a;cat /dev/input/event2 | hexdump 当键盘/鼠标有输入时#xff0c;会有对应的一堆16进制输出。它其实对应着input_event结构体【24字节】。 struct input_event {struct timeval time;_…键盘检测指令cat /dev/input/event1 | hexdump 鼠标检测指令cat /dev/input/event2 | hexdump 当键盘/鼠标有输入时会有对应的一堆16进制输出。它其实对应着input_event结构体【24字节】。 struct input_event {struct timeval time;__u16 type;__u16 code;__s32 value; };//获取键盘数据 #include stdio.h #include sys/types.h #include sys/stat.h #include fcntl.h #include linux/input.h #include string.hint main(void) {#define KEY_PATH /dev/input/event1int fd -1, ret -1;struct input_event ev;// 第1步打开设备文件fd open(KEY_PATH, O_RDONLY);if (fd 0){perror(open,error);return -1;}printf(welcome size%d.\n,sizeof(struct input_event));while (1){// 第2步读取event事件包memset(ev, 0, sizeof(struct input_event));ret read(fd, ev, sizeof(struct input_event));if (ret ! sizeof(struct input_event)){perror(read,error);close(fd);return -1;}// 第3步解析event包.printf(\n);printf([%11u] type: %3d, code: %3d, value: %3d \n,ev.time.tv_sec,ev.type,ev.code,ev.value);//type: 1:按键同步//code: 键码[a30]//value:0按键释放1按键按下,2:长按下}// 第4步关闭设备close(fd); return 0; }//获取鼠标数据 #include X11/Xlib.h //LDFLAGS : -lX11 int GetDisplayInfo(int *screen_width,int *screen_height) {Display *display XOpenDisplay(NULL);if (display NULL){printf(Error: cannot open display\n);return 1;}int screen_num DefaultScreen(display);Screen *screen ScreenOfDisplay(display, screen_num);*screen_width WidthOfScreen(screen);*screen_height HeightOfScreen(screen);printf(Screen size: %dx%d pixels\n, WidthOfScreen(screen), HeightOfScreen(screen));printf(Screen resolution: %dx%d dpi\n, (int) (WidthOfScreen(screen) * 25.4 / DisplayWidthMM(display, screen_num)), (int) (HeightOfScreen(screen) * 25.4 / DisplayHeightMM(display, screen_num)));XCloseDisplay(display);return 0; }int get_xy(int fd,struct input_event ts,int *x,int *y) {static int nCnt 0;read(fd,ts,sizeof(ts));if(ts.type EV_ABS ts.code ABS_X){*x ts.value;nCnt (nCnt1)%3;return nCnt;}if(ts.type EV_ABS ts.code ABS_Y){*y ts.value;nCnt (nCnt1)%3;return nCnt;}return 0; }int main(void) {#define MOUSE_PATH /dev/input/event2int fd -1, ret -1;struct input_event ev;int data_size sizeof(struct input_event);// 第1步打开设备文件[需要权限运行]fd open(MOUSE_PATH, O_RDONLY);if (fd 0){perror(open,error);return -1;}printf(mouse test [%s],data size%d.\n,MOUSE_PATH,sizeof(struct input_event));int screen_width 0;int screen_height 0;if( GetDisplayInfo(screen_width,screen_height)0){perror(get display infoerror);return -2;}while (1){static int raw_x0;static int raw_y0;int tmp 0;tmp get_xy(fd,ev,raw_x,raw_y);if(tmp2){int curr_x 0;int curr_y 0;curr_x raw_x*screen_width/0xFFFF;curr_y raw_y*screen_height/0xFFFF;printf(mousePos: x%d,y%d.\n,curr_x,curr_y);}}close(fd); return 0; } 方法2采用SDL2 [simplle directmedia layer]  , 此方法用于GUI项目事件只针对SDL创建的窗口内有效 #include stdio.h #include pthread.h #include SDL2/SDL.hint main(void *arg) {// 窗口大小int screen_w 800;int screen_h 400;// 初始化SDLif (SDL_Init(SDL_INIT_EVERYTHING)){printf(could not initialize SDL: %s\n, SDL_GetError());return -1;}SDL_Window *screen SDL_CreateWindow(SimpleSDL2, 0, 0, screen_w, screen_h, SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);if (!screen){printf(could not create window: %s\n, SDL_GetError());return -1;}SDL_Event myEvent; // SDL事件int quit 0;while (!quit) // 建立事件主循环{// 注意事件只针对SDL创建的窗口内有效while (SDL_PollEvent(myEvent)) // 从队列里取出事件{// printf(event%d \n, myEvent.type);switch (myEvent.type) // 根据事件类型分门别类去处理{case SDL_QUIT: // 离开事件[点击窗口关闭]quit 1; // quit event pollbreak;case SDL_MOUSEMOTION: // 鼠标移动printf(mouseXY: %d,%d \n, myEvent.motion.x, myEvent.motion.y);break;case SDL_MOUSEBUTTONDOWN: // 鼠标点击printf(ButtonClck:%d\n, myEvent.button.button); //0:左键1:中键,2:右键break;case SDL_KEYDOWN://键盘按下// 键值表在SDL2/SDL_keycode.h文件中定义printf(KEY_DOWN:%d\n, myEvent.key.keysym.sym);break;case SDL_KEYUP://键盘释放// 键值表在SDL2/SDL_keycode.h文件中定义printf(KEY_UP:%d\n, myEvent.key.keysym.sym);break;}}}printf(quit screen_monitor_thread.! \n);exit(0);return 0; }
http://www.hkea.cn/news/14546798/

相关文章:

  • 做网站要多大空间深圳市宝安区建设局网站
  • 成都制作网站的公司简介网站代搭建维护
  • 网站换ip影响 百度wordpress 添加关键词和描述
  • 济南正规网站制作品牌专业的移动网站建设公司
  • 做网站怎么买服务器优化营商环境的意义
  • windows 2008 搭建网站html代码例子
  • 行政审批局政务服务网站建设情况2023最佳创业商机
  • 牡丹江建设信息网站怎么做公司销售网站
  • 做网站思想模板建站小程序
  • html好看的网站的代码网站建设都需要哪些材料
  • 郑州市惠济区城乡建设局网站友点cms
  • 一个网站的tdk是指网站的青岛住房和城乡建设 网站
  • 河北省邢台市建设工程网站上海seo优化培训机构
  • 黄石做企业网站千万不要去做房地产销售
  • 在合肥哪里学网站建设龙岗网站 建设seo信科
  • 网站项目设计具体方案工程建设合同模板
  • 网站开发 技术问题设计方案表网站名称
  • 如果建设淘宝导购网站wordpress添加浮动
  • 佛山高明建网站淘宝代运营1个月多少钱
  • 有那些网站做平面设计订单做运营的网站
  • dede后台做两个网站网络营销公司名字大全
  • 中国城乡住建部建设部网站推荐5家知名
  • 网站备案找回继续网站建设
  • 旅游的网站建设策划书购物商城类app开发
  • 一天一元网站建设如何修改网站模版
  • 网站设计任务书范文重庆专业网站建设公司哪家好
  • 东莞网站建设纸品包装深圳高端企业官方网站建设
  • 温州网站建设企业高端电商设计公司
  • 建网站 多少钱钱sem竞价推广代运营
  • 网站建设好公司哪家好中小企业网络安全解决方案