Running ev3dev (‘4.14.71-ev3dev-2.3.0-ev3 (stretch)’.
BT works, just needed to edit ‘/sys/module/bluetooth/parameters/disable_ertm’.
dmesg:
Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HIDP socket layer initialized hid-generic 0005:045E:0B0C.0002: unknown main item tag 0x0 Bluetooth: received HCILL_WAKE_UP_IND in state 2 input: Xbox Adaptive Controller as /devices/platform/soc@1c00000/serial8250.2/tty/ttyS2/hci0/hci0:1/0005:045E:0B0C.0002/input/input3 hid-generic 0005:045E:0B0C.0002: input,hidraw1: BLUETOOTH HID v9.03 Gamepad [Xbox Adaptive Controller] on a0:e6:f8:60:16:60
I don’t have a ‘/dev/input/js0’ because ev3dev ‘joydev’ has been deprecated.
But I can still read it with ‘cat /dev/input/event3’ but since it looks like garbage its better to use ‘evtest’:
No device specified, trying to scan all of /dev/input/event* Not running as root, no devices may be available. Available devices: /dev/input/event0: LEGO MINDSTORMS EV3 Speaker /dev/input/event1: EV3 Brick Buttons /dev/input/event2: C-Media USB Headphone Set /dev/input/event3: Xbox Adaptive Controller Select the device event number [0-3]: 3 Input driver version is 1.0.1 Input device ID: bus 0x5 vendor 0x45e product 0xb0c version 0x903 Input device name: "Xbox Adaptive Controller" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 1 (KEY_ESC) Event code 2 (KEY_1) Event code 3 (KEY_2) Event code 4 (KEY_3) Event code 5 (KEY_4) Event code 6 (KEY_5) Event code 7 (KEY_6) Event code 8 (KEY_7) Event code 9 (KEY_8) Event code 10 (KEY_9) Event code 11 (KEY_0) Event code 12 (KEY_MINUS) Event code 13 (KEY_EQUAL) Event code 14 (KEY_BACKSPACE) Event code 15 (KEY_TAB) Event code 16 (KEY_Q) Event code 17 (KEY_W) Event code 18 (KEY_E) Event code 19 (KEY_R) Event code 20 (KEY_T) Event code 21 (KEY_Y) Event code 22 (KEY_U) Event code 23 (KEY_I) Event code 24 (KEY_O) Event code 25 (KEY_P) Event code 26 (KEY_LEFTBRACE) Event code 27 (KEY_RIGHTBRACE) Event code 28 (KEY_ENTER) Event code 29 (KEY_LEFTCTRL) Event code 30 (KEY_A) Event code 31 (KEY_S) Event code 32 (KEY_D) Event code 33 (KEY_F) Event code 34 (KEY_G) Event code 35 (KEY_H) Event code 36 (KEY_J) Event code 37 (KEY_K) Event code 38 (KEY_L) Event code 39 (KEY_SEMICOLON) Event code 40 (KEY_APOSTROPHE) Event code 41 (KEY_GRAVE) Event code 42 (KEY_LEFTSHIFT) Event code 43 (KEY_BACKSLASH) Event code 44 (KEY_Z) Event code 45 (KEY_X) Event code 46 (KEY_C) Event code 47 (KEY_V) Event code 48 (KEY_B) Event code 49 (KEY_N) Event code 50 (KEY_M) Event code 51 (KEY_COMMA) Event code 52 (KEY_DOT) Event code 53 (KEY_SLASH) Event code 54 (KEY_RIGHTSHIFT) Event code 55 (KEY_KPASTERISK) Event code 56 (KEY_LEFTALT) Event code 57 (KEY_SPACE) Event code 58 (KEY_CAPSLOCK) Event code 59 (KEY_F1) Event code 60 (KEY_F2) Event code 61 (KEY_F3) Event code 62 (KEY_F4) Event code 63 (KEY_F5) Event code 64 (KEY_F6) Event code 65 (KEY_F7) Event code 66 (KEY_F8) Event code 67 (KEY_F9) Event code 68 (KEY_F10) Event code 69 (KEY_NUMLOCK) Event code 70 (KEY_SCROLLLOCK) Event code 71 (KEY_KP7) Event code 72 (KEY_KP8) Event code 73 (KEY_KP9) Event code 74 (KEY_KPMINUS) Event code 75 (KEY_KP4) Event code 76 (KEY_KP5) Event code 77 (KEY_KP6) Event code 78 (KEY_KPPLUS) Event code 79 (KEY_KP1) Event code 80 (KEY_KP2) Event code 81 (KEY_KP3) Event code 82 (KEY_KP0) Event code 83 (KEY_KPDOT) Event code 86 (KEY_102ND) Event code 87 (KEY_F11) Event code 88 (KEY_F12) Event code 96 (KEY_KPENTER) Event code 97 (KEY_RIGHTCTRL) Event code 98 (KEY_KPSLASH) Event code 99 (KEY_SYSRQ) Event code 100 (KEY_RIGHTALT) Event code 102 (KEY_HOME) Event code 103 (KEY_UP) Event code 104 (KEY_PAGEUP) Event code 105 (KEY_LEFT) Event code 106 (KEY_RIGHT) Event code 107 (KEY_END) Event code 108 (KEY_DOWN) Event code 109 (KEY_PAGEDOWN) Event code 110 (KEY_INSERT) Event code 111 (KEY_DELETE) Event code 119 (KEY_PAUSE) Event code 125 (KEY_LEFTMETA) Event code 126 (KEY_RIGHTMETA) Event code 127 (KEY_COMPOSE) Event code 158 (KEY_BACK) Event code 172 (KEY_HOMEPAGE) Event code 240 (KEY_UNKNOWN) Event code 241 (KEY_VIDEO_NEXT) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 306 (BTN_C) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 309 (BTN_Z) Event code 310 (BTN_TL) Event code 311 (BTN_TR) Event code 312 (BTN_TL2) Event code 313 (BTN_TR2) Event code 314 (BTN_SELECT) Event code 315 (BTN_START) Event code 316 (BTN_MODE) Event code 317 (BTN_THUMBL) Event code 318 (BTN_THUMBR) Event code 319 (?) Event code 410 (KEY_SHUFFLE) Event code 704 (BTN_TRIGGER_HAPPY1) Event code 705 (BTN_TRIGGER_HAPPY2) Event code 706 (BTN_TRIGGER_HAPPY3) Event code 707 (BTN_TRIGGER_HAPPY4) Event code 708 (BTN_TRIGGER_HAPPY5) Event code 709 (BTN_TRIGGER_HAPPY6) Event code 710 (BTN_TRIGGER_HAPPY7) Event code 711 (BTN_TRIGGER_HAPPY8) Event code 712 (BTN_TRIGGER_HAPPY9) Event code 713 (BTN_TRIGGER_HAPPY10) Event code 714 (BTN_TRIGGER_HAPPY11) Event code 715 (BTN_TRIGGER_HAPPY12) Event code 716 (BTN_TRIGGER_HAPPY13) Event code 717 (BTN_TRIGGER_HAPPY14) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 32768 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 1 (ABS_Y) Value 32767 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 2 (ABS_Z) Value 32768 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 5 (ABS_RZ) Value 32767 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 7 (ABS_RUDDER) Value 0 Min 1 Max 8 Event code 9 (ABS_GAS) Value 0 Min 0 Max 1023 Fuzz 3 Flat 63 Event code 10 (ABS_BRAKE) Value 0 Min 0 Max 1023 Fuzz 3 Flat 63 Event code 16 (ABS_HAT0X) Value 0 Min -1 Max 1 Event code 17 (ABS_HAT0Y) Value 0 Min -1 Max 1 Event code 40 (ABS_MISC) Value 32768 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 41 (?) Value 32767 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 42 (?) Value 32768 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 43 (?) Value 32767 Min 0 Max 65535 Fuzz 255 Flat 4095 Event code 44 (?) Value 0 Min 0 Max 1023 Fuzz 3 Flat 63 Event code 45 (?) Value 0 Min 0 Max 1023 Fuzz 3 Flat 63 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Key repeat handling: Repeat type 20 (EV_REP) Repeat code 0 (REP_DELAY) Value 250 Repeat code 1 (REP_PERIOD) Value 33 Properties: Testing ... (interrupt to exit)
Pressing the big button ‘A’:
Event: time 1538574732.484613, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001 Event: time 1538574732.484613, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1 Event: time 1538574732.484613, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90010 Event: time 1538574732.484613, type 1 (EV_KEY), code 319 (?), value 1 Event: time 1538574732.484613, -------------- SYN_REPORT ------------ Event: time 1538574732.574441, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001 Event: time 1538574732.574441, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0 Event: time 1538574732.574441, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90010 Event: time 1538574732.574441, type 1 (EV_KEY), code 319 (?), value 0 Event: time 1538574732.574441, -------------- SYN_REPORT ------------
So it is a bit less easy than with Ubuntu but we’ll get somewhere.