Page 1 of 1

Keyboard/Mouse user inputs

PostPosted: Mon Nov 16, 2009 5:45 am
by rskenderian
I've programmed in AutoLisp, where obtaining exact information about the end-user's mouse movements/clicks and keyboard entries was easily accomplished.

I've just begun studying Common Lisp with LispBox (Allegro, Emacs, Slime), and I'm not finding any corresponding user input collection means.

Does CL or any implementations or Scheme, etc., have user input data collection capability?

Thanks,

Re: Keyboard/Mouse user inputs

PostPosted: Mon Nov 16, 2009 11:07 am
by methusala
First take a look at the gui libraries mentioned in the libs post. After that there is:

http://www.franz.com/products/allegrocl ... ools.lhtml

http://www.lispworks.com/

http://www.ahklisp.com/

http://docs.plt-scheme.org/gui/index.html

http://clojure.org/ -which can use java gui libraries

using cffi and and direct calls to your operating system

Here's another question for the forum-anyone have suggestions on how to do general event driven programming in lisp, such as using interruptions?

Re: Keyboard/Mouse user inputs

PostPosted: Mon Nov 16, 2009 11:11 am
by Ramarren
rskenderian wrote:Does CL or any implementations or Scheme, etc., have user input data collection capability?


Common Lisp and Scheme are general purpose languages, not for scripting any particular program, therefore talking about "user input data collection capability" is not meaningful on language level. They have the same capability like any other general purpose language, that is they can talk to the operating system, which might provide them. This is usually accomplished through some user interface toolkit or talking directly to window manager.

You might want to use, for example, lispbuilder-sdl, which offers fairly low level graphical/event layer portable across OSes through binding to SDL.

Re: Keyboard/Mouse user inputs

PostPosted: Mon Nov 16, 2009 11:15 am
by Ramarren
methusala wrote:Here's another question for the forum-anyone have suggestions on how to do general event driven programming in lisp, such as using interruptions?


Could you elaborate? If by "interruptions" you mean "interrupts", aren't they a low-level construct which you would normally only use for embedded devices? Without them I suppose you would do event-driven programming like in most other languages, by creating a main loop and dispatching it on events.

Re: Keyboard/Mouse user inputs

PostPosted: Mon Nov 16, 2009 4:37 pm
by rskenderian
Thanks for the library suggestions; I'm new to programming at large, so your suggestions taught me a lot about how languages work.

Lispbuilder-SDL seems good for me. There's also a newbie package http://www.weitz.de/starter-pack/ which incorporates it and is built on LispWorks - which is looking easier and better than the LispBox package.

Also, thanks for the term "event-driven programming", which is my main interest, and which lispbuilder-sdl should get me started on.