Files

28 lines
764 B
Lua

--@ module = true
-- 向当前界面发送按键。用法:dfhack-run "dfannals/act SELECT"
-- 多个按键按顺序发送:dfhack-run "dfannals/act STANDARDSCROLL_DOWN SELECT"
local gui = require('gui')
local args = {...}
local scr = dfhack.gui.getCurViewscreen()
local sent = {}
for _, name in ipairs(args) do
local key = df.interface_key[name]
if key then
scr:feed_key(key)
sent[#sent + 1] = name
else
sent[#sent + 1] = '?未知按键:' .. name
end
end
local f = io.open('dfannals-act.log', 'a')
if f then
f:write(string.format('%s\t%s\tfocus=%s\n', os.date('%H:%M:%S'),
table.concat(sent, ' '), table.concat(dfhack.gui.getCurFocus(), '/')))
f:close()
end
print('sent: ' .. table.concat(sent, ' '))