Skip to content
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

Beta v6. Mouse will pair, but keyboard won't #16

Open
jfed6000 opened this issue Aug 31, 2024 · 11 comments
Open

Beta v6. Mouse will pair, but keyboard won't #16

jfed6000 opened this issue Aug 31, 2024 · 11 comments

Comments

@jfed6000
Copy link

jfed6000 commented Aug 31, 2024

I tried both compiling and using the binary. Mouse will pair, but keyboard will not (blue light turns on and flashes when I click mouse button). Also, blue light doesn't flash in pairing mode (I thought it did on the old one).

The keyboard I'm using paired fine under the prior version. Is there a log I can look at to get more info? I've tried this with 2 different esp32s just to make sure.

I double checked the pins with a multimeter. So I'm pretty sure those are correct.

@Hamberthm
Copy link
Owner

Hi!

Make sure the mouse is OFF while you pair the keyboard, otherwise once it connects to the mouse, it will exit pairing mode.

Another option is pressing the "boot" button (or shorting GPIO 0 to ground ) after the LED turns on, then the LED will turn off again and enter pairing mode again.

Remember LED off=pairing mode, LED ON=normal operation, no pairing only connecting.

Please check the README on the v0.6 release to understand better the new pairing methods:

https://github.com/Hamberthm/esp32-bt2ps2/releases/tag/v0.6-beta

@jfed6000
Copy link
Author

It might be the keyboard. It still connects to the old esp32, but it won't connect to anything new. I'll look into it from that angle. Thanks!

@Hamberthm
Copy link
Owner

Hamberthm commented Aug 31, 2024

It might be the keyboard. It still connects to the old esp32, but it won't connect to anything new. I'll look into it from that angle. Thanks!

Try the older 0.4v also on the new board so to be sure the problem is v0.6.

If for sure the problem is v0.6, then ramp up log level verbosity to "VERBOSE" and copy here a dump when the keyboard tries to connect (where it spits out the report map).

Is this a BLE keyboard (no code pairing)? There's a new connection parameter detection on BLE that could be causing problems.

Humberto

@Hamberthm
Copy link
Owner

To quickly test if the new parameter update call is causing problems, comment out or delete the following line on bt_beyboard.cpp :

esp_ble_gap_update_conn_params(&conn_params);

@jfed6000
Copy link
Author

No. It was the keyboard. Apparently this is a known issue. It supports up to three devices. The internet is full of instructions to hold down FN +ESC to reset. Holding down FN + Bluetooth channel finally reset it, and it sync'd right up. Sorry for the issue. Just didn't expect the keyboard to have a fixed device list with no instructions on how to reset it. Looks like I'm back in business!! Thanks! Awesome project! I'm in the process of writing a mouse driver for the device this is hooked up to. I'll shoot you a note once I get it debugged. Looking forward to having this all working!

@Hamberthm
Copy link
Owner

No. It was the keyboard. Apparently this is a known issue. It supports up to three devices. The internet is full of instructions to hold down FN +ESC to reset. Holding down FN + Bluetooth channel finally reset it, and it sync'd right up. Sorry for the issue. Just didn't expect the keyboard to have a fixed device list with no instructions on how to reset it. Looks like I'm back in business!! Thanks! Awesome project! I'm in the process of writing a mouse driver for the device this is hooked up to. I'll shoot you a note once I get it debugged. Looking forward to having this all working!

Awesome! Looking forward to it!!

Once you get all paired up, try the new fast boot and see if it speeds up the connections 😉

Also, I'm currently debugging serial mouse support, so that's coming soon.

Will leave this open for a while.

Cheers!
Humberto

@Hamberthm
Copy link
Owner

Hamberthm commented Sep 2, 2024

Hi @jfed6000

v0.7 is out! It includes optimizations related to task core assignation, so you might find it works better when using KB and Mouse at the same time.

Now core 1 is dedicated to mouse and core 0 to KB. This prevents critical sections like PS/2 packet transmission to halt the rest of the system and introducing lag.

Humberto

@jfed6000
Copy link
Author

jfed6000 commented Sep 2, 2024

I used the binary package for 0.7, but something is off on the keyboard. The shift gets stuck somehow and I end up with all caps all the time (and the shift symbols instead of numbers). Tried it under 0.5, and it worked fine. I'm also having trouble getting data out of the mouse, but that may be an issue with the driver I'm working on. I'll keep testing. (My issues with 0.7 could all revolve around the mouse, but it is possible that I'm using an incompatible mouse - although it looks like it connects, and the blue light flashes when I click any button).

@Hamberthm
Copy link
Owner

Hamberthm commented Sep 3, 2024

I used the binary package for 0.7, but something is off on the keyboard. The shift gets stuck somehow and I end up with all caps all the time (and the shift symbols instead of numbers). Tried it under 0.5, and it worked fine. I'm also having trouble getting data out of the mouse, but that may be an issue with the driver I'm working on. I'll keep testing. (My issues with 0.7 could all revolve around the mouse, but it is possible that I'm using an incompatible mouse - although it looks like it connects, and the blue light flashes when I click any button).

Mmm. Try using the keyboard in very short range to the board to see if it'srelated to signal strenght. I was having some signal problems with my Redragon and could be my fault (not sure).

If the mouse connects and the LED flashes, then at least the clicks should work (movement may fail). If the clicks don't work, then we need to check the PS/2 side. Enable PS/2 debugging by uncommenting this line:

//#define _ESP32_PS2DEV_DEBUG_

And come back with a log of the messages the host sends to the mouse module on boot (do it without anything connected to bluetooth to avoid spamming the serial console).

If you need a debugging build, ask me!

Also recheck pin assignation and connections. Remember mouse uses a separate bus (another cable). Also remember to connect one ground wire per system, although I don't think you're using a keyboard and mouse on different systems 😝

I hope we can get you up and running soon :)

EDIT: Just tested the 0.7 binary as is in case I compiled it wrong and everything works on my side!

@Hamberthm
Copy link
Owner

Hamberthm commented Sep 18, 2024

Hey how is it going?

I saw someone report stuck keys both on keyboard and mouse on the compatibility sheet (https://1drv.ms/x/s!AlKre4_rNmpJiYpl1v4KcbK1Pm77zA?e=0I6QRB) and I was wondering if it was you.

If it wasn't you, then we may have a confirmed bug of some sort!

I'll review the code, in the meantime, can you confirm the make and model of your keyboard and mouse you're having stuck keys with? That's to see if they're BLE or Classic BT.

@jfed6000
Copy link
Author

jfed6000 commented Sep 19, 2024

Sorry for the radio silence. I finally finished debugging my mouse driver and it works great!!! I have my bluetooth trackball and bluetooth keyboard working with my F256Jr! Mouse works flawlessly. I'm still getting a delay on the keyboard, but I'm thinking it is a driver issue on my end. The 0.5 still works flawlessly with the keyboard. I'm going to try to debug the keyboard next.

I had a timing issue with my mouse driver where the interrupt would trigger before there was data to read. I wonder if the timing is different between 0.5 and 0.7 on the keyboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants