Подсказки из этого SO ответа: Положение мыши Python Tkinter
и просматривая документацию ltk: http://www.peter -herth.de / ltk / ltkdoc / node16.html
Я получил следующий пример для извлечения любого события, вызванного движением мыши:
(ql:quickload "ltk")
(in-package :ltk-user)
(defun motion (event)
(format t "~a~&" event))
(with-ltk ()
(bind *tk* "<Motion>" #'motion))
Это открывает маленькое окно, внутри которого ничего нет. После того, как вы поместите в нее мышь, вы получите много событий:
#S(EVENT
:X 0
:Y 85
:KEYCODE ??
:CHAR ??
:WIDTH ??
:HEIGHT ??
:ROOT-X 700
:ROOT-Y 433
:MOUSE-BUTTON ??)
…
#S
означает, что мы имеем дело со структурой с именем EVENT
, поэтому мы можем получить доступ к ее слотам с помощью (event-x event)
, event-mouse-button
и т. Д. См. https://lispcookbook.github.io/cl-cookbook/data-structures.html#slot-access
Также вы можете присоединиться к сообществу CL на freenode, там есть несколько разработчиков игр.