geekhack

geekhack Community => Keyboards => Topic started by: SFR75 on Sat, 27 August 2022, 14:44:46

Title: I definetly need to press all keys on my keyboards. Art installation.
Post by: SFR75 on Sat, 27 August 2022, 14:44:46
Hello,

I had this art installation idea, where I can cover a certain area on the floor with cheap old USB keyboards put together to form sort of a rug.
When people walk over the keyboards I expected to detect the pressed keys and determine their position and shape of their feet (or bodies if they lie down).
That was all good, till I ran a simple test on my notebook and discovered the existence of n-key roll-over... which is obviously a very bad news for my project.

So now I'm trying to think of what options do I have left... and I don't see too many


Since I don't care about exact/precise keys being pressed, is it possible to hack/rewire keyboards to allow ghosting effect and remove KRO limitation ?


M

Title: Re: I definetly need to press all keys on my keyboards.
Post by: Findecanor on Sat, 27 August 2022, 20:23:17
It is not possible to convert a non-NKRO keyboard to have NKRO.

Although for this project you may not actually need full precision, and therefore not any ghost key avoidance, but the only way around that would be to replace the physical microcontroller hardware in the keyboard with a new one that is programmed differently. And those would need to be made different for each specific keyboard model.
That would be an involved hardware-hacking project. And IMHO if you're doing your own hardware, then you might just as well have a simpler solution from scratch anyway.
There are lots of ways to detect people on a floor: not just through buttons. For instance, you could use overhead cameras: or the opposite: translucent floor with cameras or simple light sensor from underneath.
Title: Re: I definetly need to press all keys on my keyboards.
Post by: Sup on Sat, 27 August 2022, 20:54:04
Why not just use a camera and a Python script??? Your idea seems way to simple that takes too much effort.
Title: Re: I definetly need to press all keys on my keyboards.
Post by: Leslieann on Sun, 28 August 2022, 03:03:47
It is not possible to convert a non-NKRO keyboard to have NKRO.

Sure it is... Not pretty and a bit silly but it's doable.
Remove the PCB and just use a plate full of switches, hand wire them to a bunch of pro micros with firmware. Ugly, hacky and expensive, but it would work.


On the other hand, as you said, you don't really need N-key, feet are big, so just use a single pro micro and do several zones. Still a lot of work.
An easier Idea might be to use simple pressure sensors/switches or whatever under the keyboards wired up to a Pi or something.
Title: Re: I definetly need to press all keys on my keyboards.
Post by: SFR75 on Sun, 28 August 2022, 03:37:16
It is not possible to convert a non-NKRO keyboard to have NKRO.

Sure it is... Not pretty and a bit silly but it's doable.
Remove the PCB and just use a plate full of switches, hand wire them to a bunch of pro micros with firmware. Ugly, hacky and expensive, but it would work.


On the other hand, as you said, you don't really need N-key, feet are big, so just use a single pro micro and do several zones. Still a lot of work.
An easier Idea might be to use simple pressure sensors/switches or whatever under the keyboards wired up to a Pi or something.

Hello.

Thanks for your replies!

Indeed it's a PCB plate full of switches, as you correctly mentioned. 

Ugly is not a problem, hacky either.. expensive probably more of a problem, but depends on the scale.

The biggest problem is that each keyboard has different wiring, so if I go this direction, I would need to find keyboard of same brand and probably model as well. Right ?

Yes, I thought about putting pressure sensor under the keyboards, but of course then my resolution drops ten-fold (1 key vs 101 keys!). The idea behind this installation was to determine the shape of feet and trace the steps of the person. Or for example somebody can lie down on the floor and I could then detect the shape of their body.

To answer comments above about cameras. Of course one can trace somebody with the camera, but it would be totally different experience. First of all feeling of "walking" over thousands of keys just by itself gives a particular experience. The sounds and the feeling. Plus I can't trace the footprints with same precision  with cameras. So yes, I can achieve "similar" effect, but definitely not the same sensation/experience. 

This is an art project around "computer keyboards" after all and traces that we leave in digital world.

Any thoughts are welcome on how to solve this and I really appreciate your help.

M


Title: Re: I definetly need to press all keys on my keyboards.
Post by: SFR75 on Sun, 28 August 2022, 03:40:53
Why not just use a camera and a Python script??? Your idea seems way to simple that takes too much effort.

Well, as I mentioned above I need to trace what happends on the surface and not in the volume.

I need to trace steps and body shape, if somebody sits or lies down.

In a way it should work like this pin-art toy

(https://m.media-amazon.com/images/I/71M09hjJyNL._AC_UX342_.jpg)


Title: Re: I definetly need to press all keys on my keyboards.
Post by: SFR75 on Sun, 28 August 2022, 03:52:14
It is not possible to convert a non-NKRO keyboard to have NKRO.

Although for this project you may not actually need full precision, and therefore not any ghost key avoidance, but the only way around that would be to replace the physical microcontroller hardware in the keyboard with a new one that is programmed differently. And those would need to be made different for each specific keyboard model.
That would be an involved hardware-hacking project. And IMHO if you're doing your own hardware, then you might just as well have a simpler solution from scratch anyway.
There are lots of ways to detect people on a floor: not just through buttons. For instance, you could use overhead cameras: or the opposite: translucent floor with cameras or simple light sensor from underneath.

Thanks for your thoughts on this.
Well, this project is about physical detection. Or at least make believe the visitors that they are detected physically/mechanically. Stepping and walking over field of keyboards suppose to provide a particular experience, which I wanted to give to the visitors. When you sit down or lie down, you were supposed to see the video-projection on the wall in front, sort of a "keyboard viewer" that outlines your shape. So yes, it needs to be detected on surface level and that's why I can't achieve the same effect with cameras and I don't have translucent floor  :)) The field of light sensor is not a bad idea, btw... I like it!  :thumb:   but then there will be no keyboards anymore..

Now back to keyboard mods, yes.. I understand that replacing microcontroller is not easy task, but what makes it much worse is that each model/make is different. So it's pretty much impossible it seems.

Would it be possible to hack existing firmware at least for one brand (lets say Del)l rather than modifying it ?

Thanks much
M
Title: Re: I definetly need to press all keys on my keyboards. Art installation.
Post by: Sup on Mon, 26 September 2022, 08:06:34
A bit late on this Topic but, i doubt a switch can survive that heavy load being pressed ontop of it.
Title: Re: I definetly need to press all keys on my keyboards. Art installation.
Post by: PlayBox on Mon, 26 September 2022, 14:46:28
A bit late on this Topic but, i doubt a switch can survive that heavy load being pressed ontop of it.
pen springs could help but not much