
Keyboard layout "rus-lat" with compatible punctuation marks

Some problem with very innovative layout changes - the lack of layout support in the material outside world - does not have keyboards with drawn layout letters on hand. Therefore, enthusiasts keep both the lack of a suitable and the presence of other keyboard layouts. It is possible to neutralize this doubled stopping force by using forces in the direction of their action, which are successfully performed by the phonetic layouts of JCUKEN and Yavert.
The proposed layout also uses the power of tradition, but not on such a revolutionary scale. It is proposed to replace only the location of punctuation marks with a location more familiar to the Cyrillic register.
Similar articles that discuss “global” keyboard layout replacements: all characters.
* " Phonetic keyboard layout of JCUKEN. " (" The advantage of the phonetic keyboard layout is that it is learned very quickly if the keyboard layout on which it is made is studied. ")
* " Outdated QWERTY keyboard layout against Apple and other inventors. " (" ... В What’s the reason? Probably, the army of users of standard QWERTY is not ready to relearn, as well as companies are not ready to sacrifice current labor productivity in order to switch to a new type of keyboard, which, moreover, is not a generally accepted standard. This example shows what stand art, no matter how old they are, often win the best technical solutions. ")
I made and used this layout for a very long time, since 2003, starting from when I was completely tired of remembering or keeping track of which register the keyboard is in, typing punctuation marks. Why follow if you can accept the rule that the sign is always in one place, does not "jump" on the keys for reasons beyond its control? Oddly enough, the resulting encoding was not derived as a result of long experiments, but based on the calculation, and then it took root immediately (some fluctuations were only in terms of whether to lower the "<" and ">" signs at the same time). First, 11 changes were pasted onto his memory keyboard; then, when the inscriptions were erased, it turned out that it would be no less convenient to do without them - it’s already easy to remember a few moved characters.
The inconvenience occurs only when another person approaches the rebuilt layout (in Windows, the layout only changes after the * .reg-file of the registry is launched and the system reboots). But this is not very critical, because only punctuation marks are affected and only in the Latin register. Usually in 2 words you can explain the idea: everything is located, as in the Russian register. Some difficulties remain with characters unique to the Latin register - they are, indeed, moved, based on my convenience, but these are only 7 characters. In general, it is convenient to use if the computer workstation is individual, and third-party visitors are rare guests. (Perhaps the registry can be customized for different users - I have not tried it, there was no need, I usually changed the registry branches of the current user and the general one.)
I will list the rules by which the layout was built.
1. Do not touch too many keys; leave all letters, numbers and symbols in the Russian register in the field.
1.a) Characters in the Latin register should not be moved if possible.
2. In the Latin register, put all the characters in the same way as they became installed in Russian (strictly, because for the sake of this everything is started).
3. Put deleted characters in the places of the moved characters, based on their own conveniences (more about them later).
The punctuation mark keys, problematic punctuation mark keys with “skipping” characters, and symbols unique to the Latin register are marked in different colors in the figure. So far, the default character layout is shown. On the left key is Latin register, on the right is Russian. Above is upper case.

Does not allocated : letters and numbers. (For the whole "chemistry" there are special characters.)
Green background - "happy coincidences" of special characters in Russian and Latin layouts. They should not be touched and moved, they comply with the standards of their layouts (though, having thought, I did not follow this rule strictly).
Blue background: characters in the Russian layout that agreed not to move. Now we move the same characters to them in the Latin register, simplifying the typing rules: the key will have the same character in any language register. Therefore, lilac fields appear to the left of the blue fields : they will have other symbols displaced from the red fields. At this stage, not everything turned out to be so cloudless: several working questions appeared (fields marked with a red frame ).
4. What to do with the sign of the number in the Russian register? The issue has been resolved in favor of the presence of the "#" sign in both registers, to the detriment of the number sign: it is the only Unicode non-letter character, so you can take care of its typing in special programs (Word). (Such a solution would hardly suit the humanities, but rule 2 is more important, and the “#” sign is more expensive.)
5. It’s your own convenience:
5.a) you often have to type “/”, and it disappeared from the lower case, so in Lower we put it in the Russian register, not "\", but in the upper case "\", violating rule 1; in Latin on the same key - the same thing as rule 2;
5.b) more often it is necessary to write tags than the special characters "|", "&", therefore we put angle brackets in lower case, violating rule 1.a. (It’s also a solution that doesn’t suit the humanities very much - this rule will be indifferent to them, so it’s superfluous. But it’s not superfluous to me: I tried at the time of 1-2 weeks to type “<" and ">" in the traditional arrangement - much less convenient.)
5.c) "$" is more often used than "^" or "@" (there were Pearl times), therefore we put it in lower case;
5.d) The sign '' 'is better left in its place, observing rule 1.a.
It turns out the layout shown in the following figure. The places of permutations are depicted on a gray-blue background.

There are 9 rearranged characters, 2 of them are between upper and lower case, one character of the number is deleted. There could have been 5 permutations of everything, but there was no goal in minimality. The goal is a balance of convenience and minimal permutations.
We have advantages:
*) fewer punctuation marks in texts in which the language register is often changed;
*) the transition back to traditional layouts is not painful, because it concerns only part of the special characters;
*) there is almost no need to memorize permutations: the signs "<" and ">" suggest themselves, "$" is similar to "F", "/" and "\" are only rearranged between registers; There are 4 characters left to remember (or stick on the keyboard). And even then, the mnemonics are in the following arrangement: the more frequent characters "&" and "@" are closer to "Shift", the logical characters "|", "&" are on the signs "<" and ">".
After the advantages, logical flaws remain:
*) there is no practice of remembering the English arrangement of special characters (a comma makes it especially clear);
*) there is a habit of a "convenient" keyboard;
*) the new location for 7 characters is not written on the keyboard;
You can also speculate that there is a duplication of "/" on the main and gray keyboards in the same register, but the same thing is in the Russian and English layouts, and on laptops where access to the gray keyboard is according to "Fn + .. . ", Such" non-optimality "disappears.
Still, there are not quite correctly written programs (layout switches and simulators) that do not refer to the layout in the registry, but suggest a fixed layout. But these are less and less common. Punto Switcher got rid of its self-confidence more than a year ago, version 3.1 (it used to be a patch), and the outdated Keyboard Ninja initially worked correctly.
How to make a layout driver (Windows of any version).
There are special programs that allow you to specify any arrangement of characters on the keys. For Windows, they give the kbd * .dll file, which is a driver that starts working after a system reboot, if it is located in the \ system32 \ directory. The file name should not coincide with the same layout driver kbdus.dll, kbdru.dll and others available in the system. Linux also has its own programs or just plain text layout definition files.

How to install and uninstall the layout driver (Windows of any version).
1. Download 4 files : 2 layout files KBDRUs.dll and KBDUSs.dll, and 2 executable registry files - installation and removal of a new layout.
2. Configure the system to use 2 languages: Russian and English-US (priority is not important).
3. Locate KBDRUs.dll and KBDUSs.dll in the $ System root $ \ system32 \ directory.
4. Run instLayoutKbd.reg.
5. Reboot the Windows system.
To return to the standard layouts:
(It is assumed that the system files kbdus.dll, kbdru.dll have not been deleted from $ System root $ \ system32 \.)
1. Run UNinstLayoutKbd.reg.
2. Reboot the Windows system.
(It was checked up to Vista Home Edition, but not on Win7, but should work there too.)