Hi, Finally found the time to put the wctablet code into shape. Here comes the patch series.
Patch #1 is the submission by Anatoli, almost unmodified. I've only adapted it to the recent chardev changes in the qemu code base so it actually builds and works on current qemu. The following patches improve the code base: * various cleanups (codestyle, delete unused stuff). * use accept_input insted of a timer. * use new input interface to register the driver. * rewrite command detection. * added some helper functions. * added trace events. Functional changes: * handle line speed changes. * implement ST and SP commands. See individual commit messages for more details. Current state: * wacom test application works. * windows 3.11 driver works. * linux guest fails (inputattach --wacom_iv). Probably due to '~C' not being implemented, that is the last command sent by linux before it throws an error. * left button acts somewhat strange. One host side mouse click seems to toggle the button state inside the guest (windows 3.11). Not sure whenever that is a bug in the emulation or something the guest driver is doing ... cheers, Gerd Anatoli Huseu1 (1): Add wctablet device Gerd Hoffmann (16): wctablet: add wctablet_queue_output helper wctablet: save all chars in the query buffer wctablet: drop wctablet_commands_names wctablet: strip leading \r + \n from buffer wctablet: track line speed, reset on speed changes wctablet: operate on line speed 9600 wctablet: drop debug code from wctablet_handler wctablet: add wctablet_shift_input wctablet: move init/detect sequence wctablet: revamp command parser. wctablet: drop timer, hook into chr->accept_input instead wctablet: drop DPRINTF, add trace events instead wctablet: misc cleanups wctablet: switch to new input interface wctablet: update file comment wctablet: implement ST and SP commands Makefile.objs | 1 + backends/Makefile.objs | 2 +- backends/trace-events | 10 ++ backends/wctablet.c | 364 +++++++++++++++++++++++++++++++++++++++++++++++ docs/qdev-device-use.txt | 2 +- qapi-schema.json | 1 + qemu-char.c | 1 + 7 files changed, 379 insertions(+), 2 deletions(-) create mode 100644 backends/trace-events create mode 100644 backends/wctablet.c -- 1.8.3.1