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/remote.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/remote.c')
-rw-r--r-- | x11vnc/remote.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/x11vnc/remote.c b/x11vnc/remote.c index 78148fd..9666796 100644 --- a/x11vnc/remote.c +++ b/x11vnc/remote.c @@ -24,6 +24,7 @@ #include "keyboard.h" #include "selection.h" #include "unixpw.h" +#include "uinput.h" int send_remote_cmd(char *cmd, int query, int wait); int do_remote_query(char *remote_cmd, char *query_cmd, int remote_sync, @@ -3029,6 +3030,21 @@ char *process_remote_cmd(char *cmd, int stringonly) { rfbLog("remote_cmd: setting input_skip %d\n", is); ui_skip = is; + } else if (!strcmp(p, "allinput")) { + if (query) { + snprintf(buf, bufn, "ans=%s:%d", p, all_input); + goto qry; + } + all_input = 1; + rfbLog("enabled allinput\n"); + } else if (!strcmp(p, "noallinput")) { + if (query) { + snprintf(buf, bufn, "ans=%s:%d", p, !all_input); + goto qry; + } + all_input = 0; + rfbLog("disabled allinput\n"); + } else if (strstr(p, "input") == p) { int doit = 1; COLON_CHECK("input:") @@ -3436,6 +3452,28 @@ char *process_remote_cmd(char *cmd, int stringonly) { do_new_fb(1); raw_fb_back_to_X = 0; + } else if (strstr(p, "uinput_accel") == p) { + COLON_CHECK("uinput_accel:") + if (query) { + snprintf(buf, bufn, "ans=%s%s%s", p, co, + NONUL(get_uinput_accel())); + goto qry; + } + p += strlen("uinput_accel:"); + rfbLog("set_uinput_accel: %s\n", p); + set_uinput_accel(p); + + } else if (strstr(p, "uinput_reset") == p) { + COLON_CHECK("uinput_reset:") + p += strlen("uinput_reset:"); + if (query) { + snprintf(buf, bufn, "ans=%s%s%d", p, co, + get_uinput_reset()); + goto qry; + } + rfbLog("set_uinput_reset: %s\n", p); + set_uinput_reset(atoi(p)); + } else if (strstr(p, "progressive") == p) { int f; COLON_CHECK("progressive:") |