summaryrefslogtreecommitdiffstats
path: root/input
diff options
context:
space:
mode:
Diffstat (limited to 'input')
-rw-r--r--input/server.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/input/server.c b/input/server.c
index c8e171f1..394fada3 100644
--- a/input/server.c
+++ b/input/server.c
@@ -171,6 +171,12 @@ static gboolean connect_event(GIOChannel *chan, GIOCondition cond, gpointer data
debug("Incoming connection on PSM %d", psm);
if (input_device_set_channel(&src, &dst, psm, nsk) < 0) {
+ /* Send unplug virtual cable to unknown devices */
+ if (psm == L2CAP_PSM_HIDP_CTRL) {
+ int err;
+ unsigned char unplug = 0x15;
+ err = write(nsk, &unplug, sizeof(unplug));
+ }
close(nsk);
return TRUE;
}