summaryrefslogtreecommitdiffstats
path: root/x11vnc/remote.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/remote.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/remote.c')
-rw-r--r--x11vnc/remote.c38
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:")