summaryrefslogtreecommitdiffstats
path: root/x11vnc/keyboard.c
diff options
context:
space:
mode:
authorrunge <runge>2006-07-09 01:48:31 +0000
committerrunge <runge>2006-07-09 01:48:31 +0000
commit079528470d8a1dfeab321ebdc2ab6c42943ed296 (patch)
treeaaa83a4d318c1c72a7698c3b8a6b5318397688d3 /x11vnc/keyboard.c
parent8cda60969b6d2df88e0f4fc0fd267dc26adb3872 (diff)
downloadlibtdevnc-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.c8
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 */
}
}