lispgames / glop

Direct FFI bindings for OpenGL window and context management
MIT License
67 stars 14 forks source link

Key some releases are dropped resulting in stuck keys #19

Open xAnnihilationx opened 9 years ago

xAnnihilationx commented 9 years ago

In xlip.lisp -> process-event your logic: (when (and (x-pending-p dpy) (%x-events-queued dpy 1)) ;; 1 is QueuedAfterReading (with-foreign-object (next-evt 'x-event) (%x-peek-event dpy next-evt) (when (and (eq :key-press (foreign-enum-keyword 'x-event-name (foreign-slot-value next-evt 'x-key-event 'type) :errorp nil)) (eq win (foreign-slot-value next-evt 'x-key-event 'win)) (eq time (foreign-slot-value next-evt 'x-key-event 'time))) (return-from process-event)))) will drop a valid key release and leave it as pressed resulting in a stuck key. commting this out fixed the issue.

patzy commented 9 years ago

Can you make a pull request for the change ?