-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IDEA] Bluetooth HID manager #20
Comments
Two cents after looking at
Here's a quick ezinject payload I used to persuade |
webOS 5 successfully works with bluetooth gamepads (I tested EXEQ and Gamesir T4 Pro) - at least they works in RetroArch. Bluetooth mouse connects successfully but doesn't control cursor until I connect/disconnect USB mouse/keyboard. Then it works quite good until BT mouse goes sleep mode after being inactive some time. Anyway USB mouse/keyboard connecting/disconnecting revives BT mouse. Looks like there should be some udev configs/scripts for it. Bluetooth keyboard with dynamic PIN code doesn't even pair in my tests, it just ends with |
PS4 controller pairs correctly, shows up in luna-send -i 'luna://com.webos.service.bluetooth/service/enable' '{"service":"hid_sony"}'
luna-send -i 'luna://com.webos.service.bluetooth/gap/findDevices' '{"deviceClass":5,"seconds":10,"subscribe":true}'
luna-send -i 'luna://com.webos.service.bluetooth/service/connect' '{"service":"hid","address":"f4:93:9f:XX:XX:XX","subscribe":true}' |
Huh, after a reboot just Tested with a quick input parser I made some time ago, seems to correctly report axes and buttons: |
@Informatic Your steps worked for me, also on webOS 3, and a similar issue where events didn't arrive on initial pairing. I then turned off my dualshock 4 (holding the PS button 10 seconds), then back on, and events started arriving on Retroarch is also picking these up correctly for me (with How did you discover the payload format of the bluetooth service methods? (This may be obvious, but I'm new to webOS. Could only find EDIT: Just now noticed that |
I sat down in ghidra and started looking at the bluetooth daemon. ( I've documented all the relevant The initial pairing quirk could be alleviated by just sending a disconnect call + asking a user to connect the device back again. I am still experiencing some weird RetroArch controller numbering issues. No idea. |
Just an FYI from me: This is shaping up to be a very promising platform :) |
Which webOS TV Version are you on? The most accurate version info you can get is via this command: grep -h -E '"(hardware_id|core_os_release|product_id|webos_manufacturing_version|board_type)"' /var/run/nyx/* |
One thought regarding DS4 problems: (And to clarify - the "suspected fakes" were bought from legitimate local sellers online. Physically impossible to tell the difference IMO.) |
webOS 5 commands to connect BT controllers:
|
Can we prioritise this by funding few bucks, I'm dying to connect my controller to my TV. |
Can we send this over webos device manager? |
If by Device Manager you mean - https://github.com/webosbrew/dev-manager-desktop then yes - just open the "Terminal" tab and enter the commands there. |
Sadly I'm getting permission denied error when trying to run commands on terminal. Looks like only permissions I have is to basic ls, cd, cat etc commands. This could be a bad place to ask the question but you guys can redirect me to some thread or documentation page using which I can get the permissions sorted. I am new to the webos community and don't even know where to look for the content, google is not so helpful with webos queries. |
If you are not rooted you can try replacing |
My controller is going out of pairing mode, can someone tell me how vi editor works or how can I use device manager to upload a script. I am trying to put this in a shell script. |
Managed to connect a PS4 controller using the above (pub version) commands provided by @Dystopian to use the game streaming client moonlight, thanks! I do have an issue where if the TV is powered off or put into standby and then started back up, the controller connects to the TV again but input is not registered. Each power cylce I have to unpair, re-pair and reconnect. TV information: |
Just to avoid inadvertently stepping on anyone's toes: (the repo's called gamepad because it was my main focus before finding this issue, but I do intend on supporting connecting to any Bluetooth devices) |
That's such a good news to here man. Thankyou so much for this. |
This is beyond awesome. Please let me know when you're ready to publish it to apps repo. |
Please read conditions below carefully, and don't delete this part. Invalid issues will be closed.
Issue content starts below this line
webOS has
com.webos.service.bluetooth2
service that seems to have capability to pair & connect to HID devices, down to webOS 4. While they only provide pairing to their official keyboards, and only supports game controllers on webOS 6, we can consider to utilize such API to pair & connect in older OS versions.The text was updated successfully, but these errors were encountered: