Ok this is getting seriously weird. Let me just show you, cuz you need to see it to believe it:

https://www.youtube.com/watch?v=6h_6V134Ty0

I've got me an air piano!

Now seriously, what the heck!? Why so much induction?

CMOS inputs are usually extremely high impedance (10^10 ohms or greater), so they simply sniff thesurrounding electric fields like a sensitive electroscope (induction is magnetic, that's something else).

In a finished project you should avoid leaving any inputs floating (you can set pins to INPUT_PULLUP).This is especially important for micro-power circuits as a single floating pin can draw many mA ofcurrent from the supply, whereas a non-floating input pulls millions of times less power.

[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

@MarkNot quite sure cuz it was long time a go but induction can be electric, magnetic and electromagnetic. No? Doesn't really matter. The funny thing is that it happened on the output pins. Tbh I did butchered someones code so have no clue what actually happened.

When I inspected original keyboard electronics I saw that 8 rows of output pins are connected to Vcc trough 10k resistors. That means that the keyboard is pull-up configured? I was, also, puzzled by columns being connected both to first IC and pass trough to second MC until I read an excellent article about using a latch IC: http://www.openmusiclabs.com/learning/digital/input-scanning-matrix/latch-mux/index.html . That made all much more clear.

I've got back to my arduino project and made small progress after connected pair of input pins to ground at the same time. There was an signal to midi yet random one. (bringing them from floating to zero?). Does that mean that the project code is meant for pull down configuration and must be changed?

Also, only way to get a response over keyboard is to reverse column/rows. I didn't noticed that before cuz the code is written for velocity only, meaning it must be both key switches pressed at short time to get an output. So how to reverse when "input" has single pin per key and "output" is in pairs? Well I used a trick. I connected to two different keys pressing them at the same time. That makes keyboard to finally give some signal, but same random data appears. Even when I put resistors to either pull-down or pull up configuration. Altho, the pull-up configuration gives much more stable result. Data is less random, I should say, but still not as should be.

Also, apparently, my ability to resolve software and hardware problems is high. I never used C++ in my life, nevertheless managed to fully understand the code I was using and make necessary changes to it and to hardware configuration too, and make it fully work.

Due to poor interest for this topic I don't feel I should bother anyone with an explanation what I actually did to make it work.