Bluetooth controller connects, but RetroArch doesn't detect input

Hello, my only controller is a Terios T-3 bluetooth controller (knock-off of GameStop Red Samurai controller), it connects fine when using bluetoothctl in the command line, but when I try to use it or bind the keys in RetroArch, nothing happens, it just doesn’t detect any input at all (other than the keyboard). I am wanting to know of any way to get the controller to work in the menu and/or in a core.

Specs: Lakka (unofficial) Version: devel-20161221184910-r21729-g274b40f Last updated using lakka-update Raspberry Pi 3 Model B Successfully connected to WiFi, and SSH works.

If anybody needs to see dmesg or some configuration file, I will be happy to provide that.

2 Likes

Hi,

Is it possible to make a test with Lakka 2.0 RC5 ? The image for RPi3.

Thank you.

I completely reinstalled Lakka using the image you provided, but it still didn’t work. I think this might be because the controller I am using gets detected as a keyboard instead of a controller. When I run info (address) in bluetoothctl, it shows the following:

Name: Gamepad
Alias: Gamepad
Class: 0x002540
Icon: input-keyboard
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: yes
UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1949p0402d011B

Specifically, it shows “Icon: input-keyboard”.

Can you check you get any event with evtest ?

When you can get the event id, can you try to type

udevadm info --name=input/eventX

Thank you.

OK, so I have no idea what exactly evtest or any of the stuff like this is (I am fairly familiar with Linux, just not the core elements like how it handles input) but I found what I needed to do from here, and this is what I came up with:

Lakka:~ # cat /proc/bus/input/devices 

(I’ve cut out an entry for my USB mouse and strangely two entries for one USB Compaq keyboard)

I: Bus=0005 Vendor=1949 Product=0402 Version=011b N: Name="Gamepad" P: Phys=b8:27:eb:9c:7f:9d S: Sysfs=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:1949:0402.0007/input/input6 U: Uniq=00:ff:01:00:24:e2 H: Handlers=sysrq kbd leds mouse1 js0 event3 B: PROP=0 B: EV=12001f B: KEY=20 0 0 0 0 0 0 0 0 ffff0000 70000 10000 2008007 ff9f387a c9415fff febeffdf ffefffff ffffffff fffffffe B: REL=103 B: ABS=30027 B: MSC=10 B: LED=1f

Lakka:~ # udevadm info --name=input/event3 P: /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:1949:0402.0007/input/input6/event3 N: input/event3 E: DEVNAME=/dev/input/event3 E: DEVPATH=/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:1949:0402.0007/input/input6/event3 E: ID_BUS=bluetooth E: ID_INPUT=1 E: ID_INPUT_KEY=1 E: ID_INPUT_KEYBOARD=1 E: ID_INPUT_MOUSE=1 E: MAJOR=13 E: MINOR=67 E: SUBSYSTEM=input E: USEC_INITIALIZED=10275994456

So, I did “get an event”. I should also say that when I try to bind the controller in RetroArch, on the part in which it asks you to press a button on the controller, when I press a button on the controller, nothing happens, it justs acts as if I never pressed anything and times out and moves on to the next key to bind.

Just type evtest and select the number corresponding to your controller.

I am not sure it will change something if we add udev rule as it seems you don’t get any event. But you may try to add udev rules.

Can you try to add the rule to /storage/.config/udev.rules.d ?

nano /storage/.config/udev.rules.d/99-terios-t3.rules

then copy this content :

SUBSYSTEM=="input", ATTRS{name}=="Gamepad", KERNEL=="event*", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"

Then CTRL+O to save the file and CTRL+X to exit.

You should reboot or restart udev rules with

udevadm control --reload
udevadm trigger
1 Like

It seems that I don’t have evtest:

Lakka:~ # evtest 
-sh: evtest: not found

Should I compile it by source, or is it supposed to be built into Lakka, or is there a specific software package for this? Also, the udev rule successfully made RetroArch recognize the controller input properly, and so I was able to bind the controls and now it works perfectly. Thank you.

Sorry, I was thinking we provide evtest.

Good to know it works with the udev rule. I will add it to Lakka image.

By the way, it will be great if you can contribute to your joypad config.

Thank you.

I’m in the same boat, waiting to be able to make my own thread, but in my case it’s for a bluetooth controller called an ION iCade. Difference is I’m not getting an event for it. All I get with that comand is when I used --name=input/event0 which is for my USB controller, but after I pair the iCade BT controller, no event please help! I really want to complete my Portable arcade system. :frowning:

1 Like

I am having a similar problem. My bluetooth controller pairs as bbc-game and works in other games, but RetroArch refuses to detect it until I plug it in. I can use xboxdrv to make it work, but Linux Mint demands SUDO to access /dev/input/event16, so I have to do it through a terminal. I have prepared a lengthy post regarding this problem but I cannot create new threads on this forum :frowning:

Linux Mint 18.3 Mate 64-bit Beboncool gamepad "bbc-game’

1 Like