Thread overview |
---|
December 16, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Hi guys, I know some of you have worked enough with Linux, so I decided to ask you. I want event handler for keyboard and mouse in console mode (at least the notification that mouse move or key pressed/released). Is it possible? If so, how can I do that? I know I can poll devices for data, but this doesn't suit me (at least in case of mouse, because I should redraw graphical cursor for it). Desperately looking forward for an answer, Nic Tiger. |
December 16, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nic Tiger | Check out the sources to linux Microemacs (on the web site). You get the events by enabling raw mode, and then reading escape sequences. I never did bother to get the mouse events, but it's the same idea. See tcap.c and termio.c. "Nic Tiger" <nictiger@progtech.ru> wrote in message news:atlfig$29bs$1@digitaldaemon.com... > Hi guys, > I know some of you have worked enough with Linux, so I decided to ask you. > > I want event handler for keyboard and mouse in console mode (at least the notification that mouse move or key pressed/released). > > Is it possible? If so, how can I do that? > > I know I can poll devices for data, but this doesn't suit me (at least in case of mouse, because I should redraw graphical cursor for it). > > Desperately looking forward for an answer, > Nic Tiger. > > |
December 17, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | Thanks for the point, but MicroEmacs uses the same way I already investigated in svgalib sources. MicroEmacs relies on internal system keyboard buffer and really polls it whenever it wants key. There is no interrupt or event that it gets when key is pressed/released or mouse moved. The reading keyboard and mouse in raw mode is helpful, but I really need event (interrupt) at the time when I should read them. The problem remains, the help is appreciated. Sincerely yours, Nic Tiger. "Walter" <walter@digitalmars.com> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:atlkel$2d7b$1@digitaldaemon.com... > Check out the sources to linux Microemacs (on the web site). You get the events by enabling raw mode, and then reading escape sequences. I never did > bother to get the mouse events, but it's the same idea. See tcap.c and termio.c. > > > "Nic Tiger" <nictiger@progtech.ru> wrote in message news:atlfig$29bs$1@digitaldaemon.com... > > Hi guys, > > I know some of you have worked enough with Linux, so I decided to ask you. > > > > I want event handler for keyboard and mouse in console mode (at least the > > notification that mouse move or key pressed/released). > > > > Is it possible? If so, how can I do that? > > > > I know I can poll devices for data, but this doesn't suit me (at least in > > case of mouse, because I should redraw graphical cursor for it). > > > > Desperately looking forward for an answer, > > Nic Tiger. > > > > > > |
December 17, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nic Tiger | Now I enlarge the field of investigations. In case if I can't do my task in console, I decided to look into X also. Is there something like DirectX in XWindow? The things I exactly want are: 1) Exclusive full screen mode. Full access to primary surface (video frame buffer) without restrictions on lock/unlock times. I mean that I should be able to lock surface on the start and unlock it in the end. If task switch occurs, I can unlock/lock it again. 2) Access to keyboard and mouse raw data with event notification. May be it can be done with primary thread receiving mouse/keyboard events from X, or in DirectInput manner, doesn't matter. Looking forward for your help, Nic Tiger. "Nic Tiger" <nictiger@progtech.ru> said: news:atlfig$29bs$1@digitaldaemon.com... > Hi guys, > I know some of you have worked enough with Linux, so I decided to ask you. > > I want event handler for keyboard and mouse in console mode (at least the notification that mouse move or key pressed/released). > > Is it possible? If so, how can I do that? > > I know I can poll devices for data, but this doesn't suit me (at least in case of mouse, because I should redraw graphical cursor for it). > > Desperately looking forward for an answer, > Nic Tiger. > > |
December 17, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nic Tiger | Nic Tiger a écrit: > Hi guys, > I know some of you have worked enough with Linux, so I decided to ask you. > > I want event handler for keyboard and mouse in console mode (at least the > notification that mouse move or key pressed/released). > > Is it possible? If so, how can I do that? > > I know I can poll devices for data, but this doesn't suit me (at least in > case of mouse, because I should redraw graphical cursor for it). > > Desperately looking forward for an answer, > Nic Tiger. > > Allegro or AllegroGL see http://www.talula.demon.co.uk/allegro/ multi platform: DOS (Vesa), Linux (X or Frame Buffer), ... don't know, don't use just read the spec. in my dream i'm porting it on DOSX .. roland |
December 17, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nic Tiger | Excuse me for talking to myself, but I think I found the way to implement the things (events) I want. But I really want to know if they are performance optimal. Is it right solution, if I create the second thread which will poll keyboard and mouse devices every 5 ms (estimated)? Is there undesired overhead when doing this under Linux? Or it is the usual technique? Your qualified option is greatly appreciated. Nic Tiger. "Nic Tiger" <nictiger@progtech.ru> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:atlfig$29bs$1@digitaldaemon.com... > Hi guys, > I know some of you have worked enough with Linux, so I decided to ask you. > > I want event handler for keyboard and mouse in console mode (at least the notification that mouse move or key pressed/released). > > Is it possible? If so, how can I do that? > > I know I can poll devices for data, but this doesn't suit me (at least in case of mouse, because I should redraw graphical cursor for it). > > Desperately looking forward for an answer, > Nic Tiger. > > |
December 17, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nic Tiger | Well I don't really know linux but I gues it's almost the same as FreeBSD, use the ioctl's to get raw-keyboard input and you should be able to read in blocking mode from the keyboard-input-file-descriptor in blocking mode (see 'termios' for more info) for the mouse, if I recall correctly, you just open the device with open and start reading event's in blocking mode. I possible do not poll on key/mouse events but put both 'readers' in seperated threads and use a some eventsystem to process them.
Nic Tiger wrote:
> Excuse me for talking to myself, but I think I found the way to implement
> the things (events) I want.
>
> But I really want to know if they are performance optimal.
> Is it right solution, if I create the second thread which will poll keyboard
> and mouse devices every 5 ms (estimated)? Is there undesired overhead when
> doing this under Linux? Or it is the usual technique?
>
> Your qualified option is greatly appreciated.
> Nic Tiger.
>
> "Nic Tiger" <nictiger@progtech.ru> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ:
> news:atlfig$29bs$1@digitaldaemon.com...
>
>>Hi guys,
>>I know some of you have worked enough with Linux, so I decided to ask you.
>>
>>I want event handler for keyboard and mouse in console mode (at least the
>>notification that mouse move or key pressed/released).
>>
>>Is it possible? If so, how can I do that?
>>
>>I know I can poll devices for data, but this doesn't suit me (at least in
>>case of mouse, because I should redraw graphical cursor for it).
>>
>>Desperately looking forward for an answer,
>>Nic Tiger.
>>
>>
>
>
>
|
December 18, 2002 Re: Kbd and mouse events handling in Linux | ||||
---|---|---|---|---|
| ||||
Posted in reply to user | Thanks. This is what I was hoping to hear. Nic Tiger. <user@domain.invalid> ???????/???????? ? ???????? ?????????: news:ato0pr$15ad$1@digitaldaemon.com... > Well I don't really know linux but I gues it's almost the same as FreeBSD, use the ioctl's to get raw-keyboard input and you should be able to read in blocking mode from the keyboard-input-file-descriptor in blocking mode (see 'termios' for more info) for the mouse, if I recall correctly, you just open the device with open and start reading event's in blocking mode. I possible do not poll on key/mouse events but put both 'readers' in seperated threads and use a some eventsystem to process them. > > > Nic Tiger wrote: > > Excuse me for talking to myself, but I think I found the way to implement > > the things (events) I want. > > > > But I really want to know if they are performance optimal. > > Is it right solution, if I create the second thread which will poll keyboard > > and mouse devices every 5 ms (estimated)? Is there undesired overhead when > > doing this under Linux? Or it is the usual technique? > > > > Your qualified option is greatly appreciated. > > Nic Tiger. > > > > "Nic Tiger" <nictiger@progtech.ru> ???????/???????? ? ???????? ?????????: > > news:atlfig$29bs$1@digitaldaemon.com... > > > >>Hi guys, > >>I know some of you have worked enough with Linux, so I decided to ask you. > >> > >>I want event handler for keyboard and mouse in console mode (at least the > >>notification that mouse move or key pressed/released). > >> > >>Is it possible? If so, how can I do that? > >> > >>I know I can poll devices for data, but this doesn't suit me (at least in > >>case of mouse, because I should redraw graphical cursor for it). > >> > >>Desperately looking forward for an answer, > >>Nic Tiger. > >> > >> > > > > > > > |
Copyright © 1999-2021 by the D Language Foundation