Hacker News new | past | comments | ask | show | jobs | submit login

Bluetooth is bad enough that wireless mice/keyboards usually have a USB dongle receiving what I guess is a proprietary RF protocol. Some wireless headphones have that too. And wifi requires too much power.





Bluetooth isn't too bad, Logitech Bolt is based on BLE and it's just fine. Bigger problem is integration into x86/x86_64 platform.

Bluetooth mice use the HID protocol borrowed from USB, except with Bluetooth as carrier. But HID had not been designed for the possibility that packets could get lost: it sends movements as a relative vector since the previous packet.

I don't know how Logi Bolt works, but Logitech has claimed that it should work better than BLE when the 2.4 GHz band is congested. Also that it would have better security than BLE.


> But HID had not been designed for the possibility that packets could get lost

Doesn't the same problem exist for USB dongles with proprietary RF protocols?

Logi Bolt is a good solution. But ime most other USB dongles are terrible. I have had a lot of bad connection issues with such USB dongles, and never with similar bluetooth devices. USB dongles also use the same 2.4GHz band, and even more they are prone to interference from nearby active USB ports [0]. If you have ever had a "jumping" mouse while transfering big amounts of data through a port neighbouring your mouse's USB dongle, this is likely the reason.

[0] https://www.usb.org/sites/default/files/327216.pdf


The proprietary protocol can use absolute positions between device/dongle, and then the dongle can translate to relative positions at the edge, by returning the difference since the last poll

Precisely. That is how I would have designed a wireless mouse protocol: using wrapping counters and sending the counter values. The HID protocol does not support an input value that is Absolute/Wrap (although it could be extended to do so, and I think that it should)

I'd think it would also be possible to get around congestion problems by using tricks such as multiple channels and/or interference detection on top of BLE. But only Logitech knows how Bolt actually works.


Is position estimation from the signal that accurate for that?

No, mice sensors are far from being SoTA linear encoders. They return approximate instantaneous movements somehow when read request is received. Mouse controller chips(USB or RF or Bluetooth) pack and report up the movements, that's it.

(psa: none of Chinese ADNS-2610 clones have the raw pixel output debug command. Maybe security implications or maybe something else, either way, mouse-as-microscope hacks don't work on sensors extracted from e-wastes)


They don't mean the absolute real distance between dongle and mouse.

They mean the mouse communicates an absolute position (relative to some arbitrary 0,0 the mouse decides upon) instead of a relative direction.

Dongle can then take latest coord packet and diff it against previous coord packet to get a relative coord to pass via HID to the system.

If the RF packets are lost, some latency occurs but the dongle still has the previous mouse coord and can make a fairly accurate correction once a packet gets thru (get's from A to D, but might skip points B+C).


What happens with that "absolute position relative to some arbitrary 0,0 picked by the mouse" when the user picks the mouse up off the table/pad/etc. and repositions it (i.e., they hit the edge of the pad and now "re-center" to continue moving left (or right) on screen). The mouse loses its 0,0 point reference as soon as it is picked up.

It could send a "reset 0,0" packet of some form in this case, but now reception of that packet becomes critical to continuing to properly communicate motion to the attached computer.


That's not how mouse input works though, right? If I move my mouse cursor to 10,10, and then pick up the mouse and set it down somewhere else, it's still at coordinates 10,10. You don't need the mouse's physical absolute position, but just the cursor position (which is the sum of all the relative movements)

> That's not how mouse input works though, right?

No, mouse input data does not work that way.

My reply was referring to @tehbeard's suggestion that the mouse could be modified to send absolute coordinates instead, and I was pointing out a reason why that modification would not work out so well.


> It could send a "reset 0,0" packet of some form in this case, but now reception of that packet becomes critical to continuing to properly communicate motion to the attached computer.

And those "how I would have designed a wireless mouse protocol" guys are back at the square one.


That sounds like a software problem to me, not one that requires a hardware solution. There is nothing in what you describe that cannot be performed through bluetooth packets.

I am not sure which dongles make these corrections, but my experience with dongles is worse than bluetooth. Typically, a mouse is very close to the bluetooth antenna of a computer, and I have not really experienced any sort of connection issues due to missing packages etc. In contrast, I have had tons of issues with usb dongles due to usb interference.


In all the years I've used wireless dongled mice, I've never had an issue. And all my stuff is bottom of the barrel unbranded from eBay or Amazon.

Bluetooth mice and keyboards always have trouble pairing, or there's input lag, or sometimes I can't use them to wake the computer. And if you ever want to hold a startup key...


Nintendo Wii Remote used almost completely bare standard HID over Bluetooth Classic and it just worked flawlessly. It needed Wiimote aware apps and special procedures for use with non-Wii devices but it had none such problems(I've had those too) in gaming. It could wake up consoles too.

The problem is in 5W1Hs between combinations of (Windows, PC, Bluetooth), not the protocol. How should pairing keys be retained, etc.


Clarification, the dongled mice are cheapo, the Bluetooth mice are expensive and still bad.

Bolt can't be better than BLE because it is BLE. Same with Apple gear which pairs so seemlessly.

It's just that they control both sides of the signal so can better optimize the connection.


I mean, you can't type in BitLocker password wirelessly without a dongle. Optical mice sensors aren't so repeatable anyway, so missing a packet or two probably aren't so critical.

I mean, they aren't putting raw HID packets on the air, they're encapsulated within another protocol that does handle reliable retransmission.

I don't know why USB dongles are popular for manufacturers (I assume to make their product more plug-and-play friendly), but I don't think they are a better solution than bluetooth. For example, it is common that if another USB device is plugged close to a USB dongle, it can cause interference to it, which results to unstable connection and eg makes a mouse "jump", keystrokes not register etc. Finding the right place for a USB dongle can be a pain. USB dongles with proprietary RF protocols are usually a terrible solution imo. I have never had any similar kind of connectivity issues with a bluetooth mouse or keyboard.

Some things are difficult to do with a Bluetooth keyboard: you cannot do anything before the OS is booted, such as changing BIOS settings, installing an OS, or choosing a GRUB boot entry. There are workarounds (buying a Bluetooth adapter that can act as a HID proxy) but for me this is enough of a reason to not want to rely on Bluetooth.

Bluetooth's latency is just too slow for a mouse. Heck, Bluetooth is too slow for audio, too, but most people seem to be complacent to latency.

It’s fine for any use of a keyboard or mouse besides a niche in gaming. It also uses less energy than most RF dongles, which results in better battery life (something I could check using a couple of mice that could do both).

The fact that Logitech’s current dongles are just BLE with a fancy encryption scheme tends to indicate that they really want their proprietary hardware, and bandwidth is not the reason.


The dongles are common because they predate widespread availability of bluetooth equipped laptops and desktops by about a decade…00’s versus 10’s.

Dongles are also plug and play (no pairing dance) and more readily support multiple devices on the same computer.

Bluetooth has gotten better over the years but it doesn’t provide a meaningfully better alternative for the it-aint-broke consumer mouse market.


I bought a new mouse recently and intentionally got a dongle one, not that it was hard to find. It's just better.

USB dongles are popular because the mouse is paired with the dongle. This comes handy in a number of use-cases (servicing a different computer, hot-desk office, non tech-inclined people).

It is true though that USB interference for wireless dongles is an annoying reality. My Logitech Unifying dongle has issues whenever I copy files over USB. I'm not sure if later revisions or their Bolt dongles have improved on that.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: