Mercurial > remote-gamepad-server
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;