#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $LockState = 0
Global $Apportion = "RU"
$hVKeyWindow = GUICreate("Virtual Keyboard", 564, 177, -1, -1, $WS_BORDER)
GUISetBkColor(0xB0B0B0)
WinSetOnTop($hVKeyWindow, "", 1)
$Button00 = GUICtrlCreateButton("Exit", 510, 0, 50, 25)
$ButtonRU = GUICtrlCreateButton("RU", 460, 0, 25, 25)
$ButtonEN = GUICtrlCreateButton("EN", 485, 0, 25, 25)
$Button01 = GUICtrlCreateButton("Esc", 0, 0, 25, 25)
$Button02 = GUICtrlCreateButton("F1", 25, 0, 25, 25)
$Button03 = GUICtrlCreateButton("F2", 50, 0, 25, 25)
$Button04 = GUICtrlCreateButton("F3", 75, 0, 25, 25)
$Button05 = GUICtrlCreateButton("F4", 100, 0, 25, 25)
$Button06 = GUICtrlCreateButton("F5", 150, 0, 25, 25)
$Button07 = GUICtrlCreateButton("F6", 175, 0, 25, 25)
$Button08 = GUICtrlCreateButton("F7", 200, 0, 25, 25)
$Button09 = GUICtrlCreateButton("F8", 225, 0, 25, 25)
$Button10 = GUICtrlCreateButton("F9", 275, 0, 25, 25)
$Button11 = GUICtrlCreateButton("F10", 300, 0, 25, 25)
$Button12 = GUICtrlCreateButton("F11", 325, 0, 25, 25)
$Button13 = GUICtrlCreateButton("F12", 350, 0, 25, 25)
$Button14 = GUICtrlCreateButton("ё", 0, 25, 25, 25)
$Button15 = GUICtrlCreateButton("1", 25, 25, 25, 25)
$Button16 = GUICtrlCreateButton("2", 50, 25, 25, 25)
$Button17 = GUICtrlCreateButton("3", 75, 25, 25, 25)
$Button18 = GUICtrlCreateButton("4", 100, 25, 25, 25)
$Button19 = GUICtrlCreateButton("5", 125, 25, 25, 25)
$Button20 = GUICtrlCreateButton("6", 150, 25, 25, 25)
$Button21 = GUICtrlCreateButton("7", 175, 25, 25, 25)
$Button22 = GUICtrlCreateButton("8", 200, 25, 25, 25)
$Button23 = GUICtrlCreateButton("9", 225, 25, 25, 25)
$Button24 = GUICtrlCreateButton("0", 250, 25, 25, 25)
$Button25 = GUICtrlCreateButton("-", 275, 25, 25, 25)
$Button26 = GUICtrlCreateButton("=", 300, 25, 25, 25)
$Button27 = GUICtrlCreateButton("Bksp", 325, 25, 50, 25)
$Button28 = GUICtrlCreateButton("Tab", 0, 50, 40, 25)
$Button29 = GUICtrlCreateButton("й", 40, 50, 25, 25)
$Button30 = GUICtrlCreateButton("ц", 65, 50, 25, 25)
$Button31 = GUICtrlCreateButton("у", 90, 50, 25, 25)
$Button32 = GUICtrlCreateButton("к", 115, 50, 25, 25)
$Button33 = GUICtrlCreateButton("е", 140, 50, 25, 25)
$Button34 = GUICtrlCreateButton("н", 165, 50, 25, 25)
$Button35 = GUICtrlCreateButton("г", 190, 50, 25, 25)
$Button36 = GUICtrlCreateButton("ш", 215, 50, 25, 25)
$Button37 = GUICtrlCreateButton("щ", 240, 50, 25, 25)
$Button38 = GUICtrlCreateButton("з", 265, 50, 25, 25)
$Button39 = GUICtrlCreateButton("х", 290, 50, 25, 25)
$Button40 = GUICtrlCreateButton("ъ", 315, 50, 25, 25)
$Button41 = GUICtrlCreateButton("\", 340, 50, 35, 25)
$Button42 = GUICtrlCreateButton("Lock", 0, 75, 40, 25)
$Button43 = GUICtrlCreateButton("ф", 40, 75, 25, 25)
$Button44 = GUICtrlCreateButton("ы", 65, 75, 25, 25)
$Button45 = GUICtrlCreateButton("в", 90, 75, 25, 25)
$Button46 = GUICtrlCreateButton("а", 115, 75, 25, 25)
$Button47 = GUICtrlCreateButton("п", 140, 75, 25, 25)
$Button48 = GUICtrlCreateButton("р", 165, 75, 25, 25)
$Button49 = GUICtrlCreateButton("о", 190, 75, 25, 25)
$Button50 = GUICtrlCreateButton("л", 215, 75, 25, 25)
$Button51 = GUICtrlCreateButton("д", 240, 75, 25, 25)
$Button52 = GUICtrlCreateButton("ж", 265, 75, 25, 25)
$Button53 = GUICtrlCreateButton("э", 290, 75, 25, 25)
$Button54 = GUICtrlCreateButton("Enter", 315, 75, 60, 25)
$Button55 = GUICtrlCreateButton("Shift", 0, 100, 50, 25)
$Button56 = GUICtrlCreateButton("/", 50, 100, 25, 25)
$Button57 = GUICtrlCreateButton("я", 75, 100, 25, 25)
$Button58 = GUICtrlCreateButton("ч", 100, 100, 25, 25)
$Button59 = GUICtrlCreateButton("с", 125, 100, 25, 25)
$Button60 = GUICtrlCreateButton("м", 150, 100, 25, 25)
$Button61 = GUICtrlCreateButton("и", 175, 100, 25, 25)
$Button62 = GUICtrlCreateButton("т", 200, 100, 25, 25)
$Button63 = GUICtrlCreateButton("ь", 225, 100, 25, 25)
$Button64 = GUICtrlCreateButton("б", 250, 100, 25, 25)
$Button65 = GUICtrlCreateButton("ю", 275, 100, 25, 25)
$Button66 = GUICtrlCreateButton(".", 300, 100, 25, 25)
$Button67 = GUICtrlCreateButton("Shift", 325, 100, 50, 25)
$Button68 = GUICtrlCreateButton("Ctrl", 0, 125, 50, 25)
$Button69 = GUICtrlCreateButton("Win", 50, 125, 30, 25)
$Button70 = GUICtrlCreateButton("Alt", 80, 125, 25, 25)
$Button71 = GUICtrlCreateButton("", 105, 125, 115, 25)
$Button72 = GUICtrlCreateButton("Alt", 220, 125, 25, 25)
$Button73 = GUICtrlCreateButton("Win", 245, 125, 30, 25)
$Button74 = GUICtrlCreateButton("Print", 275, 125, 50, 25)
$Button75 = GUICtrlCreateButton("Ctrl", 325, 125, 50, 25)
$Button76 = GUICtrlCreateButton("Psc", 380, 0, 25, 25)
$Button77 = GUICtrlCreateButton("Slk", 405, 0, 25, 25)
$Button78 = GUICtrlCreateButton("Brk", 430, 0, 25, 25)
$Button79 = GUICtrlCreateButton("Ins", 380, 25, 25, 25)
$Button80 = GUICtrlCreateButton("Hm", 405, 25, 25, 25)
$Button81 = GUICtrlCreateButton("Pup", 430, 25, 25, 25)
$Button82 = GUICtrlCreateButton("Del", 380, 50, 25, 25)
$Button83 = GUICtrlCreateButton("End", 405, 50, 25, 25)
$Button84 = GUICtrlCreateButton("Pdn", 430, 50, 25, 25)
$Button85 = GUICtrlCreateButton("^", 405, 100, 25, 25)
$Button86 = GUICtrlCreateButton("<", 380, 125, 25, 25)
$Button87 = GUICtrlCreateButton("Dw", 405, 125, 25, 25)
$Button88 = GUICtrlCreateButton(">", 430, 125, 25, 25)
$Button89 = GUICtrlCreateButton("nlk", 460, 25, 25, 25)
$Button90 = GUICtrlCreateButton("/", 485, 25, 25, 25)
$Button91 = GUICtrlCreateButton("*", 510, 25, 25, 25)
$Button92 = GUICtrlCreateButton("-", 535, 25, 25, 25)
$Button93 = GUICtrlCreateButton("7", 460, 50, 25, 25)
$Button94 = GUICtrlCreateButton("8", 485, 50, 25, 25)
$Button95 = GUICtrlCreateButton("9", 510, 50, 25, 25)
$Button96 = GUICtrlCreateButton("+", 535, 50, 25, 50)
$Button97 = GUICtrlCreateButton("4", 460, 75, 25, 25)
$Button98 = GUICtrlCreateButton("5", 485, 75, 25, 25)
$Button99 = GUICtrlCreateButton("6", 510, 75, 25, 25)
$Button100 = GUICtrlCreateButton("1", 460, 100, 25, 25)
$Button101 = GUICtrlCreateButton("2", 485, 100, 25, 25)
$Button102 = GUICtrlCreateButton("3", 510, 100, 25, 25)
$Button103 = GUICtrlCreateButton("Ent", 535, 100, 25, 50)
$Button104 = GUICtrlCreateButton("0", 460, 125, 50, 25)
$Button105 = GUICtrlCreateButton(".", 510, 125, 25, 25)
GUISetState()
While 1
Switch GUIGetMsg()
Case $Button00
Exit
Case $ButtonRU
$Apportion = "RU"
LANG_KEYBOARD()
Case $ButtonEN
$Apportion = "EN"
LANG_KEYBOARD()
Case $Button42
If $LockState = 0 Then
$LockState = 1
LOCK_KEYBOARD()
ElseIf $LockState = 1 Then
$LockState = 0
LANG_KEYBOARD()
EndIf
EndSwitch
WEnd
Func LANG_KEYBOARD()
If $Apportion = "RU" Then
GUICtrlSetData($Button14, "ё")
GUICtrlSetData($Button15, "1")
GUICtrlSetData($Button16, '2')
GUICtrlSetData($Button17, "3")
GUICtrlSetData($Button18, "4")
GUICtrlSetData($Button19, "5")
GUICtrlSetData($Button20, "6")
GUICtrlSetData($Button21, "7")
GUICtrlSetData($Button22, "8")
GUICtrlSetData($Button23, "9")
GUICtrlSetData($Button24, "0")
GUICtrlSetData($Button25, "-")
GUICtrlSetData($Button26, "=")
GUICtrlSetData($Button29, "й")
GUICtrlSetData($Button30, "ц")
GUICtrlSetData($Button31, "у")
GUICtrlSetData($Button32, "к")
GUICtrlSetData($Button33, "е")
GUICtrlSetData($Button34, "н")
GUICtrlSetData($Button35, "г")
GUICtrlSetData($Button36, "ш")
GUICtrlSetData($Button37, "щ")
GUICtrlSetData($Button38, "з")
GUICtrlSetData($Button39, "х")
GUICtrlSetData($Button40, "ъ")
GUICtrlSetData($Button43, "ф")
GUICtrlSetData($Button44, "ы")
GUICtrlSetData($Button45, "в")
GUICtrlSetData($Button46, "а")
GUICtrlSetData($Button47, "п")
GUICtrlSetData($Button48, "р")
GUICtrlSetData($Button49, "о")
GUICtrlSetData($Button50, "л")
GUICtrlSetData($Button51, "д")
GUICtrlSetData($Button52, "ж")
GUICtrlSetData($Button53, "э")
GUICtrlSetData($Button57, "я")
GUICtrlSetData($Button58, "ч")
GUICtrlSetData($Button59, "с")
GUICtrlSetData($Button60, "м")
GUICtrlSetData($Button61, "и")
GUICtrlSetData($Button62, "т")
GUICtrlSetData($Button63, "ь")
GUICtrlSetData($Button64, "б")
GUICtrlSetData($Button65, "ю")
GUICtrlSetData($Button66, ".")
GUICtrlSetData($Button78, "Brk")
ElseIf $Apportion = "EN" Then
GUICtrlSetData($Button14, "`")
GUICtrlSetData($Button15, "1")
GUICtrlSetData($Button16, '2')
GUICtrlSetData($Button17, "3")
GUICtrlSetData($Button18, "4")
GUICtrlSetData($Button19, "5")
GUICtrlSetData($Button20, "6")
GUICtrlSetData($Button21, "7")
GUICtrlSetData($Button22, "8")
GUICtrlSetData($Button23, "9")
GUICtrlSetData($Button24, "0")
GUICtrlSetData($Button25, "-")
GUICtrlSetData($Button26, "=")
GUICtrlSetData($Button29, "q")
GUICtrlSetData($Button30, "w")
GUICtrlSetData($Button31, "e")
GUICtrlSetData($Button32, "r")
GUICtrlSetData($Button33, "t")
GUICtrlSetData($Button34, "y")
GUICtrlSetData($Button35, "u")
GUICtrlSetData($Button36, "i")
GUICtrlSetData($Button37, "o")
GUICtrlSetData($Button38, "p")
GUICtrlSetData($Button39, "[")
GUICtrlSetData($Button40, "]")
GUICtrlSetData($Button43, "a")
GUICtrlSetData($Button44, "s")
GUICtrlSetData($Button45, "d")
GUICtrlSetData($Button46, "f")
GUICtrlSetData($Button47, "g")
GUICtrlSetData($Button48, "h")
GUICtrlSetData($Button49, "j")
GUICtrlSetData($Button50, "k")
GUICtrlSetData($Button51, "l")
GUICtrlSetData($Button52, ";")
GUICtrlSetData($Button53, "'")
GUICtrlSetData($Button57, "z")
GUICtrlSetData($Button58, "x")
GUICtrlSetData($Button59, "c")
GUICtrlSetData($Button60, "v")
GUICtrlSetData($Button61, "b")
GUICtrlSetData($Button62, "n")
GUICtrlSetData($Button63, "m")
GUICtrlSetData($Button64, ",")
GUICtrlSetData($Button65, ".")
GUICtrlSetData($Button66, "/")
GUICtrlSetData($Button78, "Brk")
EndIf
EndFunc ;==>LANG_KEYBOARD
Func LOCK_KEYBOARD()
If $Apportion = "RU" Then
GUICtrlSetData($Button14, "Ё")
GUICtrlSetData($Button15, "!")
GUICtrlSetData($Button16, '"')
GUICtrlSetData($Button17, "№")
GUICtrlSetData($Button18, ";")
GUICtrlSetData($Button19, "%")
GUICtrlSetData($Button20, ":")
GUICtrlSetData($Button21, "?")
GUICtrlSetData($Button22, "*")
GUICtrlSetData($Button23, "(")
GUICtrlSetData($Button24, ")")
GUICtrlSetData($Button25, "_")
GUICtrlSetData($Button26, "+")
GUICtrlSetData($Button29, "Й")
GUICtrlSetData($Button30, "Ц")
GUICtrlSetData($Button31, "У")
GUICtrlSetData($Button32, "К")
GUICtrlSetData($Button33, "Е")
GUICtrlSetData($Button34, "Н")
GUICtrlSetData($Button35, "Г")
GUICtrlSetData($Button36, "Ш")
GUICtrlSetData($Button37, "Щ")
GUICtrlSetData($Button38, "З")
GUICtrlSetData($Button39, "Х")
GUICtrlSetData($Button40, "Ъ")
GUICtrlSetData($Button41, "/")
GUICtrlSetData($Button43, "Ф")
GUICtrlSetData($Button44, "Ы")
GUICtrlSetData($Button45, "В")
GUICtrlSetData($Button46, "А")
GUICtrlSetData($Button47, "П")
GUICtrlSetData($Button48, "Р")
GUICtrlSetData($Button49, "О")
GUICtrlSetData($Button50, "Л")
GUICtrlSetData($Button51, "Д")
GUICtrlSetData($Button52, "Ж")
GUICtrlSetData($Button53, "Э")
GUICtrlSetData($Button57, "Я")
GUICtrlSetData($Button58, "Ч")
GUICtrlSetData($Button59, "С")
GUICtrlSetData($Button60, "М")
GUICtrlSetData($Button61, "И")
GUICtrlSetData($Button62, "Т")
GUICtrlSetData($Button63, "Ь")
GUICtrlSetData($Button64, "Б")
GUICtrlSetData($Button65, "Ю")
GUICtrlSetData($Button66, ",")
GUICtrlSetData($Button78, "Pau")
ElseIf $Apportion = "EN" Then
GUICtrlSetData($Button14, "~")
GUICtrlSetData($Button15, "!")
GUICtrlSetData($Button16, "@")
GUICtrlSetData($Button17, "#")
GUICtrlSetData($Button18, "$")
GUICtrlSetData($Button19, "%")
GUICtrlSetData($Button20, "^")
GUICtrlSetData($Button21, "&")
GUICtrlSetData($Button22, "*")
GUICtrlSetData($Button23, "(")
GUICtrlSetData($Button24, ")")
GUICtrlSetData($Button25, "_")
GUICtrlSetData($Button26, "+")
GUICtrlSetData($Button29, "Q")
GUICtrlSetData($Button30, "W")
GUICtrlSetData($Button31, "E")
GUICtrlSetData($Button32, "R")
GUICtrlSetData($Button33, "T")
GUICtrlSetData($Button34, "Y")
GUICtrlSetData($Button35, "U")
GUICtrlSetData($Button36, "I")
GUICtrlSetData($Button37, "O")
GUICtrlSetData($Button38, "P")
GUICtrlSetData($Button39, "{")
GUICtrlSetData($Button40, "}")
GUICtrlSetData($Button41, "|")
GUICtrlSetData($Button43, "A")
GUICtrlSetData($Button44, "S")
GUICtrlSetData($Button45, "D")
GUICtrlSetData($Button46, "F")
GUICtrlSetData($Button47, "G")
GUICtrlSetData($Button48, "H")
GUICtrlSetData($Button49, "J")
GUICtrlSetData($Button50, "K")
GUICtrlSetData($Button51, "L")
GUICtrlSetData($Button52, ":")
GUICtrlSetData($Button53, '"')
GUICtrlSetData($Button57, "Z")
GUICtrlSetData($Button58, "X")
GUICtrlSetData($Button59, "C")
GUICtrlSetData($Button60, "V")
GUICtrlSetData($Button61, "B")
GUICtrlSetData($Button62, "N")
GUICtrlSetData($Button63, "M")
GUICtrlSetData($Button64, "<")
GUICtrlSetData($Button65, ">")
GUICtrlSetData($Button66, "?")
GUICtrlSetData($Button78, "Pau")
EndIf
EndFunc ;==>LOCK_KEYBOARD