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

📄 mou_fbsd.c

📁 神龙卡开发原代码
💻 C
字号:
/* #include <stdio.h> */#include <sys/types.h>#include <sys/uio.h>#include <unistd.h>#include <fcntl.h>#include <errno.h>#include <machine/mouse.h>#include <machine/console.h>/* #include <vgl.h> */#include "device.h"#define SCALE 3#define THRESH 5static int FBSD_Open(MOUSEDEVICE *pmd);static void FBSD_Close(void);static int FBSD_GetButtonInfo(void);static void FBSD_GetDefaultAccel(int *pscale, int *pthresh);static int FBSD_Read(MWCOORD *dx, MWCOORD *dy, MWCOORD *dz,int *bp);MOUSEDEVICE mousedev = {    FBSD_Open,    FBSD_Close,    FBSD_GetButtonInfo,    FBSD_GetDefaultAccel,    FBSD_Read,    NULL};static int mouse_fd=0;static int FBSD_Open(MOUSEDEVICE *pmd){    mousemode_t theMouseMode;    mouse_fd=open("/dev/sysmouse",O_RDONLY);    if(mouse_fd < 0)    {	return(-1);    }    ioctl(mouse_fd, MOUSE_GETMODE, &theMouseMode);    theMouseMode.level=1;    ioctl(mouse_fd, MOUSE_SETMODE, &theMouseMode);    return mouse_fd;    }static void FBSD_Close(void){    if (mouse_fd > 0)    {	close(mouse_fd);    }    mouse_fd=0;}static int FBSD_GetButtonInfo(void){    return MWBUTTON_L | MWBUTTON_M | MWBUTTON_R;}static void FBSD_GetDefaultAccel(int *pscale, int *pthresh){    *pscale = SCALE;    *pthresh = THRESH;}extern void FBSD_handle_event(void);static int FBSD_Read(MWCOORD *dx, MWCOORD *dy, MWCOORD *dz,		     int *bp){    mousestatus_t theStatus;    int butStat=0;    int retVal=0;    FBSD_handle_event();        ioctl(mouse_fd,MOUSE_GETSTATUS, &theStatus);    if(theStatus.flags | MOUSE_POSCHANGED)    {	*dx=theStatus.dx;	*dy=theStatus.dy;	*dz=theStatus.dz;	retVal|=1;    }    if(theStatus.button & 0x1)    {	butStat|=MWBUTTON_L;	retVal|=1;    }    if(theStatus.button & 0x2)    {	butStat|=MWBUTTON_M;	retVal|=1;    }    if(theStatus.button & 0x4)    {	butStat|=MWBUTTON_R;	retVal|=1;    }	    *bp=butStat;    return retVal;}

⌨️ 快捷键说明

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