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