Imagine a switch that could be configured on the fly. One where you could change the weight, tactile feel, and activation point, all in software/firmware without ever having to open the keyboard or the switch.
Imagine a switch with a small neodymium magnet in the slider and an electromagnet in the base set to repel the slider. This would work not too different from a hall effect switch, except instead of spring it uses magnetic repulsion. This would create a quasi linear switch where the weight increased exponentially instead of linearly, so not really linear. But in keyboard switch terms this would not have a tactile bump.
Now from here if we add a small bit of logic we can achieve much more. Now we can adjust the weight by increasing or decreasing the magnetic field strength. Further more, when you press it to activation(which could be set to anywhere we want) it could quickly alter its's field strength, decreasing it, turning it off all together or even inverting it. This would cause a tactile feel that could be changed wildly and on the fly. We could even switch it back on right before the bottom of the stroke to create a soft landing if that's what you want. With this level of control it would even be possible to crate a true linear switch by gradually decreasing the field strength as the slider moves down.
I'm envisions a piece of software where the user could draw a force graph and then upload that to the board and have it implement automatically.
It should even be possible have pressure sensitive buttons and emulation of analogue joysticks for gaming.
Now this of course would require a much more advanced controller, or more likely, a simple controller under each switch that controls the magnetic field and reports back activations to the main controller. The main controller would only need to program each switches controller with the right force graph. Naturally this would be very expensive....
[Idea]Dynamic magnetic switch
- ohaimark
- Kingpin
- Location: USA
- Main keyboard: Siemens G80 Lookalike
- Main mouse: Logitech G502
- Favorite switch: Blue Alps
- DT Pro Member: 1337
Clearly it needs a 5+ ampere external power supply. In addition, the case will need to be filled with magnetic suppression material to prevent regular and unscheduled platter hard drive wipes.
Cool concept, but quite impractical.
Cool concept, but quite impractical.
- seebart
- Offtopicthority Instigator
- Location: Germany
- Main keyboard: Rotation
- Main mouse: Steelseries Sensei
- Favorite switch: IBM capacitive buckling spring
- DT Pro Member: 0061
- Contact:
Great idea, but even without being having any idea of the technical side I can tell you now your biggest challenges will be hardware and magnet related.
- Techno Trousers
- 100,000,000 actuations
- Location: California
- Main keyboard: IBM Model F-122
- Main mouse: Mionix Naos
- Favorite switch: Capacitive Buckling Spring (Model F)
- DT Pro Member: 0159
20 kg keyboard, filled with lead shielding!
- j0d1
- Location: Montreal
- Main keyboard: IBM Model F107
- Main mouse: Logitech M570
- Favorite switch: Buckling Spring
- DT Pro Member: 0203
The concept has a lot of challenges: the space in a switch is limited, the current of USB 2.0 (500 mA) or 3.0 (900 mA) is limited, the switches need to be constantly driven by a micro-controller to apply the force graph (each position on the force graph requires to set a different current on the electromagnet), ...
Also, applying the force graph is one part of the problem.
You also need a way to know where you are on that force graph when you are pressing / depressing the switch. Did you think about that?
That said, I like the idea.
I would love to be able to switch the feeling of my switches for work (tactile) and gaming (linear).
I guess a first step to know how practical / impractical this idea is would be to know exactly how much current you need to drive one switch. Two tiny magnets (neodymium one, electro one) and a micro-controller could tell you that. Good luck!
Also, applying the force graph is one part of the problem.
You also need a way to know where you are on that force graph when you are pressing / depressing the switch. Did you think about that?
That said, I like the idea.
I would love to be able to switch the feeling of my switches for work (tactile) and gaming (linear).
I guess a first step to know how practical / impractical this idea is would be to know exactly how much current you need to drive one switch. Two tiny magnets (neodymium one, electro one) and a micro-controller could tell you that. Good luck!
- Laser
- emacs -nw
- Location: Romania
- Main keyboard: Plum TKL \w Topre domes (work) / Novatouch (home)
- DT Pro Member: 0180
How about having some knobs on the keyboard so that you can tune the switch pressing force curve, on the fly? So you adjust that curve (not unlike a High / Low filter combo) by tweaking the knobs till it feels just right for your hand.
-
- Location: United States
- DT Pro Member: -
USB 3.1 over type-c connector can handle up to 5A (100W/20V)j0d1 wrote: ↑The concept has a lot of challenges: the space in a switch is limited, the current of USB 2.0 (500 mA) or 3.0 (900 mA) is limited,
Yes. Current hall effect switches use the same principal so I'd assume similar to that, except you'd have to calculate away generated magnetic field and get the difference to 'see' where the permanent magnet is.j0d1 wrote: ↑Also, applying the force graph is one part of the problem.
You also need a way to know where you are on that force graph when you are pressing / depressing the switch. Did you think about that?
Thank's but I'm not an electrical engineer so I'd not have a shot in hell in pulling off. I'm just an enthusiast tossing ideas out there.j0d1 wrote: ↑I guess a first step to know how practical / impractical this idea is would be to know exactly how much current you need to drive one switch. Two tiny magnets (neodymium one, electro one) and a micro-controller could tell you that. Good luck!
-
- Location: Stockholm, Sweden
- DT Pro Member: 0011
I have seen this idea posted now and then here and on Geekhack...
The exponential resistance is not that easy to adjust in real-time... To get around that you would need the force curve to adjust itself under some kind of electrical control and then you would find the problem that there is an inherent round-trip delay between the key moving and the feedback.
The analogue sensing mechanism would need to be not only fast or accurate but fast and accurate at the same time. Then the actuation mechanism would also need to be fast and accurate.
And it would still be an unstable system. I once worked on the application-side of a force-feedback system. There were vibration-artefacts near thresholds and an inherent soft springiness to everything. I know people who have built unstable robots - and those have the motors whirring pretty much all the time to act and counteract inertia. In other words, the motors were ringing. You would not want the switch to be vibrating.
I think the only feasible system would be one that has previously been proposed: two settings only: on and off. Full electromagnet strength - with an exponential force curve - up to the actuation point where the electromagnet is switched off. Then a weak helper spring would bring the key back up.
But USB Type C is starting to look more and more like a failure because of the jungle of standards and all the existing cables and devices out there that either don't work as advertised or can even be dangerous and fry your device.
Hey, there was a popular smartphone that came with a charging cable wasn't safe to use with other Type C devices than this particular phone.
The exponential resistance is not that easy to adjust in real-time... To get around that you would need the force curve to adjust itself under some kind of electrical control and then you would find the problem that there is an inherent round-trip delay between the key moving and the feedback.
The analogue sensing mechanism would need to be not only fast or accurate but fast and accurate at the same time. Then the actuation mechanism would also need to be fast and accurate.
And it would still be an unstable system. I once worked on the application-side of a force-feedback system. There were vibration-artefacts near thresholds and an inherent soft springiness to everything. I know people who have built unstable robots - and those have the motors whirring pretty much all the time to act and counteract inertia. In other words, the motors were ringing. You would not want the switch to be vibrating.
I think the only feasible system would be one that has previously been proposed: two settings only: on and off. Full electromagnet strength - with an exponential force curve - up to the actuation point where the electromagnet is switched off. Then a weak helper spring would bring the key back up.
That's a charging protocol. I'm not so sure that the device is allowed to do much else than charging when it uses it... That would be something to look up.
But USB Type C is starting to look more and more like a failure because of the jungle of standards and all the existing cables and devices out there that either don't work as advertised or can even be dangerous and fry your device.
Hey, there was a popular smartphone that came with a charging cable wasn't safe to use with other Type C devices than this particular phone.
- vvp
- Main keyboard: Katy/K84CS
- Main mouse: symetric 5-buttons + wheel
- Favorite switch: Cherry MX
- DT Pro Member: -
I posted something similar on geekhack long time ago. But instead of a magnet I was considering only a ferrite core and a linear force bias from a spring. The coil with ferrite core would modify this linear force. This can save some power since the coil does not need to generate any force for the switches which are not pressed. The travel-force curve adjustment would be activated only after a switch gets pressed some defined length. It may be possible to get rid of the hall sensor by trying to detect coil inductance change. The inductance will change because of different length the ferrite core is inserted into the coil.