Цитата(Fors1k @ 6.7.2019, 20:09)
Опиши полностью задачу, что должен делать скрипт.
В идеале нажимать кнопки с разными интервалами. Одни чаще другие реже. Но по нажатию на определенные ключи должен останавливаться/переходить к() уступая место ручному управлению. Т.е. к примеру жмется автоматически а, Б, С, а - с интервалом 60 мс, Б - 70, с - 80, но если нажать на Т, то T начинает жаться до тех пор пока клавиша нажата.
Те. он есть по сути такой скрипт
Код
--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 - для лампочек горит/не горит.
while 1 do
wait (1)
local state, toggle = GetKeyState(0x91)
local stateC = GetKeyState(0x43)
local state5 = GetKeyState(0x35)
local stateV = GetKeyState(0x56)
log(tostring(toggle),tostring(state))
log(tostring(toggle1),tostring(state1))
if toggle and state1 then
wait (1)
send217 ("1")
else
if toggle and stateC then
wait (1)
send217 ("c")
else
if toggle and state5 then
wait (1)
send217 ("5")
else
if toggle and stateV then
wait (1)
send217 ("v")
else
end
end
end
end
Но без интервального нажатия, просто ручное заспамливание клавиш.
Нужно соединить вот это
1
Код
--lua
local button = {
{"f1",1}, -- таймаут в секундах
{"f2",2},
{"f3",0.5}
}
for i = 1, #button do
button[i][3] = os.clock() + button[i][2]
end
local main = function(button)
for i = 1, #button do
if button[i][3] < os.clock() then
send217(button[i][1])
button[i][3] = os.clock() + button[i][2]
end
end
end
while 1 do
main(button)
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
-- Поолучаем состояние клавиши:
-- state - нажата/отжата
-- toggle - для лампочек горит/не горит.
while 1 do
wait (1)
local state, toggle = GetKeyState(0x91)
local stateC = GetKeyState(0x43)
local state5 = GetKeyState(0x35)
local stateV = GetKeyState(0x56)
log(tostring(toggle),tostring(state))
log(tostring(toggle1),tostring(state1))
if toggle and state1 then
wait (1)
send217 ("1")
else
if toggle and stateC then
wait (1)
send217 ("c")
else
if toggle and state5 then
wait (1)
send217 ("5")
else
if toggle and stateV then
wait (1)
send217 ("v")
else
end
end
end
end
Вверх