To be that guy, I'll just ask/point out a few things.
Why do you need to measure the force? and Why do you need to be able to adjust the weight of the switches on the fly?
If you're typing you have to use the force to actuate each switch as most people will use extra and bottom out before moving the fingers. Like how does this help you improve your typing. I mean it would be a cool thing to see the force if you get it working correctly to see how much force you use to bottom out or activate the switch. But how does this information help your typing?
And in terms of the switch weighting or the force to actuate I've never wanted to adjust it, and again how does this help your typing? If I want a heavier or lighter switch you can just change the spring and with the surge in hotswap boards it's quite easy to swap the spring if you want. again definitely a cool idea.
I would if you haven't already look at wooting they have a optical keyboard which can have variable actuation distances. From what I've heard it's a well polished implementation and good keyboard, but quite difficult to vary you're hands force/habit it you want to essential use different actuation distance / forces as separate layers, because most people bottom their keyboards out. But wouldn't if you bumped up the force needed to press the keyboard, things to think about
Our overall goal is to allow people to type more efficiently and ultimately faster by reducing the force they use with each keystroke. If they understand that they are consistently using more force than is necessary to actuate the switch, they can then take measures to reduce the force applied when they type.
You are right in that swapping the spring or entire switch is an option that has been made even easier recently. However we wanted to provide a method that is as seamless as possible and does not require a user to fully take apart the keyboard to make the change. If from the data provided by the keyboard someone finds out that they do want to reduce the force they are using to type, we want the change to be as easy as possible without the need to acquire additional components.
Yes indeed we have looked at optical switches that allow users to change the actuation point and hence the force required, however we were looking at solutions that did not require a change in the travel distance to affect the force required. You are also right in that such optical switches do not affect the bottom out force.
Thank you for your response! You make a lot of valid points that we will definitely take into our design considerations. Don't worry about being "that guy", every idea needs "that guy" to point it in the right direction
![Cheesy :D](https://cdn.geekhack.org/Smileys/solosmileys/cheesy.gif)
When I first read the post above, I thought that you were measuring the force in every key, but apparently you are just measuring the force from the keyboard to the desk.
The latter will depend also on the type of key: tactile or linear, and whether the user is bottoming out or not.
The force in every key is relative to the speed of the stroke. Different strokes can also stop at different depths.
These types are measurements would be possible with analogue key switches, if they are measured often enough using a reasonably fast microcontroller.
One thing I think could be interesting to try might be to adjust the actuation distance for different keys to how forcefully the user is pressing them - because different fingers have different strength.
Edit:
BTW, a question I saw in a chat: How do you prevent the bottom of the coiled spring from getting stuck in the threads in the housing?
Fair point! We will have to track how the readings vary with switch type and see if our implementation is suitable. Our initial thought is that regardless of switch type the force will propagate through the keyboard and will be picked up by the force sensors between the board and the desk.
Yes we will have to ensure that our polling rate for the sensors is fast enough to capture the force. We plan to mainly track the peak force though, so regardless of the stroke speed we hope that it will be consistent
This is a great idea! I think automatic adjustment will be something that we look into further along our development process. However the particular feature that you are suggesting would probably be better suited for optical keyboards that already have actuation point adjustment functionality. All they would need to do would be to configure the software to adjust it for users automatically.
As for how we plan prevent the spring from getting stuck, it is a good point that we will have to note when prototyping the switch. The spring will most likely not be in direct contact with the screw in our final design but rather the screw will help to lower/raise a separate platform.
Thanks for your ideas! They are very much appreciated
![Cheesy :D](https://cdn.geekhack.org/Smileys/solosmileys/cheesy.gif)