32 lines
803 B
Lua
32 lines
803 B
Lua
_G.requireInjector(_ENV)
|
|
|
|
local device = _G.device
|
|
local kernel = _G.kernel
|
|
local os = _G.os
|
|
|
|
local glasses = require('shatter')
|
|
glasses.name = 'glasses'
|
|
glasses.type = 'rayban'
|
|
glasses.size = 'face'
|
|
device.glasses = glasses
|
|
|
|
glasses.setTextScale(.5)
|
|
glasses.setSize(100, 40)
|
|
|
|
kernel.hook({ 'glasses_click', 'glasses_up', 'glasses_drag' }, function(event, eventData)
|
|
local sx, sy = 6, 9
|
|
local scale = glasses.getTextScale()
|
|
local ox, oy = math.ceil(scale*sx), math.ceil(scale*sy)
|
|
|
|
local lookup = {
|
|
glasses_click = 'monitor_touch',
|
|
glasses_up = 'monitor_up',
|
|
glasses_drag = 'monitor_drag',
|
|
}
|
|
local x, y = math.floor(eventData[2]/ox) + 1, math.floor(eventData[3]/oy) + 1
|
|
os.queueEvent(lookup[event], 'glasses', x, y)
|
|
|
|
glasses.setCursorPos(x, y)
|
|
glasses.write('X ' .. eventData[3])
|
|
end)
|