After some tinkering, it seems I wasn't far off. Here's the way to do this if anyone was dealing with something similar.
event.listen("touch", mark)
function mark(_, _, x, y)
gpu.set(x, y, "X")
end
Mod Edit: When using event.listen() the function you call in the 2nd parameter gets passes the data as arguments to it. Specifically, touch has the following arguments event: string, screenAddress: string, x: number, y: number, button: number, playerName: string. You can find more info on the screen's touch signal here http://ocdoc.cil.li/component:signals#screen