evtest brings for me something like:
Event: time 1471421830.222857, -------------- SYN_REPORT ------------
Event: time 1471421839.037076, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1471421839.037076, type 1 (EV_KEY), code 311 (BTN_TR), value 1
Event: time 1471421839.037076, -------------- SYN_REPORT ------------
Event: time 1471421839.222181, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1471421839.222181, type 1 (EV_KEY), code 311 (BTN_TR), value 0
Event: time 1471421839.222181, -------------- SYN_REPORT ------------
Event: time 1471421839.747441, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1471421839.747441, type 1 (EV_KEY), code 310 (BTN_TL), value 1
Event: time 1471421839.747441, -------------- SYN_REPORT ------------
Event: time 1471421839.935186, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1471421839.935186, type 1 (EV_KEY), code 310 (BTN_TL), value 0
Event: time 1471421839.935186, -------------- SYN_REPORT ------------
Event: time 1471421841.059117, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1471421841.059117, type 1 (EV_KEY), code 311 (BTN_TR), value 1
Event: time 1471421841.059117, -------------- SYN_REPORT ------------
Event: time 1471421841.184228, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1471421841.184228, type 1 (EV_KEY), code 311 (BTN_TR), value 0
Event: time 1471421841.184228, -------------- SYN_REPORT ------------
Event: time 1471421850.286365, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1471421850.286365, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1
Event: time 1471421850.286365, -------------- SYN_REPORT ------------
Event: time 1471421850.384091, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1471421850.384091, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0
Event: time 1471421850.384091, -------------- SYN_REPORT ------------
Event: time 1471421851.221895, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1471421851.221895, type 1 (EV_KEY), code 305 (BTN_EAST), value 1
Event: time 1471421851.221895, -------------- SYN_REPORT ------------
Event: time 1471421851.320732, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1471421851.320732, type 1 (EV_KEY), code 305 (BTN_EAST), value 0
Event: time 1471421851.320732, -------------- SYN_REPORT ------------
and the button names doesn't even change when changing between the three controller modes (android/mouse/windows)
So finally it comes down to a button name mapping issue