⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps2_test.c

📁 鼠标文件读取测试 通过读取/dev下的mouse文件
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>

/*open()*/
#include <sys/types.h>  /*提供pid_t,内核用dev_t类型(<linux/types.h>)来保存设备编号,
                           dev_t是一个32位的数,12位表示主设备号,20为表示次设备号*/
#include <sys/stat.h>
#include <fcntl.h>
/******/
/*close()*/
#include <unistd.h>

#include <sys/poll.h>
#include <linux/input.h>


#include <fcntl.h>
#include <linux/input.h>


#define PS2_MOUSE   "/dev/mice"

int main(int argc,  char *argv[])
{
    int mouseFd,write_byte;
    
    char cmd_buf[]={0xf4};
    unsigned char data[4] ={0};

    if ((mouseFd = open(PS2_MOUSE, O_RDWR)) < 0) {
        printf("Faile t to open %s\n",PS2_MOUSE);
        return -1;
    }
    printf("%s fd = %d\n",PS2_MOUSE,mouseFd);
     
    if ((write_byte=write(mouseFd,cmd_buf,1))<0)
    	{printf("Faile t to write %s\n",PS2_MOUSE);}
    printf("write %2c to %s sucess\n",cmd_buf[],PS2_MOUSE);
    read(mouseFd, data, 4);
    printf("Then the mouse return %2x   %2x  %2x   %2x \n",data[0],\
                                         data[1], data[2],data[3]);
                                         
    if ((write_byte=write(mouseFd,cmd_buf,1))<0)
    	{printf("Faile t to write %s\n",PS2_MOUSE);}
    	
  	printf("write %2c to %s sucess\n",cmd_buf[],PS2_MOUSE);
    read(mouseFd, data, 4);
    printf("Then the mouse return %2x   %2x  %2x   %2x \n",data[0],\
                                         data[1], data[2],data[3]);

    while(1)
    {
//  	if(poll( &mypoll, 10, 0) > 0)
//	printf("mypoll is ok!\n");
//    {
/*
data的数据格式:
data0:00xx 1xxx 
----低三位是按键值---左中右分别为01 02 04, 第4/5位分别代表x、y移动方向,右上方x/y>0,左下方xy<0
data1:取值范围-127~127,代表x轴移动偏移量
data2:取值范围-127~127,代表y轴移动偏移量
data3:xxxx XXXX 取值范围-15~15,代表z轴移动偏移量            
*/
      usleep(5000);    
      read(mouseFd, data, 4);
/* //MOUSEDEV_EMUL_PS2方式每次采样数据为3个字节,多读不会出错,只返回成功读取的数据数
*/	
			printf("mouse: Byte =%02x  %02x  %02x  %02x\n",data[0],data[1],data[2],data[3]);
//  }

   }    
    close(mouseFd);
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -