diff options
author | runge <runge> | 2006-07-09 01:48:31 +0000 |
---|---|---|
committer | runge <runge> | 2006-07-09 01:48:31 +0000 |
commit | 079528470d8a1dfeab321ebdc2ab6c42943ed296 (patch) | |
tree | aaa83a4d318c1c72a7698c3b8a6b5318397688d3 /x11vnc/keyboard.c | |
parent | 8cda60969b6d2df88e0f4fc0fd267dc26adb3872 (diff) | |
download | libtdevnc-079528470d8a1dfeab321ebdc2ab6c42943ed296.tar.gz libtdevnc-079528470d8a1dfeab321ebdc2ab6c42943ed296.zip |
x11vnc: add uinput support for full input into linux fb device (e.g. qt-embed).
Diffstat (limited to 'x11vnc/keyboard.c')
-rw-r--r-- | x11vnc/keyboard.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/x11vnc/keyboard.c b/x11vnc/keyboard.c index b4ebdf7..eb51d6d 100644 --- a/x11vnc/keyboard.c +++ b/x11vnc/keyboard.c @@ -2461,6 +2461,7 @@ void get_allowed_input(rfbClientPtr client, allowed_input_t *input) { str = "KMBC"; } } +if (0) fprintf(stderr, "GAI: %s - %s\n", str, cd->input); while (*str) { if (*str == 'K') { @@ -2485,9 +2486,10 @@ static void pipe_keyboard(rfbBool down, rfbKeySym keysym, rfbClientPtr client) { if (pipeinput_int == PIPEINPUT_VID) { v4l_key_command(down, keysym, client); - } - if (pipeinput_int == PIPEINPUT_CONS) { + } else if (pipeinput_int == PIPEINPUT_CONS) { console_key_command(down, keysym, client); + } else if (pipeinput_int == PIPEINPUT_UINPUT) { + uinput_key_command(down, keysym, client); } if (pipeinput_fh == NULL) { return; @@ -2495,7 +2497,7 @@ static void pipe_keyboard(rfbBool down, rfbKeySym keysym, rfbClientPtr client) { if (! view_only) { get_allowed_input(client, &input); - if (input.motion || input.button) { + if (input.keystroke) { can_input = 1; /* XXX distinguish later */ } } |