5

I was thinking trying to make a little prototype of a wireless mouse that was left-handed or right-handed depending on which side of the keyboard it's on.

How might I modify a mouse so that the signals from the button clicks cross if they are on oppisite sides of the keyboard?

I'm thinking some kind of small component that knows if it's with a keyboards-width-distance of something attached to one side of the keyboard could toggle whatever mechanism does the reversing.

Is this maybe doable?

  • 2
    You don't have to worry about the mechanism of reversing, all the operating systems can do that in software. The chief problem here is sensing the position of the mouse – Rick_2047 Mar 24 '11 at 04:03
  • will this be a wireless mouse and keyboard combo? or just a wireless mouse and a wired keyboard? – jsolarski Mar 24 '11 at 13:02

6 Answers6

6

a manual switch would be the easiest, but you could use IR LEDs on each side of the key board and 2 IR receivers one on each side of the mouse, then it just detects which side the IR led is lit up on and changes the buttons to the correct configuration.

jsolarski
  • 2,510
  • 2
  • 16
  • 19
5

I'm guessing that if the mouse is on the other side of the keyboard it's being held by someone who's left handed? You may be able to get away with having capacitive sensors in key areas - one set where right-handed people might put skin (fingertips, palms, etc) and another where left-handed people would. If there's not a lot of overlap then you might be able to judge whether a person is left or right handed based on where their hand touches the mouse.

Man that's probably patentable if it works.

AngryEE
  • 8,669
  • 20
  • 29
  • Great idea. This would actually be a lot more useful since it solves the problem without relying on the presence of a keyboard. – Rengers Mar 24 '11 at 18:16
4

You could do a hall effect sensor in the mouse with a magnet embedded in the mousepad or desk.

Depending on which side of the mousepad is face-up, the hall effect sensor will return a positive or negative value reflecting the north or south side of the magnetic field.

You could then switch the left and right mouse buttons based on the values coming from the hall effect sensor.

mjcarroll
  • 1,974
  • 10
  • 16
3

I'd suggest a simpler solution: check if the movement sensor of the mouse can detect when the mouse is lifted up (Don't know it that's doable, but I believe it is), if not, add a little sensor to the bottom of the mouse, that checks if the mouse sits on ground. Now, when the mouse is lifted up by, say 15cm, you put the mouse in a 'unset' state, the first button that is pressed, after the mouse lands on a surface, defines button orientation.

Example: Mouse sits on right of keyboard: Lift mouse, and put it back at left side of keyboard. Press right mouse button: Mouse is now a left-hand mouse (right button = Button 1).

If the laser - that most mice nowadays have - or the LED led is capable of detecting the distance from the surface (or movement away from those), you could implement the solution completely in software on the driver side. This might even work with standard mice.

To minimize accidental button switching and allow "swiping" the mouse several times over the same surface, you's simply activate the 'unset' state after the mouse has been in the air at an altitude of ~15cm and for more than 2sec.

polemon
  • 977
  • 2
  • 14
  • 30
  • LED mouse chipsets are actually small cameras. Consult the datasheet, but it is possible to use them as scanners. http://blog.savel.org/2010/03/10/mouse-scanner/ Maybe have different patterened mousepads for left and right? – markrages Mar 24 '11 at 16:03
  • Erm, I know that. Point being, to register either "lift off" or "landing". Also, the camera has to have a focal point, so what if you point the camera into the air? – polemon Mar 24 '11 at 18:52
  • I think focus is just the high-frequency content of the image. It wouldn't be hard to get this from the bitmap if the sensor DSP doesn't give you this automatically. – markrages Mar 24 '11 at 19:30
  • Yeah, you should be able to detect 'no ground' with the camera inside every mouse. Putting the mouse into 'unset' mode once too many, isn't much of a problem, since the arrangement of buttons is set with the next click. Since we need the primary button far more often than the secondary, most people wouldn't even notice an 'unset' state that happens during normal mouse use. – polemon Mar 25 '11 at 11:04
2

This answer assumes that the important thing is not whether the mouse is on the left or right of the keyboard, but whether the left or right hand is on the mouse.

If you look at the mouse in your hand, you will see that there is a hole between the thumb and index finger, where there is no hand contact with the mouse. So put a touch contact in that place on both sides of the mouse. When the left hand is on the mouse, the palm will rest on the right touch contact, and vice-versa for the right hand.

If the mouse case is thin enough, you can put the touch contact as a piece of conductive foil inside the case. Reading of touch contacts is a commonly integrated function into modern microcontrollers. TI app note.

So a small micro can read the two touch sensors and decide which hand is on the mouse, and swap the buttons with a 74hc4053 or similar. Of course, a commercial design would integrate all functions in the mouse's microcontroller.

markrages
  • 19,905
  • 7
  • 59
  • 96
1

You could put an IR LED mounted on the mouse powered by it's internal battery.

You could then put a IR receiver mounted on one side of the keyboard facing to the side. Then build a simple IR recieve circuit that detects the presence of the mouse one side, or the non-presence of the mouse meaning it must be on the other side.

The IR reciever on the keyboard doesn't have to have any special keyboard interface, as it's the mouse that's wireless and not the keyboard then just have your circuit wired to the serial port on your computer, then perform the button switching in software depending on the signal received on the serial port.

BG100
  • 5,798
  • 4
  • 35
  • 48
  • 1
    I would just use the USB +5V instead of a battery, since most mice and keyboards are mostly USB – jsolarski Mar 24 '11 at 07:53
  • 1
    @jsolarski: On the keyboard side - yes... but the question specifies a wireless mouse. – BG100 Mar 24 '11 at 09:58
  • Sorry missed that part, then hooking into the battery would be the best option. – jsolarski Mar 24 '11 at 10:25
  • @BG100 - Given that the keyboard could still be USB, wouldn't it be better to mount the IR LEDs on the keyboard, and have a low-power receiver on the mouse? – Kevin Vermeer Mar 24 '11 at 12:06
  • @reemrevnivek: Yes, I guess that would work... but it might be tricky as you'd have to fit the receiver electronics into the mouse and have that do the button reversing. I've never made anything that small so I don't know how easy that is. You could always make the IR LED pulse so its off most of the time to save on power. – BG100 Mar 24 '11 at 12:11
  • @BG100 @reemrevnivek depending on the the mouse and how much room he has, he could easily fit, a simple 433/315Mgz transmitter in there with a something like an msp430gxxxx and a few IR receivers. ( ! have seen usb hubs implanted into a mouse with a flash drive- (not wireless)) To save power you could have it in a sleep mode and press a simple reset/configure button to set read which side of the key board its on, then go back to sleep/low power mode. – jsolarski Mar 24 '11 at 13:00
  • I wouldn't count on the IR LED to prove that it's on one side or the other. Not reliable enough. It would switch sides every time your hand interrupts the light? Keyboard is plugged in, so better put the LEDs in there, on both sides. Mouse is wireless so put the detectors in there, on both sides. Then remember the position, and assume that the position hasn't changed until it sees light to prove otherwise. – endolith Mar 24 '11 at 14:24