Prehistory
All my life I was a fan of silent, thin, and beautiful keyboards and to my surprise I found out that there are not so many of those available on the open market - their units. I had to use “Genius SlimStar Pro”, and still it depressed me, as well as the thought that I would never find a keyboard that would satisfy me 100%. I found this and on the recommendation of Comrade
Boomburum , purchased the "
Illuminated Keyboard ", which became a worthy friend of my
MX Revolution , and I finally broke off relations with Genius, and the recent
stories about user support from
Logitech convinced me that the nested (not small money) will be repaid in 3 warranty years.

But there is a small misfortune in the keyboards of this company, - "
Not standard, not comfortable, or unnecessary arrangements of some buttons ." In the case of
Illuminated , these are two identical
"\" buttons, the left one of which went to the detriment of the "LShift" key. By the way, you can see in the picture that earlier these keyboards had the standard size "LShift". Under the cut, I will tell you how to return the “standard length” of this button, since in the blind typing and by virtue of habit, I press it / instead of the shift. And at the same time I will tell you how without an additional installed software, using an example, you can change the assignments of any keys of your keyboards (including functional / media) using the Registry and the scan-code of the keys.
What is scan code
Specification for Windows.
When you press any key, the keyboard controller generates a scan code corresponding to the key position that is transmitted to the computer. The service codes that the keyboard controller can generate are transferred to the BIOS routines for processing. In the keyboard buffer for the key code, 2 bytes are allocated, that is, it is designed for 16 characters.
How to determine the scan code keys
You can find out the scan code required for remapping a key
here , and if you have a super new keyboard with space buttons, then you can catch the scan code using the program "
KeyboardTest " from the developer of Passmark Software. The program is paid, but free trial. Or OpenSource
SharpKeys . It was needed to determine the scan code of the left "\", as many naively believed that the signals of both are the same, and therefore can not be mapped. In fact, it turned out wrong.
The right "\" has a scan code: 2b.00
The lower left "\" has a scan code: 56.00
')
And so, we defined the scan code of our unlucky button, now we need to find the scan code “LShift”. It can be found on the link given above and it is equal:
2A.00Key remapping
There are a lot of applications that do this remapping, many accept existing scan codes for the base, many do not have a scanner to determine which scan code is not in the database. Yes, and did not want to install an extra application. In Google I stopped at the possibilities of Windows. or rather registry editor (Start-Run: regedit). Or the aforementioned SharpKeys program, which has a GUI and performs the same replacement in the registry
1. In the thread
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Keyboard Layoutcreate a binary parameter with the name "
Scancode Map "
2. In the parameter "Scancode Map" write the following values:
00.00.00.00.00.00.00.00.02 - the ninth byte (02) in this record means the number of keys that we will change (and is equal to the number of keys +1) in our case it is 02, since we change the values ​​of one key. After that we enter three more “empty” bytes, and now our parameter looks like this:
00.00.00.00.00.00.00.00. 02.00.00.00 .
Since we have already defined all Scan-codes, then continuing our parameter, we should specify the scan-code of the new button value (in our case it is
2A.00 ), and then the scan-code of the old (replaced) button
56.00 . Now it is necessary to close this function with four “empty” bytes, that is, 00.00.00.00:

3. Restart the computer and use our new buttons.
PS: If you do not need to remap all PCs, but only in your session, then the values ​​need to be changed in
HKEY_CURRENT_USER \ SYSTEM \ CurrentControlSet \ Control \ Keyboard LayoutUPD: If you are afraid to work in the registry, then create a text file with the extension * .reg, and enter the following there:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,2a,00,56,00,00,00,00,00
then save, run, and reboot the PC.
UPD2: Transfer Screenshots to
1. Left Win-key looks like this:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,E0,5B,E0,00,00,00,00
The right Win-key looks like this:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,37,E0,5C,E0,00,00,00,00