summaryrefslogtreecommitdiff
path: root/src/mouse_die.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mouse_die.c')
-rw-r--r--src/mouse_die.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/mouse_die.c b/src/mouse_die.c
new file mode 100644
index 0000000..6729a94
--- /dev/null
+++ b/src/mouse_die.c
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <string.h>
+#include <linux/input.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+
+//#define MOUSEDEV "/dev/input/mouse0" //just one of the many possibly connected mice. (just in case you want to use one mouse for one thing and another mouse for something else)
+#define MOUSEDEV "/dev/input/mice" //all the mice connected act as one.
+
+int mfd = -1;
+
+//#define "mouse.h" //I guess
+
+struct wtf {
+ unsigned char type;
+ char dx;
+ char dy;
+};
+
+int mouse_event_handler() {
+ struct wtf ie;
+ int l;
+ memset(&ie,0,sizeof(ie));
+ if(mfd == -1) {
+ mfd=open(MOUSEDEV,O_RDWR);
+ fcntl(mfd,F_SETFL,O_NONBLOCK);
+ }
+ if(mfd == -1) {
+ fprintf(stderr,"# mouse shit fucked up.\n");
+ return 1;
+ }
+ if((l=read(mfd,&ie,sizeof(ie))) > 0) {
+ //type == 8 and a or of some bits to say which direction.
+ fprintf(stderr,"# mouse debug: type:\t%d\tdx:%d\tdy:%d\n",ie.type,ie.dx,ie.dy);
+ }
+ return 0;
+}