I have a Bluetooth keyboard that is not functioning properly (further description below) and I'm trying to debug why.

What I've done so far:

What is happening:

  • When a key is pressed on the keyboard, there is no output in the textbox (exception below)
  • When a key is pressed on the keyboard, I have been able to see the data coming in through btmon
  • Occassionally (and I've had some trouble reproducing this, but it seems to be linked to letting the Bluetooth keyboard idle for some time), the first key that I hit is picked up and entered continuously into the textbox / terminal. For example, if I typed abc, then aaaaaaaaaaaaaaaaaaa.. may get entered into the terminal continuously, until I press a key on my wired keyboard.

In btmon, when I type abc I can see the following 6 messages:

a1 01 00 00 04 00 00 00 00 00  # a
a1 01 00 00 00 00 00 00 00 00  # keyup
a1 01 00 00 05 00 00 00 00 00  # b 
a1 01 00 00 00 00 00 00 00 00  # keyup
a1 01 00 00 06 00 00 00 00 00  # c
a1 01 00 00 00 00 00 00 00 00  # keyup

My question is: How is this data handled by Linux and converted into keystrokes? What is the next step? Where are the drivers that handle this?

This is a Fedora-based distro.

  • 1
    "not functioning properly" isn't very specific. Is it sometimes working? Some keys work? Wrong characters produced? – Stephen Harris Jan 31 at 2:17
  • @StephenHarris occasionally, if I don't touch the keyboard for a while, then enter some keys, the first character I entered might be entered many many times on the screen (e.g. if I typed hasdlkfjasdlkfjwe it will sometimes enter hhhhhhhhhhhhhhhhhhhhhhhhh.. continuously until I hit a key on my wired keyboard). I haven't determined exactly when this behavior occurs but it seems to be related to leaving the keyboard idle. other than that, no output for any keys – connorbode Jan 31 at 2:19
  • 2
    Please edit the question to include this information; thanks. – Stephen Harris Jan 31 at 2:21
  • @StephenHarris updated as requested – connorbode Jan 31 at 2:25
  • FWIW, this feels like a timing issue; your device has powered down, connects, sends a signal... and the stack drops one of the messages because it's not fully sync'd. But that's just a guess :-) Thanks for updating the question, maybe someone else can give a better opinion! – Stephen Harris Jan 31 at 2:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.