There is a solution for my problem, that possible without any external dependencies!!
According to https://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-Keyboard.html native Emacs can:
Variable: Modifier to use for the "Apps" key.
Variable: Modifier to use for the left "Windows" key.
Variable: Modifier to use for the right "Windows" key.
Variable: Modifier to use for the Scroll Lock ON state.
In article Keyboard and mouse class drivers it is mentioned that it is possible to adjust keyboard layout (for all user) playing with keycodes.
There is Keyboard Scan Code Specification for PS/2 compatible keyboards.
Firstly I try to use
(setq w32-scroll-lock-modifier 'super)
in order to keep other modifiers without changes:
Windows Registry Editor Version 5.00
; CapsLock => ScrollLock
but Scroll Lock keeps state, so releasing after first pressing keeps
scroll on as if super key is still pressed and not released.
It can be emacs-w32 v24 Cygwin bug. So I moved further and succeeded with:
(when (eq window-system 'w32)
(setq w32-apps-modifier 'super))
But my hands trained to work with LWin, and not with Caps Lock. So I made 2 swaps and with:
; CapsLock (3a,00) => LWin (5b,e0); LWin (5b,e0) => Apps (5d,e0)
LWin key is actually Apps key and LWin moved to Caps Lock.
Now my Windows keyboard workflow doesn't differ from X workflow.
Of course I disabled layout switching to preserve Ctrl / Alt / Shift solely to Emacs with:
; The value 1 specifies that LEFT ALT+SHIFT switches locales.
; The value 2 specifies CTRL+SHIFT.
; 3 disables the key sequence altogether.
; I decide use AutoHotkey to switch locales.
; These customisations have affect at least after logout/login.
There is a way to switch layout in Windows 10 with Win + Space (or Caps Lock + Space after keyboard layout twicks)!