comparison 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
comparison
equal deleted inserted replaced
3:61bb81a9a440 4:73c20831be0a
8 #include <sys/ioctl.h> 8 #include <sys/ioctl.h>
9 #include <unistd.h> 9 #include <unistd.h>
10 #include <stdbool.h> 10 #include <stdbool.h>
11 11
12 12
13 #define DS_NAME "NintendoDS Wireless Gamepad" 13 #define DS_NAME "Nintendo 3DS"
14 14
15 /* Not found these values... but it's not important! */ 15 /* Not found these values... but it's not important! */
16 #define DS_VENDOR 0xdead 16 #define DS_VENDOR 0xdead
17 #define DS_PRODUCT 0xbeef 17 #define DS_PRODUCT 0xbeef
18 #define DS_VERSION 0x00 18 #define DS_VERSION 0x00
57 dev.absfuzz[ABS_X] = 4; 57 dev.absfuzz[ABS_X] = 4;
58 dev.absflat[ABS_X] = 2; 58 dev.absflat[ABS_X] = 2;
59 59
60 dev.absmax[ABS_Y] = DS_MAX_Y; 60 dev.absmax[ABS_Y] = DS_MAX_Y;
61 dev.absmin[ABS_Y] = DS_MIN_Y; 61 dev.absmin[ABS_Y] = DS_MIN_Y;
62 dev.absfuzz[ABS_X] = 4; 62 dev.absfuzz[ABS_Y] = 4;
63 dev.absflat[ABS_X] = 2; 63 dev.absflat[ABS_Y] = 2;
64 64
65 65
66 if(write(fd, &dev, sizeof(dev)) < (ssize_t)sizeof(dev)){ 66 if(write(fd, &dev, sizeof(dev)) < (ssize_t)sizeof(dev)){
67 fprintf(stderr, " [%d] Registering device at uinput failed\n", curdev); 67 fprintf(stderr, " [%d] Registering device at uinput failed\n", curdev);
68 return -1; 68 return -1;
74 if( ioctl(fd, UI_SET_KEYBIT, BTN_B) ) return -1; 74 if( ioctl(fd, UI_SET_KEYBIT, BTN_B) ) return -1;
75 if( ioctl(fd, UI_SET_KEYBIT, BTN_X) ) return -1; 75 if( ioctl(fd, UI_SET_KEYBIT, BTN_X) ) return -1;
76 if( ioctl(fd, UI_SET_KEYBIT, BTN_Y) ) return -1; 76 if( ioctl(fd, UI_SET_KEYBIT, BTN_Y) ) return -1;
77 if( ioctl(fd, UI_SET_KEYBIT, BTN_TL) ) return -1; 77 if( ioctl(fd, UI_SET_KEYBIT, BTN_TL) ) return -1;
78 if( ioctl(fd, UI_SET_KEYBIT, BTN_TR) ) return -1; 78 if( ioctl(fd, UI_SET_KEYBIT, BTN_TR) ) return -1;
79 if( ioctl(fd, UI_SET_KEYBIT, BTN_TL2) ) return -1;
80 if( ioctl(fd, UI_SET_KEYBIT, BTN_TR2) ) return -1;
79 if( ioctl(fd, UI_SET_KEYBIT, BTN_START) ) return -1; 81 if( ioctl(fd, UI_SET_KEYBIT, BTN_START) ) return -1;
80 if( ioctl(fd, UI_SET_KEYBIT, BTN_SELECT)) return -1; 82 if( ioctl(fd, UI_SET_KEYBIT, BTN_SELECT)) return -1;
83 if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_UP)) return -1;
84 if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_DOWN)) return -1;
85 if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_LEFT)) return -1;
86 if( ioctl(fd, UI_SET_KEYBIT, BTN_DPAD_RIGHT)) return -1;
81 87
82 /* D-Pad [-0xFFFF - 0xFFFF] */ 88 /* D-Pad [-0xFFFF - 0xFFFF] */
83 if( ioctl(fd, UI_SET_EVBIT, EV_ABS) ) return -1; 89 if( ioctl(fd, UI_SET_EVBIT, EV_ABS) ) return -1;
84 if( ioctl(fd, UI_SET_ABSBIT, ABS_X) ) return -1; 90 if( ioctl(fd, UI_SET_ABSBIT, ABS_X) ) return -1;
85 if( ioctl(fd, UI_SET_ABSBIT, ABS_Y) ) return -1; 91 if( ioctl(fd, UI_SET_ABSBIT, ABS_Y) ) return -1;