Dygmalab / Bazecor

Graphical configurator for Dygma Products
https://dygma.com/
GNU General Public License v3.0
403 stars 90 forks source link

Added Russian Layout #929

Closed grafanaKibana closed 6 days ago

grafanaKibana commented 2 weeks ago

Hi! I'd like to share the Russian layout.

I really tried to make it in correct way and feel that I still didn't get the idea how the layouts work. BUT, I really did my best and appreciate any suggestions and fixes.

alexpargon commented 2 weeks ago

Hey there @grafanaKibana !

First of all, thanks for the contribution!

as @jreklund suggested you have to create the language as official (because you are not creating a variant of the Russian language, right?) so you could make the same changes I did for the Italian language here

https://github.com/Dygmalab/Bazecor/pull/930

except the modification done on this line: https://github.com/Dygmalab/Bazecor/pull/930/files#diff-50037be3a2696351cb52a9f2a4a9fbbae8730d59cccc4432753e7786c8ca704eR24, which is there to replace the Italian layout with the old naming to the new name, in your case unnecessary as no one has used this language yet.

grafanaKibana commented 2 weeks ago

Hi again!

Just did the fixes and it looks promising for now CleanShot 2024-11-07 at 10  35 13

But I feel very unsure if RU.ts is completely fine. I mean, functionality of it. Could you please suggest how to test it properly and be sure it actually works, not only looks correct?

I'll appreciate your help guys, ty! cc: @alexpargon @jreklund

alexpargon commented 2 weeks ago

@grafanaKibana great work!

Normally, to test a layout, you change your computer's language to the desired one, map the keys where you want them on the keyboard, and test them to see if their output matches your implementation.

To get the data on the language, I would do the following:

1º check the layout on this site: https://kbdlayout.info/KBDRU/ for the Russian layout

2º Compare it with an actual selling keyboard for Russians: https://www.amazon.nl/-/en/Russian-Keyboard-Business-Windows-Microsoft/dp/B0BBKRFW9P?th=1

3º implement following the guidelines that match both representations