linux应用层获取鼠标坐标
2011-01-13 22:46

补充:在这个函数中要打开一个鼠标设备,但是在嵌入式的文件系统中没有这个设备节点,
鼠标设备的主设备号和次设备号有是如何确定的呢?
在  linux 系统中,鼠标和键盘的设备号都是固定的,可以在 PC 上查看,再在嵌入式的文件系统中自己建立。

qu@ubuntu:/tmp$ ls -l /dev/input/
total 0
drwxr-xr-x 2 root root     120 2008-11-06 08:49 by-path
crw-rw---- 1 root root 13,  64 2008-11-06 08:49 event0
crw-rw---- 1 root root 13,  65 2008-11-06 08:49 event1
crw-rw---- 1 root root 13,  66 2008-11-06 08:49 event2
crw-rw---- 1 root root 13,  67 2008-11-06 08:49 event3
crw-rw---- 1 root root 13,  68 2008-11-06 08:48 event4
crw-rw---- 1 root root 13,  69 2008-11-06 08:48 event5
crw-rw---- 1 root root 13,  70 2008-11-06 08:48 event6
crw-rw---- 1 root root 13,  63 2008-11-06 16:48 mice
crw-rw---- 1 root root 13,  32 2008-11-06 16:48 mouse0
crw-rw---- 1 root root 13,  33 2008-11-06 08:49 mouse1
crw-rw---- 1 root root 13, 128 2008-11-06 08:49 ts0
crw-rw---- 1 root root 13, 129 2008-11-06 08:49 ts1

鼠标设备一般为  mice  设备,主设备号为  13, 次设备号为  63。
键盘设备一般为  event 设备,主设备号为 13, 次设备号为 64 ~ 70。

#include <stdio.h>
#include <linux/input.h>
#include <fcntl.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>

int main(int argc,char **argv)
{
    int fd, retval;
    char buf[6];
    fd_set readfds;
    struct timeval tv;

//fd = open("/dev/input/mice", O_RDONLY);
    if(( fd = open("/dev/input/mice", O_RDONLY))<0)
    {
        printf("Failed to open /"/dev/input/mice/"./n");
        exit(1);
    }
    else
    {
        printf("open /"/dev/input/mice/" successfuly./n");
    }

while(1)
    {
        tv.tv_sec = 5;
        tv.tv_usec = 0;

FD_ZERO(&readfds);
        FD_SET(fd, &readfds);

retval = select(fd+1, &readfds, NULL, NULL, &tv);
        if(retval==0)
            printf("Time out!/n");
        if(FD_ISSET(fd,&readfds))
        {
            if(read(fd, buf, 6) <= 0)//终端设备,一次只能读取一行
            {
                continue;
            }
            printf("Button type = %d, X = %d, Y = %d, Z = %d/n", (buf[0] & 0x07), buf[1], buf[2],   buf[3]);
        }
    }
    close(fd);
    return 0;
}

