diff uinput.c @ 4:73c20831be0a

Replace DS input with 3DS, for now disable axis input.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sun, 22 Feb 2015 18:09:53 +0100
parents f362b20de51e
children eafcd170dc6d
line wrap: on
line diff
--- a/uinput.c
+++ b/uinput.c
@@ -10,7 +10,7 @@
 #include <stdbool.h>
 
 
-#define DS_NAME     "NintendoDS Wireless Gamepad"
+#define DS_NAME     "Nintendo 3DS"
 
 /* Not found these values... but it's not important! */
 #define DS_VENDOR   0xdead
@@ -59,8 +59,8 @@ int init_uinput_device(void){
 
     dev.absmax[ABS_Y]  = DS_MAX_Y;
     dev.absmin[ABS_Y]  = DS_MIN_Y;
-    dev.absfuzz[ABS_X] = 4;
-    dev.absflat[ABS_X] = 2;
+    dev.absfuzz[ABS_Y] = 4;
+    dev.absflat[ABS_Y] = 2;
 
 
     if(write(fd, &dev, sizeof(dev)) < (ssize_t)sizeof(dev)){
@@ -76,8 +76,14 @@ int init_uinput_device(void){
     if( ioctl(fd, UI_SET_KEYBIT, BTN_Y)     ) return -1;
     if( ioctl(fd, UI_SET_KEYBIT, BTN_TL)    ) return -1;
     if( ioctl(fd, UI_SET_KEYBIT, BTN_TR)    ) return -1;
+    if( ioctl(fd, UI_SET_KEYBIT, BTN_TL2)   ) return -1;
+    if( ioctl(fd, UI_SET_KEYBIT, BTN_TR2)   ) return -1;
     if( ioctl(fd, UI_SET_KEYBIT, BTN_START) ) return -1;
     if( ioctl(fd, UI_SET_KEYBIT, BTN_SELECT)) return -1;
+    if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_UP)) return -1;
+    if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_DOWN)) return -1;
+    if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_LEFT)) return -1;
+    if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_RIGHT)) return -1;
 
     /* D-Pad [-0xFFFF - 0xFFFF] */
     if( ioctl(fd, UI_SET_EVBIT,  EV_ABS)    ) return -1;