Thread (4 messages) 4 messages, 2 authors, 2008-05-19

Re: uinput problem

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2008-05-19 15:58:20

Hi Tobias,

On Fri, May 16, 2008 at 06:20:17PM +0200, Tobias M??ller wrote:
Hello everybody,

I'm trying to write a small userspace program to receive keys via rs232 and sent the corresponding key events.

Everything seems to work fine, except when I'm sending something like Aa oder aA where die keycode is the same. Then only AA or aa is recognized. I did't set the EV_REP bit because i don't need any auto-repeat features.

I'm sending the events via the following function.

void SysKeypress(int fd, int code, int down) {
	struct input_event ev;
	memset (&ev, 0, sizeof(ev));
	ev.type=EV_KEY; ev.code=code; ev.value=down;
	write (fd, &ev, sizeof(ev));
}

and if I hardcode an

	SysKeypress (uinput_fd, KEY_LEFTSHIFT, 1);
	SysKeypress (uinput_fd, KEY_1, 1);
	SysKeypress (uinput_fd, KEY_1, 0);
	SysKeypress (uinput_fd, KEY_LEFTSHIFT, 0);

	SysKeypress (uinput_fd, KEY_1, 1);
	SysKeypress (uinput_fd, KEY_1, 0);

it only receices an !! and if I change the blocks an 11.

I read the documentfile about input drivers, but i didn't find anything special about uinput.
Are you working in the console or in X? What keyboard driver are you
using? You may want to send EV_SYN/SYN_REPORT calls in between
keypress events since consumers might rely on them.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help