linux应用层获取鼠标坐标相关推荐

  1. php控制鼠标,HTML_用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击),怎么用VBS模拟鼠标左键单击、 - phpStudy...

    用VBS控制鼠标的实现代码(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 怎么用VBS模拟鼠标左键单击.左键双击.右键单击?-- 网上搜到的答案普遍是VBS无法实现,或者是要用第三方COM( ...

  2. C++获取鼠标坐标并移动鼠标

    原文章地址: C++获取鼠标坐标并移动鼠标 公司电脑强制设定10分钟无鼠标键盘输入便锁屏,锁屏之后要重新输入密码太麻烦.代码自动检测过去4.9分钟内鼠标是否发生了移动,如果没有发生移动则移动鼠标位置. ...

  3. 基于JQuery实现鼠标滑过(类似hover)图片(或Canvas),实时获取鼠标坐标位置

    前言: 尝试制作web端物体标注的时候,虽然利用Canvas可以标注物体,但缺少像LabelImg那样可以利用十字星定位鼠标起点的辅助功能.一直认为可以通过鼠标hover事件实时获取鼠标位置,尝试后无 ...

  4. JS实时获取鼠标坐标

    简单练习,先上图 非常简单,只是一个onmousemove事件的处理 <!DOCTYPE html> <html lang="en"> <head&g ...

  5. Windows下C/C++模拟鼠标点击,PC端没有鼠标设备也能够获取鼠标坐标、移动鼠标坐标、模拟鼠标点击事件,方法一 亲测有效

    ------- [ 转载请保留 ] ------- 作者:西_瓜_瓜 博客:https://blog.csdn.net/xi_gua_gua/article/details/105773298 --- ...

  6. 最全的获取鼠标坐标的方法

    今天给朋友们分享js获取鼠标坐标的最全方法集合: HTML.CSS与JS代码如下: <!DOCTYPE HTML> <html lang="zh-cn"> ...

  7. openlayers学习——10、openlayers监听获取鼠标坐标位置

    openlayers监听获取鼠标坐标位置 前言:基于Vue,学习openlayers,根据官网demo,记录常用功能写法.本人不是专业GIS开发,只是记录,方便后续查找. 参考资料: openlaye ...

  8. c语言获得鼠标点击坐标方法,C语言怎样获取鼠标坐标?

    想要获取鼠标坐标并不那女,还是一样需要调用两个API函数GetCursorPos() 获取鼠标指针位置(屏幕坐标)然后采用ScreenToClient() 将鼠标指针位置转换为窗口坐标输出即可.上例子 ...

  9. vue 点击获取鼠标坐标(鼠标位置)

    <button @click="getMouseXY($event)">点击获取鼠标坐标</button> getMouseXY(e){this.x = e ...

  10. html5 js获取鼠标坐标,js怎么获取鼠标在div中的相对位置

    大家在做网页的时候都可能会用到鼠标在div中的相对位置,那么怎么获取鼠标在div中的相对位置呢?下面由学习啦小编教大家怎么获取鼠标在div中的相对位置吧. 如何获取鼠标在div中的相对位置 代码如下: ...

最新文章

  1. Qt实现Matlab的等差函数linSpace
  2. ERWin 7.1 和7.2 的官方FTP下载地址
  3. 微博爬虫实践---搜索关键词
  4. 初学Linux之程序安装
  5. Flutter下拉刷新,上拉加载更多数据
  6. MySQL 删除存储过程
  7. Opencv4.5.5 + Opencv4.5.5_contrib 图像拼接
  8. poi导出word时替换的段落内容会多出一个}和逗号_办公族必备11个Word文字处理技巧,太实用了!...
  9. 【14:00开播】国际顶会强力加持,算法“视”界杯巅峰之战拉开帷幕!
  10. Hibernate读书笔记---继承映射
  11. php 动态 常量,PHP中的动态常量?
  12. AspNetForum 论坛整改:添加显IP功能及IP所属地
  13. iconfont-矢量图标字体的运用
  14. Git_Eclipse:[2]Git初始化配置
  15. 装系统缺少硬盘驱动_缺少操作系统-向我学习,请在今年备份您的硬盘!
  16. ios 扫描本地音乐_iOS如何获取本地的音乐歌曲mp3的信息数据
  17. TYPHOON cms漏洞 简书(ssh篇)
  18. linux中package什么文件夹,PACKAGE 文件扩展名: 它是什么以及如何打开它?
  19. Thief-Book 上班摸鱼神器
  20. csv是什么意思中文_CSV 文件是什么意思?

热门文章

  1. android转发短信到邮箱,利用短信通知的方式在Tasker中实现收到Android手机短信自动转发到邮箱...
  2. 软件信息安全杂志《Information Security》2011年11月期下载
  3. TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu()
  4. Shiro框架 Subject、SecurityManager、线程之间的关系
  5. 在B站看猫片被老板发现?不如按下F12学学HTTP
  6. 怎样修复计算机系统软件,重装系统后软件如何恢复呢?
  7. 博客园主题美化(仅兼容 Markdown)
  8. Python 实现端口扫描器
  9. 写给父亲的语音计算器(‘(‘‘)‘括号优先级处理递归算法c#,一)
  10. 阿里面试经历与感受谈