|
Определение статуса клавиш клавиатуры |
|
|
cirus |
31.5.2017, 15:07
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27517
Пользователь №: 16.971
Возраст: 29
|
Минимальная версия пилота 2.41.Архив
luaPlugins.zip ( 314,41 килобайт )
Кол-во скачиваний: 2437 распаковать и положить в папку с пилотом. Синтаксис (lua):Код --lua do local back = package.path package.path = "luaPlugins\\winapi\\?.lua;"..package.path setfenv(1, require'winapi') require[[winapi.keyboard]] package.path = back end
-- Получаем состояние клавиши: -- state - нажата/отжата -- toggle - для лампочек горит/не горит. local state, toggle = GetKeyState(0x14) log(tostring(state),tostring(toggle)) Пример1
Код --lua do local back = package.path package.path = "luaPlugins\\winapi\\?.lua;"..package.path setfenv(1, require'winapi') require[[winapi.keyboard]] package.path = back end
-- проверка нажата ли клавиша Z while 1 do local state = GetKeyState(90) -- или GetKeyState(0x5A) if state then log ("Z нажата") else log ("Z не нажата") end wait (100) end Пример2
Код --lua do local back = package.path package.path = "luaPlugins\\winapi\\?.lua;"..package.path setfenv(1, require'winapi') require[[winapi.keyboard]] package.path = back end
-- проверка включен ли CapsLock while 1 do local state, toggle = GetKeyState(0x14) -- или GetKeyState(20) if toggle then log ("CapsLock включен") else log ("CapsLock выключен") end wait (100) end
Пример3
Код --lua do local back = package.path package.path = "luaPlugins\\winapi\\?.lua;"..package.path setfenv(1, require'winapi') require[[winapi.keyboard]] package.path = back end
log "clear" log "mode compact" -- Дождаться нажатия клавиши Y while 1 do log ("Ждём когда будет нажата клавиша Y") local state, toggle = GetKeyState(0x59) while not state do state, toggle = GetKeyState(0x59) wait (10) end log ("Клавиша Y была нажата") log ("Ждём когда будет отпущена клавиша Y") while state do state, toggle = GetKeyState(0x59) wait (10) end log() wait (10) end
Для устаревшего языка пилота:Автор плагина Cockney. KB.zipКидать(распаковать) в папку Plugins, которая рядом с пилот должна быть создана. GetKeyState принимает одну букву латиницы или цифру(не нампад). GetKeyStateByCode принимает виртуальный код клавиши(см. msdn). Результат: 0 - не нажата, 1 - нажата Примеры использования: Пример 1
Код // если нажата клавиша q, выполнить какие-то действия // в данном случае вывести в лог сообщение if KB.GetKeyState(q) = 1 log Нажата клавиша q end_if wait 200
Пример 2
Код if KB.GetKeyStateByCode(65) = 1 log Нажата клавиша A end_if wait 200
Пример 3
Код // Проверить не нажата ли любая цифра for #i 48 57 if KB.GetKeyStateByCode(#i) = 1 log Нажата цифра chr(#i) end_if end_for wait 200
Пример 4
Код // Ожидание нажатия клавиши log Для продолжения нажать клавишу Y while KB.GetKeyState(y) = 0 wait 100 end_while log Нажата клавиша Y end_script
Пример 5
Код // Проверка нажатия кнопок мыши if KB.GetKeyStateByCode(1) = 1 log Нажата левая кнопка мыши end_if if KB.GetKeyStateByCode(2) = 1 log Нажата правая кнопка мыши end_if wait 100
Коды клавиш
0x01 - VK_LBUTTON Left mouse button 0x02 - VK_RBUTTON Right mouse button 0x03 - VK_CANCEL Control-break processing 0x04 - VK_MBUTTON Middle mouse button (three-button mouse) 0x05 - VK_XBUTTON1 X1 mouse button 0x06 - VK_XBUTTON2 X2 mouse button 0x07 - Undefined 0x08 - VK_BACK BACKSPACE key 0x09 - VK_TAB TAB key 0x0A-0B - Reserved 0x0C - VK_CLEAR CLEAR key 0x0D - VK_RETURN ENTER key 0x0E-0F - Undefined 0x10 - VK_SHIFT SHIFT key 0x11 - VK_CONTROL CTRL key 0x12 - VK_MENU ALT key 0x13 - VK_PAUSE PAUSE key 0x14 - VK_CAPITAL CAPS LOCK key 0x15 - VK_KANA IME Kana mode 0x15 - VK_HANGUEL IME Hanguel mode (maintained for compatibility; use VK_HANGUL) 0x15 - VK_HANGUL IME Hangul mode 0x16 - Undefined 0x17 - VK_JUNJA IME Junja mode 0x18 - VK_FINAL IME final mode 0x19 - VK_HANJA IME Hanja mode 0x19 - VK_KANJI IME Kanji mode 0x1A - Undefined 0x1B - VK_ESCAPE ESC key 0x1C - VK_CONVERT IME convert 0x1D - VK_NONCONVERT IME nonconvert 0x1E - VK_ACCEPT IME accept 0x1F - VK_MODECHANGE IME mode change request 0x20 - VK_SPACE SPACEBAR 0x21 - VK_PRIOR PAGE UP key 0x22 - VK_NEXT PAGE DOWN key 0x23 - VK_END END key 0x24 - VK_HOME HOME key 0x25 - VK_LEFT LEFT ARROW key 0x26 - VK_UP UP ARROW key 0x27 - VK_RIGHT RIGHT ARROW key 0x28 - VK_DOWN DOWN ARROW key 0x29 - VK_SELECT SELECT key 0x2A - VK_PRINT PRINT key 0x2B - VK_EXECUTE EXECUTE key 0x2C - VK_SNAPSHOT PRINT SCREEN key 0x2D - VK_INSERT INS key 0x2E - VK_DELETE DEL key 0x2F - VK_HELP HELP key 0x30 - 0 key 0x31 - 1 key 0x32 - 2 key 0x33 - 3 key 0x34 - 4 key 0x35 - 5 key 0x36 - 6 key 0x37 - 7 key 0x38 - 8 key 0x39 - 9 key 0x3A-40 - Undefined 0x41 - A key 0x42 - B key 0x43 - C key 0x44 - D key 0x45 - E key 0x46 - F key 0x47 - G key 0x48 - H key 0x49 - I key 0x4A - J key 0x4B - K key 0x4C - L key 0x4D - M key 0x4E - N key 0x4F - O key 0x50 - P key 0x51 - Q key 0x52 - R key 0x53 - S key 0x54 - T key 0x55 - U key 0x56 - V key 0x57 - W key 0x58 - X key 0x59 - Y key 0x5A - Z key 0x5B - VK_LWIN Left Windows key (Natural keyboard) 0x5C - VK_RWIN Right Windows key (Natural keyboard) 0x5D - VK_APPS Applications key (Natural keyboard) 0x5E - Reserved 0x5F - VK_SLEEP Computer Sleep key 0x60 - VK_NUMPAD0 Numeric keypad 0 key 0x61 - VK_NUMPAD1 Numeric keypad 1 key 0x62 - VK_NUMPAD2 Numeric keypad 2 key 0x63 - VK_NUMPAD3 Numeric keypad 3 key 0x64 - VK_NUMPAD4 Numeric keypad 4 key 0x65 - VK_NUMPAD5 Numeric keypad 5 key 0x66 - VK_NUMPAD6 Numeric keypad 6 key 0x67 - VK_NUMPAD7 Numeric keypad 7 key 0x68 - VK_NUMPAD8 Numeric keypad 8 key 0x69 - VK_NUMPAD9 Numeric keypad 9 key 0x6A - VK_MULTIPLY Multiply key 0x6B - VK_ADD Add key 0x6C - VK_SEPARATOR Separator key 0x6D - VK_SUBTRACT Subtract key 0x6E - VK_DECIMAL Decimal key 0x6F - VK_DIVIDE Divide key 0x70 - VK_F1 F1 key 0x71 - VK_F2 F2 key 0x72 - VK_F3 F3 key 0x73 - VK_F4 F4 key 0x74 - VK_F5 F5 key 0x75 - VK_F6 F6 key 0x76 - VK_F7 F7 key 0x77 - VK_F8 F8 key 0x78 - VK_F9 F9 key 0x79 - VK_F10 F10 key 0x7A - VK_F11 F11 key 0x7B - VK_F12 F12 key 0x7C - VK_F13 F13 key 0x7D - VK_F14 F14 key 0x7E - VK_F15 F15 key 0x7F - VK_F16 F16 key 0x80 - VK_F17 F17 key 0x81 - VK_F18 F18 key 0x82 - VK_F19 F19 key 0x83 - VK_F20 F20 key 0x84 - VK_F21 F21 key 0x85 - VK_F22 F22 key 0x86 - VK_F23 F23 key 0x87 - VK_F24 F24 key 0x88-8F - Unassigned 0x90 - VK_NUMLOCK NUM LOCK key 0x91 - VK_SCROLL SCROLL LOCK key 0x92-96 - OEM specific 0x97-9F - Unassigned 0xA0 - VK_LSHIFT Left SHIFT key 0xA1 - VK_RSHIFT Right SHIFT key 0xA2 - VK_LCONTROL Left CONTROL key 0xA3 - VK_RCONTROL Right CONTROL key 0xA4 - VK_LMENU Left MENU key 0xA5 - VK_RMENU Right MENU key 0xA6 - VK_BROWSER_BACK Browser Back key 0xA7 - VK_BROWSER_FORWARD Browser Forward key 0xA8 - VK_BROWSER_REFRESH Browser Refresh key 0xA9 - VK_BROWSER_STOP Browser Stop key 0xAA - VK_BROWSER_SEARCH Browser Search key 0xAB - VK_BROWSER_FAVORITES Browser Favorites key 0xAC - VK_BROWSER_HOME Browser Start and Home key 0xAD - VK_VOLUME_MUTE Volume Mute key 0xAE - VK_VOLUME_DOWN Volume Down key 0xAF - VK_VOLUME_UP Volume Up key 0xB0 - VK_MEDIA_NEXT_TRACK Next Track key 0xB1 - VK_MEDIA_PREV_TRACK Previous Track key 0xB2 - VK_MEDIA_STOP Stop Media key 0xB3 - VK_MEDIA_PLAY_PAUSE Play/Pause Media key 0xB4 - VK_LAUNCH_MAIL Start Mail key 0xB5 - VK_LAUNCH_MEDIA_SELECT Select Media key 0xB6 - VK_LAUNCH_APP1 Start Application 1 key 0xB7 - VK_LAUNCH_APP2 Start Application 2 key 0xB8-B9 - Reserved 0xBA - VK_OEM_1 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key 0xBB - VK_OEM_PLUS For any country/region, the '+' key 0xBC - VK_OEM_COMMA For any country/region, the ',' key 0xBD - VK_OEM_MINUS For any country/region, the '-' key 0xBE - VK_OEM_PERIOD For any country/region, the '.' key 0xBF - VK_OEM_2 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key 0xC0 - VK_OEM_3 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '`~' key 0xC1-D7 - Reserved 0xD8-DA - Unassigned 0xDB - VK_OEM_4 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key 0xDC - VK_OEM_5 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\|' key 0xDD - VK_OEM_6 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key 0xDE - VK_OEM_7 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key 0xDF - VK_OEM_8 Used for miscellaneous characters; it can vary by keyboard. 0xE0 - Reserved 0xE1 - OEM specific 0xE2 - VK_OEM_102 Either the angle bracket key or the backslash key on the RT 102-key keyboard 0xE3-E4 - OEM specific 0xE5 - VK_PROCESSKEY IME PROCESS key 0xE6 - OEM specific 0xE7 - VK_PACKET Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP 0xE8 - Unassigned 0xE9-F5 - OEM specific 0xF6 - VK_ATTN Attn key 0xF7 - VK_CRSEL CrSel key 0xF8 - VK_EXSEL ExSel key 0xF9 - VK_EREOF Erase EOF key 0xFA - VK_PLAY Play key 0xFB - VK_ZOOM Zoom key 0xFC - VK_NONAME Reserved 0xFD - VK_PA1 PA1 key 0xFE - VK_OEM_CLEAR Clear key Не актуально.Если используется синтаксис Lua.
Kbd.zip ( 39,37 килобайт )
Кол-во скачиваний: 3128Распаковать архив, файл закинуть рядом с exe пилота. Пример 1
Код --lua require("Kbd") -- загрузка функции while 1 do -- бесконечный цикл if Kbd.IsKeyPress(Kbd.Q) then -- если нажата клавиша Q log("Нажата Q") wait (300) end wait (20) end Пример 2
Код --lua require("Kbd") while 1 do if (Kbd.IsKeyPress(Kbd.LeftShift) and Kbd.IsKeyPress(Kbd.Q)) then -- если нажат левый шифт и Q log("+++") wait (300) end wait (20) end Пример 3
Код --lua require("Kbd") log ("Для продолжения нажмите Y") while not(Kbd.IsKeyPress(Kbd.Y)) do wait (20) end log("Нажата клавиша Y") Коды клавиш
LMB RMB Cancel MMB X1MB X2MB Back Tab Clear Enter Shift Ctrl Alt Pause CapsLock Esc Space PageUp PageDown End Home Left Up Right Down Select Print Execute PrntScrn Insert Delete Help Key0 Key1 Key2 Key3 Key4 Key5 Key6 Key7 Key8 Key9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z LeftWin RightWin AppKey Sleep LeftWin Num0 Num1 Num2 Num3 Num4 Num5 Num6 Num7 Num8 Num9 Multiply Add Separator Subtract Decimal Divide F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24 NumLock ScrollLock LeftShift RightShift LeftCtrl RightCtrl LeftAlt RightAlt BrowserBack BrowserForward BrowserRefresh BrowserStop BrowserSearch BrowserFavorites BrowserHome VolMute VolDown VolUp VolUp
Сообщение отредактировал cirus - 6.3.2019, 3:47
|
|
|
|
dron4938 |
31.5.2017, 22:29
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Эта программка коды всех клавиш показывает, установки не требует коды на популярные клавиши: Виртуальные коды кнопок
//1-49/2-50/3-51/4-52/5-53/6-54/7-55/8-56/9-57/0-48 //F1-112/F2-113/F3-114/F4-115/F5-116/F6-117/F7-118/F8-119/F9-120/F10-121/F11-122/F12-123 //Q-81/W-87/E-69/R-82/T-84/Y-89/U-85/I-73/O-79/P-80/A-65/S-83/D-68/F-70/G-71/H-72/J-74 //K-75/L-76/Z-90/X-88/C-67/V-86/B-66/N-78/M-77/ //TAB-9/CAPS LOCK-20/SHIFT-160/CTRL-162/ALT-164/SPACE-32/ENTER-13/BACKSPACE-8/INSERT-45 //DELETE-46/HOME-36/END-35/PAGEUP-33/PAGEDOWN-34/LEFT-37/RIGHT-39/UP-38/DOWN-40/ESC-27
(IMG: https://i.yapx.ru/JqoJ.jpg)
Прикрепленные файлы
keyboardtestutility.rar ( 1,94 мегабайт )
Кол-во скачиваний: 1966
|
|
|
|
Cockney |
17.2.2018, 1:51
|
Master
Сообщений: 1.402
Регистрация: 22.6.2013 Группа: Пользователи Наличность: 21880
Пользователь №: 16.156
|
Луа порт. Только функция IsKeyPress() возвращающая флажок. Теперь не требуется указывать код сканируемой клавиши (по примеру понятно как теперь работает ?). Список клавиш будет позже (но не точно, да). Пример Код require("Kbd") if (Kbd.IsKeyPress(Kbd.LeftShift) and Kbd.IsKeyPress(Kbd.Q)) then log("It's work") end
Лень оформлять этот список клавиш, так что вырвал кусок кода задания их, разбирайте. achtung
Код lua_pushinteger(L, VK_LBUTTON); lua_setfield(L, -STACK_TOP + 1, "LMB"); lua_pushinteger(L, VK_RBUTTON); lua_setfield(L, -STACK_TOP + 1, "RMB"); lua_pushinteger(L, VK_CANCEL); lua_setfield(L, -STACK_TOP + 1, "Cancel"); lua_pushinteger(L, VK_MBUTTON); lua_setfield(L, -STACK_TOP + 1, "MMB"); lua_pushinteger(L, VK_XBUTTON1); lua_setfield(L, -STACK_TOP + 1, "X1MB"); lua_pushinteger(L, VK_XBUTTON2); lua_setfield(L, -STACK_TOP + 1, "X2MB"); lua_pushinteger(L, VK_BACK); lua_setfield(L, -STACK_TOP + 1, "Back"); lua_pushinteger(L, VK_TAB); lua_setfield(L, -STACK_TOP + 1, "Tab"); lua_pushinteger(L, VK_CLEAR); lua_setfield(L, -STACK_TOP + 1, "Clear"); lua_pushinteger(L, VK_RETURN); lua_setfield(L, -STACK_TOP + 1, "Enter"); lua_pushinteger(L, VK_SHIFT); lua_setfield(L, -STACK_TOP + 1, "Shift"); lua_pushinteger(L, VK_CONTROL); lua_setfield(L, -STACK_TOP + 1, "Ctrl"); lua_pushinteger(L, VK_MENU); lua_setfield(L, -STACK_TOP + 1, "Alt"); lua_pushinteger(L, VK_PAUSE); lua_setfield(L, -STACK_TOP + 1, "Pause"); lua_pushinteger(L, VK_CAPITAL); lua_setfield(L, -STACK_TOP + 1, "CapsLock"); lua_pushinteger(L, VK_ESCAPE); lua_setfield(L, -STACK_TOP + 1, "Esc"); lua_pushinteger(L, VK_SPACE); lua_setfield(L, -STACK_TOP + 1, "Space"); lua_pushinteger(L, VK_PRIOR); lua_setfield(L, -STACK_TOP + 1, "PageUp"); lua_pushinteger(L, VK_NEXT); lua_setfield(L, -STACK_TOP + 1, "PageDown"); lua_pushinteger(L, VK_END); lua_setfield(L, -STACK_TOP + 1, "End"); lua_pushinteger(L, VK_HOME); lua_setfield(L, -STACK_TOP + 1, "Home"); lua_pushinteger(L, VK_LEFT); lua_setfield(L, -STACK_TOP + 1, "Left"); lua_pushinteger(L, VK_UP); lua_setfield(L, -STACK_TOP + 1, "Up"); lua_pushinteger(L, VK_RIGHT); lua_setfield(L, -STACK_TOP + 1, "Right"); lua_pushinteger(L, VK_DOWN); lua_setfield(L, -STACK_TOP + 1, "Down"); lua_pushinteger(L, VK_SELECT); lua_setfield(L, -STACK_TOP + 1, "Select"); lua_pushinteger(L, VK_PRINT); lua_setfield(L, -STACK_TOP + 1, "Print"); lua_pushinteger(L, VK_EXECUTE); lua_setfield(L, -STACK_TOP + 1, "Execute"); lua_pushinteger(L, VK_SNAPSHOT); lua_setfield(L, -STACK_TOP + 1, "PrntScrn"); lua_pushinteger(L, VK_INSERT); lua_setfield(L, -STACK_TOP + 1, "Insert"); lua_pushinteger(L, VK_DELETE); lua_setfield(L, -STACK_TOP + 1, "Delete"); lua_pushinteger(L, VK_HELP); lua_setfield(L, -STACK_TOP + 1, "Help"); lua_pushinteger(L, 0x30); lua_setfield(L, -STACK_TOP + 1, "Key0"); lua_pushinteger(L, 0x31); lua_setfield(L, -STACK_TOP + 1, "Key1"); lua_pushinteger(L, 0x32); lua_setfield(L, -STACK_TOP + 1, "Key2"); lua_pushinteger(L, 0x33); lua_setfield(L, -STACK_TOP + 1, "Key3"); lua_pushinteger(L, 0x34); lua_setfield(L, -STACK_TOP + 1, "Key4"); lua_pushinteger(L, 0x35); lua_setfield(L, -STACK_TOP + 1, "Key5"); lua_pushinteger(L, 0x36); lua_setfield(L, -STACK_TOP + 1, "Key6"); lua_pushinteger(L, 0x37); lua_setfield(L, -STACK_TOP + 1, "Key7"); lua_pushinteger(L, 0x38); lua_setfield(L, -STACK_TOP + 1, "Key8"); lua_pushinteger(L, 0x39); lua_setfield(L, -STACK_TOP + 1, "Key9"); lua_pushinteger(L, 0x41); lua_setfield(L, -STACK_TOP + 1, "A"); lua_pushinteger(L, 0x42); lua_setfield(L, -STACK_TOP + 1, "B"); lua_pushinteger(L, 0x43); lua_setfield(L, -STACK_TOP + 1, "C"); lua_pushinteger(L, 0x44); lua_setfield(L, -STACK_TOP + 1, "D"); lua_pushinteger(L, 0x45); lua_setfield(L, -STACK_TOP + 1, "E"); lua_pushinteger(L, 0x46); lua_setfield(L, -STACK_TOP + 1, "F"); lua_pushinteger(L, 0x47); lua_setfield(L, -STACK_TOP + 1, "G"); lua_pushinteger(L, 0x48); lua_setfield(L, -STACK_TOP + 1, "H"); lua_pushinteger(L, 0x49); lua_setfield(L, -STACK_TOP + 1, "I"); lua_pushinteger(L, 0x4A); lua_setfield(L, -STACK_TOP + 1, "J"); lua_pushinteger(L, 0x4B); lua_setfield(L, -STACK_TOP + 1, "K"); lua_pushinteger(L, 0x4C); lua_setfield(L, -STACK_TOP + 1, "L"); lua_pushinteger(L, 0x4D); lua_setfield(L, -STACK_TOP + 1, "M"); lua_pushinteger(L, 0x4E); lua_setfield(L, -STACK_TOP + 1, "N"); lua_pushinteger(L, 0x4F); lua_setfield(L, -STACK_TOP + 1, "O"); lua_pushinteger(L, 0x50); lua_setfield(L, -STACK_TOP + 1, "P"); lua_pushinteger(L, 0x51); lua_setfield(L, -STACK_TOP + 1, "Q"); lua_pushinteger(L, 0x52); lua_setfield(L, -STACK_TOP + 1, "R"); lua_pushinteger(L, 0x53); lua_setfield(L, -STACK_TOP + 1, "S"); lua_pushinteger(L, 0x54); lua_setfield(L, -STACK_TOP + 1, "T"); lua_pushinteger(L, 0x55); lua_setfield(L, -STACK_TOP + 1, "U"); lua_pushinteger(L, 0x56); lua_setfield(L, -STACK_TOP + 1, "V"); lua_pushinteger(L, 0x57); lua_setfield(L, -STACK_TOP + 1, "W"); lua_pushinteger(L, 0x58); lua_setfield(L, -STACK_TOP + 1, "X"); lua_pushinteger(L, 0x59); lua_setfield(L, -STACK_TOP + 1, "Y"); lua_pushinteger(L, 0x5A); lua_setfield(L, -STACK_TOP + 1, "Z"); lua_pushinteger(L, VK_LWIN); lua_setfield(L, -STACK_TOP + 1, "LeftWin"); lua_pushinteger(L, VK_RWIN); lua_setfield(L, -STACK_TOP + 1, "RightWin"); lua_pushinteger(L, VK_APPS); lua_setfield(L, -STACK_TOP + 1, "AppKey"); lua_pushinteger(L, VK_SLEEP); lua_setfield(L, -STACK_TOP + 1, "Sleep"); lua_pushinteger(L, VK_LWIN); lua_setfield(L, -STACK_TOP + 1, "LeftWin"); lua_pushinteger(L, VK_NUMPAD0); lua_setfield(L, -STACK_TOP + 1, "Num0"); lua_pushinteger(L, VK_NUMPAD1); lua_setfield(L, -STACK_TOP + 1, "Num1"); lua_pushinteger(L, VK_NUMPAD2); lua_setfield(L, -STACK_TOP + 1, "Num2"); lua_pushinteger(L, VK_NUMPAD3); lua_setfield(L, -STACK_TOP + 1, "Num3"); lua_pushinteger(L, VK_NUMPAD4); lua_setfield(L, -STACK_TOP + 1, "Num4"); lua_pushinteger(L, VK_NUMPAD5); lua_setfield(L, -STACK_TOP + 1, "Num5"); lua_pushinteger(L, VK_NUMPAD6); lua_setfield(L, -STACK_TOP + 1, "Num6"); lua_pushinteger(L, VK_NUMPAD7); lua_setfield(L, -STACK_TOP + 1, "Num7"); lua_pushinteger(L, VK_NUMPAD8); lua_setfield(L, -STACK_TOP + 1, "Num8"); lua_pushinteger(L, VK_NUMPAD9); lua_setfield(L, -STACK_TOP + 1, "Num9"); lua_pushinteger(L, VK_MULTIPLY); lua_setfield(L, -STACK_TOP + 1, "Multiply"); lua_pushinteger(L, VK_ADD); lua_setfield(L, -STACK_TOP + 1, "Add"); lua_pushinteger(L, VK_SEPARATOR); lua_setfield(L, -STACK_TOP + 1, "Separator"); lua_pushinteger(L, VK_SUBTRACT); lua_setfield(L, -STACK_TOP + 1, "Subtract"); lua_pushinteger(L, VK_DECIMAL); lua_setfield(L, -STACK_TOP + 1, "Decimal"); lua_pushinteger(L, VK_DIVIDE); lua_setfield(L, -STACK_TOP + 1, "Divide"); lua_pushinteger(L, VK_F1); lua_setfield(L, -STACK_TOP + 1, "F1"); lua_pushinteger(L, VK_F2); lua_setfield(L, -STACK_TOP + 1, "F2"); lua_pushinteger(L, VK_F3); lua_setfield(L, -STACK_TOP + 1, "F3"); lua_pushinteger(L, VK_F4); lua_setfield(L, -STACK_TOP + 1, "F4"); lua_pushinteger(L, VK_F5); lua_setfield(L, -STACK_TOP + 1, "F5"); lua_pushinteger(L, VK_F6); lua_setfield(L, -STACK_TOP + 1, "F6"); lua_pushinteger(L, VK_F7); lua_setfield(L, -STACK_TOP + 1, "F7"); lua_pushinteger(L, VK_F8); lua_setfield(L, -STACK_TOP + 1, "F8"); lua_pushinteger(L, VK_F9); lua_setfield(L, -STACK_TOP + 1, "F9"); lua_pushinteger(L, VK_F10); lua_setfield(L, -STACK_TOP + 1, "F10"); lua_pushinteger(L, VK_F11); lua_setfield(L, -STACK_TOP + 1, "F11"); lua_pushinteger(L, VK_F12); lua_setfield(L, -STACK_TOP + 1, "F12"); lua_pushinteger(L, VK_F13); lua_setfield(L, -STACK_TOP + 1, "F13"); lua_pushinteger(L, VK_F14); lua_setfield(L, -STACK_TOP + 1, "F14"); lua_pushinteger(L, VK_F15); lua_setfield(L, -STACK_TOP + 1, "F15"); lua_pushinteger(L, VK_F16); lua_setfield(L, -STACK_TOP + 1, "F16"); lua_pushinteger(L, VK_F17); lua_setfield(L, -STACK_TOP + 1, "F17"); lua_pushinteger(L, VK_F18); lua_setfield(L, -STACK_TOP + 1, "F18"); lua_pushinteger(L, VK_F19); lua_setfield(L, -STACK_TOP + 1, "F19"); lua_pushinteger(L, VK_F20); lua_setfield(L, -STACK_TOP + 1, "F20"); lua_pushinteger(L, VK_F21); lua_setfield(L, -STACK_TOP + 1, "F21"); lua_pushinteger(L, VK_F22); lua_setfield(L, -STACK_TOP + 1, "F22"); lua_pushinteger(L, VK_F23); lua_setfield(L, -STACK_TOP + 1, "F23"); lua_pushinteger(L, VK_F24); lua_setfield(L, -STACK_TOP + 1, "F24"); lua_pushinteger(L, VK_NUMLOCK); lua_setfield(L, -STACK_TOP + 1, "NumLock"); lua_pushinteger(L, VK_SCROLL); lua_setfield(L, -STACK_TOP + 1, "ScrollLock"); lua_pushinteger(L, VK_LSHIFT); lua_setfield(L, -STACK_TOP + 1, "LeftShift"); lua_pushinteger(L, VK_RSHIFT); lua_setfield(L, -STACK_TOP + 1, "RightShift"); lua_pushinteger(L, VK_LCONTROL); lua_setfield(L, -STACK_TOP + 1, "LeftCtrl"); lua_pushinteger(L, VK_RCONTROL); lua_setfield(L, -STACK_TOP + 1, "RightCtrl"); lua_pushinteger(L, VK_LMENU); lua_setfield(L, -STACK_TOP + 1, "LeftAlt"); lua_pushinteger(L, VK_RMENU); lua_setfield(L, -STACK_TOP + 1, "RightAlt"); lua_pushinteger(L, VK_BROWSER_BACK); lua_setfield(L, -STACK_TOP + 1, "BrowserBack"); lua_pushinteger(L, VK_BROWSER_FORWARD); lua_setfield(L, -STACK_TOP + 1, "BrowserForward"); lua_pushinteger(L, VK_BROWSER_REFRESH); lua_setfield(L, -STACK_TOP + 1, "BrowserRefresh"); lua_pushinteger(L, VK_BROWSER_STOP); lua_setfield(L, -STACK_TOP + 1, "BrowserStop"); lua_pushinteger(L, VK_BROWSER_SEARCH); lua_setfield(L, -STACK_TOP + 1, "BrowserSearch"); lua_pushinteger(L, VK_BROWSER_FAVORITES); lua_setfield(L, -STACK_TOP + 1, "BrowserFavorites"); lua_pushinteger(L, VK_BROWSER_HOME); lua_setfield(L, -STACK_TOP + 1, "BrowserHome"); lua_pushinteger(L, VK_VOLUME_MUTE); lua_setfield(L, -STACK_TOP + 1, "VolMute"); lua_pushinteger(L, VK_VOLUME_DOWN); lua_setfield(L, -STACK_TOP + 1, "VolDown"); lua_pushinteger(L, VK_VOLUME_UP); lua_setfield(L, -STACK_TOP + 1, "VolUp"); lua_pushinteger(L, VK_VOLUME_UP); lua_setfield(L, -STACK_TOP + 1, "VolUp");
Прикрепленные файлы
Kbd.zip ( 39,37 килобайт )
Кол-во скачиваний: 1889
|
|
|
|
dron4938 |
25.2.2018, 19:04
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Код :aaa if KB.GetKeyState(q) = 1 // если нажата Q log Нажата q wait 25 + random (26) end_if if KB.GetKeyState(2) = 1 // если нажата 2 log Нажата 2 wait 27 + random (25) end_if if KB.GetKeyState(3) = 1 // если нажата 3 log Нажата 3 wait 21 + random (23) end_if while KB.GetKeyStateByCode(1) = 1 // если нажата ЛКМ log Нажата ЛКМ wait 29 + random (32) end_while goto aaa если лкм зажать, то код не спамит нажатие ЛКМ. Нужно чтобы спамил) При чем если зажаты, q , 2 или 3 то спам идет Код --lua require("Kbd") while 1 do -- бесконечный цикл while Kbd.IsKeyPress(Kbd.Q) do -- если нажата клавиша Q log ("Нажата q") wait (25 + math.random (23)) end while Kbd.IsKeyPress(Kbd.key2) do -- если нажата клавиша 2 log ("Нажата 2") wait (25 + math.random (23)) end while Kbd.IsKeyPress(Kbd.key3) do -- если нажата клавиша 3 log ("Нажата 3") wait (35 + math.random (27)) end while Kbd.IsKeyPress(Kbd.LMB) do -- если нажата клавиша ЛКМ log ("Нажата ЛКМ") wait (25 + math.random (23)) end end на луа работает спам лкм, но почемуто не работает нажатие 2 и 3. В чем тут косяк? Воу, оказывается Key надо с большой буквы писать))) В луа строчные и заглавные имеют разные значения?
|
|
|
|
Sreg |
11.1.2019, 18:58
|
Neophyte
Сообщений: 31
Регистрация: 6.4.2013 Группа: Пользователи Наличность: 0
Пользователь №: 15.974
Возраст: 26
|
Написал скрипт для проверки, и не могу понять как это работает: Код while KB.GetKeyStateByCode(2) = 0
end_while hint отпустил кнопку Я нажимаю на кнопку мыши, и не отпускаю её, а скрипт мне пишет что я отпустил, как тут быть?
|
|
|
|
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|