For various reasons, I have been thinking about building a USB mouse.
This is tentative. I am not yet sure if I have the motivation to carry through on this, and I am uncertain about obtaining adequate switches and sensors.
Hypothetically, though, this is doable:
Mouse CPU would be a greenarrays F18 for cost and power reasons. $20-ish, last I looked (but prices change in either direction).
Case would be "3d printed" and then smoothed. If I can't do that on my own, I'd visit the local makerspace (NOVA Labs).
The initial idea would be to support standard mouse protocol and keyboard protocol. The primary use would be for gaming, and I'd want some useful fraction of a keyboard available on the mouse itself. Other mice do this already.
(I might have to get into non-standard protocols and specialized drivers, but not in the initial implementation.)
The other thing is that I would need to be able to isolate problems, so I would need some kind of display when keys are pressed/released so that I can distinguish between problems in the mouse itself (like, problems with the switches) and problems in the computer it is hooked up to.
Obviously, this would take quite some time to build. Time that I could instead spend playing games. Does that make sense economically? (Pro-tip: whenever someone uses an economic argument they probably do not know what they are talking about. Economics seems to be a mix of habits, peer pressure, religion, politics, laziness and pure old-fashioned bs.)
Anyways, this would take quite some time to build, so the real question is: am I motivated enough to expend that effort?
For starters: where can I find the sensors? For an optical mouse, you have a mini-camera (much less resolution, and cheaper, than a regular camera) taking pictures of the surface the mouse is on hundreds or thousands of times per second, and then some software to convert those images into information about position changes which then get packetized and sent to the computer. The trick is finding something that (a) I can buy (or make - but somehow semiconductor fabrication is not available at the hobbiest level anywhere I can find, which is silly given how important the related skills and physics are), and (b) that I can understand [find adequate documentation on] well enough to use.
Here are some sample spec sheets (and I hope that the link remain stable and active and do not fall prey to the type of manager who likes to destroy this kind of thing):
https://www.sparkfun.com/products/retired/12907
http://www.bidouille.org/files/hack/mousecam/ADNS2051.pdf
The biggest problem, right now, is that for example nothing is in stock at digikey.
Tuesday, June 14
Tuesday, May 31
"Standards"
"The nice thing about standards is that there are so many to choose from."
Standards can be a blessing, or a curse, or both. They are an outgrowth of a kind of problem that occurs when dealing with people.
Basically: when dealing with people you need some things which do not change so that you can deal with the "important stuff" (which itself varies depending on who and what you are dealing with). And "standards" are the stuff that is held still.
Put differently: standards are useful at the interfaces between where one person is doing work and another person is doing work.
Also: standards that have been "designed" tend to be rather useless - what you want are standards which have evolved for dealing with problems similar to what you are dealing with. (Sometimes this includes "designed standards" but usually when that happens only a small part of the design is relevant. Or, at least, that has been my experience in the context of computing. This says something sad about the usefulness of a lot of people hours. But it also says something about how you should expect to be working if you want to get something useful done.)
Meanwhile: discussions about standards can become rather acrimonious. In my experience, this tends to be a mix of personality flaws in people holding the discussions and irrelevant wasted motion in the standards themselves.
Related is probably the cliche'd concept of "if you want something done right, you'll need to do it yourself" and its close [imperative] relative "take some responsibility". People tend to be frustrating to deal with, but that is often as much a fault of the person getting frustrated as it is a fault of the people they are getting frustrated with. Remedies which ignore either side of this kind of problem tend to fail.
It's often best to try to fail early so you can learn from your mistakes. But ...
Standards can be a blessing, or a curse, or both. They are an outgrowth of a kind of problem that occurs when dealing with people.
Basically: when dealing with people you need some things which do not change so that you can deal with the "important stuff" (which itself varies depending on who and what you are dealing with). And "standards" are the stuff that is held still.
Put differently: standards are useful at the interfaces between where one person is doing work and another person is doing work.
Also: standards that have been "designed" tend to be rather useless - what you want are standards which have evolved for dealing with problems similar to what you are dealing with. (Sometimes this includes "designed standards" but usually when that happens only a small part of the design is relevant. Or, at least, that has been my experience in the context of computing. This says something sad about the usefulness of a lot of people hours. But it also says something about how you should expect to be working if you want to get something useful done.)
Meanwhile: discussions about standards can become rather acrimonious. In my experience, this tends to be a mix of personality flaws in people holding the discussions and irrelevant wasted motion in the standards themselves.
Related is probably the cliche'd concept of "if you want something done right, you'll need to do it yourself" and its close [imperative] relative "take some responsibility". People tend to be frustrating to deal with, but that is often as much a fault of the person getting frustrated as it is a fault of the people they are getting frustrated with. Remedies which ignore either side of this kind of problem tend to fail.
It's often best to try to fail early so you can learn from your mistakes. But ...
Subscribe to:
Posts (Atom)