Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VB8.0
I was wondering if there was a way to determine a wireless mouse's distance from the computer via its dongle?
 
I feel there should be since the mouse and its dongle communicate and there would be a difference in the time {however small} it takes depending on where the mouse is. It should be just a matter of getting the dongle to tell you that time period and using VisualBasic to convert that to inches then using that info in a program.
 
I'm asking because I have a mouse I'm no longer using {got a newer one in which the battery lasts MUCH longer} and I was thinking about hacking the old mouse insides into a glove. With the location info used in a program. So instead of using a mouse on the table the User could move the glove in a particular location {distance} from the dongle - perhaps a bit further than when your hand is on the keyboard so you're not triggering mouse events when typing. The mouse buttons can be in the fingertips - activated by touching the thumb to the Index/Middle/Ring fingers. Maybe "scroll" by running the thumb along the Middle finger.
 
Anyway, I'd appreciate any information on this. Thanks in advance!!!
 
Peace to you and yours,
Matthew "Dra'Gon" Stohler
Posted 1-May-13 15:49pm

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Not really. I looked into this a long time ago (in a different context). You can't really get the signal strength with most blue tooth drivers or get the distance in an accurate enough fashion even if you could. I was experimenting with indoor navigation systems using WiFi RSSI signal strengths and even then its very difficult unless you have a lot of receivers to interpolate with.
 
If you want to do something like that, look at the Leap:
 
Leap Motion Controller[^]
  Permalink  
Comments
BlueDragonFire at 2-May-13 14:00pm
   
Maybe I'm misunderstanding how a wireless mouse works. I thought the dongle is what the mouse is transmitting it's data to. I know I don't have Bluetooth on my laptop. If it's using the Wifi card to get data to the computer what is the dongle for? And why wouldn't the mouse work without the dongle plugged in?
 
As for doing my idea with some other transceivers wouldn't it only need 2, spread apart by about a foot or so? A program should only need those 2 and compare the time for data to get to each in order to triangulate the position of the glove.
 
That "Leap Motion" you linked to looks interesting - and not that expensive. The "Kinect" system would probably be a good one too. I had also looked a bit into a company called "NeuroSky" {link below}. I think that could be rigged up so that you could use just your mind to control stuff on the computer. That would be wild.
 
Anyway, I'll see if anyone else comes up with something {the beauty of the Web, eh}. But thanks a bunch for your reply!!
 
NeuroSky - http://www.neurosky.com/
 
Peace to you and yours,
Matthew "Dra'Gon" Stohler
Ron Beyer at 2-May-13 14:03pm
   
The dongle is what the mouse is transmitting to, however it isn't calculating the distance from the dongle. The data that the mouse transmits is the distance X and Y that it moved since the last time it sent an update. It gets this data by using the optical sensor on the bottom of the mouse, not by the signal strength or other calculation of the distance from your dongle.
 
Think about it, a distance is a 1 dimensional number. You can move the mouse in an arc at the same distance from the dongle and the mouse position still changes, but its distance from the dongle does not. The mouse uses an optical sensor on the bottom of the mouse to calculate the delta (not absolute) position. This is why your mouse doesn't work unless its on or very near to the mouse pad or surface you are sliding it on, and has no bearing on how far from the dongle you are (otherwise if you moved your computer, the mouse would move).
 
BTW, you may not have bluetooth, but most wireless mice operate on bluetooth and they just don't show up in the drivers as bluetooth. Others use a proprietary protocol but it operates on the same principle.
Ron Beyer at 2-May-13 14:16pm
   
*Edit*
As far as triangulation goes, in theory it would work if:
1. You can get the "time of flight" of a data transmission" this means you need to know when the event originated in very precise time, which isn't possible since the dongle would need to be 2-way comms (mouse sends message, dongle replies with time recieved, mouse compares it with time sent to get time of flight).
2. You would need a VERY accurate clock, when I say very, I mean approaching atomic scale. Radio transmissions happen at near the speed of light, and if you are wanting to measure the time difference between 2 signals 1 foot apart using the speed of light, then your time differences will be in the scale of femtoseconds. This works with satellites and GPS because the satellites are 43,200km above the center of the earth.
BlueDragonFire at 2-May-13 19:01pm
   
Yeah, I know it's the laser/IR light on the bottom of the mouse which allows the cursor to move {used to be a ball in the old days}. That wasn't the data I was thinking to operate the glove from. I was hoping that the mouse was also getting something from the dongle - I don't know what, just some data bit or whatever - and there might be some way of using that plus what the mouse was sending to the dongle. But from what you've said it doesn't look possible.
 
I still like that glove idea though. But I'll have to figure some other method if I decide to keep trying for it myself.
 
Thanks again!
 
Peace to you and yours,
Matthew "Dra'Gon" Stohler

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 200
1 George Jonsson 175
2 Kornfeld Eliyahu Peter 169
3 PIEBALDconsult 110
4 Richard MacCutchan 85
0 OriginalGriff 6,080
1 DamithSL 4,648
2 Maciej Los 4,087
3 Kornfeld Eliyahu Peter 3,624
4 Sergey Alexandrovich Kryukov 3,294


Advertise | Privacy | Mobile
Web04 | 2.8.141220.1 | Last Updated 1 May 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100