From: Marcel Holtmann <marcel@holtmann.org>
To: BlueZ Mailing List <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] [PATCH] Fix too-many-keys-pressed error in hidp/core.c
Date: Sun, 23 Jan 2005 09:46:48 +0100 [thread overview]
Message-ID: <1106470008.8112.9.camel@pegasus> (raw)
In-Reply-To: <20050120090340.GA9719@salvia.homeip.net>
Hi Juha,
> > > 1106180983.027061 > ACL data: handle 0x0029 flags 0x02 dlen 14
> > > L2CAP(d): cid 0x0041 len 10 [psm 0]
> > > A1 01 00 00 14 1A 08 15 00 00
> > > 1106180983.047059 > ACL data: handle 0x0029 flags 0x02 dlen 14
> > > L2CAP(d): cid 0x0041 len 10 [psm 0]
> > > A1 01 00 00 01 01 01 01 01 01
> > > 1106180983.267020 > ACL data: handle 0x0029 flags 0x02 dlen 14
> > > L2CAP(d): cid 0x0041 len 10 [psm 0]
> > > A1 01 00 00 14 1A 08 15 00 00
> >
> > this looks weird and even the 't' is still missing in that dump.
>
> Yes, weird it is. The 't' is missing because the keyboard is not able to
> detect it anymore, because four other keys are being pressed (due to the
> design of the keyboard, which allows only certain keys being detected at the
> same time). The keyboard only detects the condition "too many keys pressed",
> hence the 0x01 packet.
>
> > Is this a general behaviour? Do we see the same on other keyboard?
>
> I have only the diNovo, and it does this every time. A brief search through
> the ML archives revealed:
>
> http://sourceforge.net/mailarchive/message.php?msg_id=8762071
>
> It seems that at least other Logitech keyboards express similiar behaviour.
I tested it with my Microsoft and Apple keyboards. It seems that both of
them take 5 keys before they result in too many keys are pressed, but
this event still occurs.
Since Apple uses the Broadcom chip and Logitech/Microsoft uses CSR this
seems not to be unique to the Bluetooth software on the keyboard. So it
must be inside the specification or all of these keyboards simple share
the same keyboard chip. Has anyone some detailed information for me
about this?
> I believe my patch is the least intrusive fix for handling the odd packet.
I think we should add a patch for this, but I don't like the way you did
it. Checking for the end value of a for-loop is not a good programming
practice. Using memcmp() here should be a lot better and cleaner.
Regards
Marcel
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
next prev parent reply other threads:[~2005-01-23 8:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-19 22:44 [Bluez-devel] [PATCH] Fix too-many-keys-pressed error in hidp/core.c Juha Yrjölä
2005-01-20 0:19 ` Marcel Holtmann
2005-01-20 0:34 ` Juha Yrjölä
2005-01-20 1:01 ` Marcel Holtmann
2005-01-20 9:03 ` Juha Yrjölä
2005-01-23 8:46 ` Marcel Holtmann [this message]
2005-01-23 11:39 ` Juha Yrjölä
2005-01-23 12:01 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1106470008.8112.9.camel@pegasus \
--to=marcel@holtmann.org \
--cc=bluez-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox