2018-01-21 05:44:13 -05:00
|
|
|
_G.requireInjector(_ENV)
|
2017-10-14 03:41:54 -04:00
|
|
|
|
2017-09-05 02:09:31 -04:00
|
|
|
local Util = require('util')
|
2017-10-14 03:41:54 -04:00
|
|
|
|
2018-01-10 16:46:37 -05:00
|
|
|
local kernel = _G.kernel
|
|
|
|
local keyboard = _G.device.keyboard
|
2018-01-21 05:44:13 -05:00
|
|
|
local os = _G.os
|
2018-01-10 16:46:37 -05:00
|
|
|
local textutils = _G.textutils
|
2017-09-05 02:09:31 -04:00
|
|
|
|
2017-10-15 19:55:05 -04:00
|
|
|
local data
|
2017-05-12 01:12:58 -04:00
|
|
|
|
2018-01-10 16:46:37 -05:00
|
|
|
kernel.hook('clipboard_copy', function(_, args)
|
2018-01-24 17:39:38 -05:00
|
|
|
data = args[1]
|
2017-10-14 03:41:54 -04:00
|
|
|
end)
|
|
|
|
|
2018-01-24 17:39:38 -05:00
|
|
|
keyboard.addHotkey('shift-paste', function()
|
|
|
|
if type(data) == 'table' then
|
|
|
|
local s, m = pcall(textutils.serialize, data)
|
|
|
|
data = (s and m) or Util.tostring(data)
|
|
|
|
end
|
|
|
|
-- replace the event paste data with our internal data
|
|
|
|
-- args[1] = Util.tostring(data or '')
|
|
|
|
if data then
|
|
|
|
os.queueEvent('paste', data)
|
2018-01-21 05:44:13 -05:00
|
|
|
end
|
2017-10-14 03:41:54 -04:00
|
|
|
end)
|