Usando pyHook para obter coordenadas do mouse para reproduzir mais tarde

Eu estou escrevendo um pedaço de código para obter informações de clique do mouse usando pyHook e, em seguida, o win32api para obter acesso a uma função de clique. Essencialmente, estou tentando usar o mouse para gravar um padrão de cliques a serem gravados e reproduzidos posteriormente.

Aqui está o meu código atual:

import win32api, win32con, time, win32ui, pyHook, pythoncom

#Define the clicks in the win32api
def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

def onclick(event):
    click()
    print event.Position
    return True

hm = pyHook.HookManager()
hm.SubscribeMouseAllButtonsDown(click)
hm.HookMouse()
pythoncom.PumpMessages()
hm.UnhookMouse()

Tenho certeza de que há algo estupidamente simples.

Também aqui está a depuração que obtive ao executar isto:

Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pyHook\HookManager.py", line 325, in MouseSwitch
return func(event)
TypeError: click() takes exactly 2 arguments (1 given)

questionAnswers(3)

yourAnswerToTheQuestion