Package of the day - xorg-input-wizardpen

Spotted a user request for Wizardpen in Launchpad on the packman mailing list, since the packman resources are limited, package requests that can be built on the openSUSE Build Service (not GPL or proprietary) should be requested on openFate or via the forums.

This package is a X11 driver for most non-Wacom graphics pads;
Supported tablets:
Acecad Flair II GT-504, DigiPro 5.5×4” Graphics Tablet,
Digital Ink Pad (A4 format), G-pen, Genius Wizardpen, Genius Mousepen,
Genius Easypen i405, Genius, iBall, Manhattan, Pentagram, QWare,
Trust TB-3100, Trust TB-5300, Trust TB-6300, UC-LOGIC, iBall Tablet
PF8060, AIPTEK HyperPen 10000 U, AIPTEK Slim Tablet U600 Premium II

Downloaded the latest source and built without any issues until it arrived at the rpm post build checks and stopped with;


I: Program is using implicit definitions of functions getting
   pointers or implemented by macros. These functions need to use their
   correct prototypes to allow correct argument passing on e.g. x86_64 .
     - Implicit memory/string functions need #include <string.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *read* functions need #include <unistd.h>.
     - Implicit *recv* functions need #include <sys/socket.h>.
W: xorg-input-wizardpen implicit-pointer-decl calibrate/wizardpen-calibrate.c:61

I: Program is using implicit definitions of special functions.
   these functions need to use their correct prototypes to allow
   the lightweight buffer overflow checking to work.
     - Implicit memory/string functions need #include <string.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *printf functions need #include <stdio.h>.
     - Implicit *read* functions need #include <unistd.h>.
     - Implicit *recv* functions need #include <sys/socket.h>.
E: xorg-input-wizardpen implicit-fortify-decl calibrate/wizardpen-calibrate.c:74

In this case the build checks tells me whats needed and where, so after reporting the bug upstream at Bug #787083 “Buiding on openSUSE Build Service, implicit decl er...” : Bugs : Wizardpen and providing my patch;


--- calibrate/wizardpen-calibrate.c 2010-05-01 17:23:22.000000000 -0500
+++ calibrate/wizardpen-calibrate.c.orig    2011-05-23 10:54:47.000000000 -0500
@@ -26,6 +26,9 @@
 #include <stdlib.h>
 #include <fcntl.h>
 #include <linux/input.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
  
 /* max number of input events to read in one read call */
 #define MAX_EVENTS 64

The build completed aside from a warning about the man page, the man page is wizardpen, however the binary is named wizardpen-calibrate…

So if you have one of the above devices I have the rpm’s sitting in my home playground repository here;
software.opensuse.org: Search Results

Feedback (as I can’t test) would be appreciated, then can look at pushing to one of the X11 repositories.

I wanted to say thankyou for this, I think it should help a lot of people.

My wife has a “digital note recorder” that has never worked under any GNU/Linux distribution (probably because it is some obscure ‘made in China’ brand that no one has ever heard of. When the USB cable is plugged in to her ‘tablet’/‘digital note recorder’ it has always been recognized as a USB storage device only.

This xorg-input-wizard does not ‘by default’ work with her ‘digital note recorder’, but I am suspicious it might work with the right configuration.

I installed xorg-input-wizard on her 64-bit openSUSE-11.3 KDE-4.4.4 computer. I plugged in the USB cable and for the 1st time that I recall her digital note recorder was identified in the /var/log/Xorg.0.log file (although my wife claims an earlier openSUSE version recognized the pen as a mouse - but I dispute that). However there is NO other indication (other than log messages) that the recorder is configured, and the pressing the pen on the recorders ‘tablet’ forces the mouse in the upper left corner where it remains (unless moved away by the mouse). The /var/log/Xorg.0.log has this input: SUSE Paste

I tried hacking at the files in /etc/X11/xorg.conf.d/ … following this example (for wacom): Wacom Intous3 tablet installed in OpenSUSE 11.3, the easy way and I ended up with a black screen (after the nVidia log flashed by during reboot) but no desktop. I ended up doing a hard reset to recover. The failed /var/log/Xorg.0.log file looked like this: SUSE Paste

I suspect I should write a bug report to see if I can get this to work and then have this Digtal Note Recorder (of my wife’s) supported and added to their list. Her lsusb:


ID 5543:6003 UC-Logic Technology Corporation

Its really good to see this project trying to support non wacom tablets/digital recording devices. (My wife is quick to point out that this device works in winXP and windows7, so I assume it uses some sort of ‘semi-standard’ interface).

Hi
This might be worth a read;
https://bugs.launchpad.net/wizardpen/+bug/576610

Thanks, going to take a closer look at this soon. Got wizardpen.
Was wondering if it’s possible to set pressure sensitivity.

This is a reply to an old blog entry, … but out of curiosity, after updating my wife’s PC to openSUSE-12.2 earlier today, I also installed wizard pen, and tried it (without any configuration efforts) with my wife’s ancient writing pad (a DLA401, identified as noted in my previous input to this blog entry).

The writing pen (when pressed to the writing pad) functions as a mouse left click button. Unfortunately the pen scrolling does not work, and I have not seen any evidence of mouse right click functionality emulated by the pen.

I note this in /var/log/Xorg.0.log


  2047.963] (II) config/udev: Adding input device UC-LOGIC DIGITAL-Organizer (/dev/input/mouse1)
  2047.963] (II) No input driver specified, ignoring this device.
  2047.963] (II) This device may have been added with another device file.
  2047.964] (II) config/udev: Adding input device UC-LOGIC DIGITAL-Organizer (/dev/input/event14)
  2047.964] (**) UC-LOGIC DIGITAL-Organizer: Applying InputClass "evdev tablet catchall"
  2047.964] (**) UC-LOGIC DIGITAL-Organizer: Applying InputClass "evdev tablet catchall"
  2047.964] (II) Using input driver 'evdev' for 'UC-LOGIC DIGITAL-Organizer'
  2047.964] (**) UC-LOGIC DIGITAL-Organizer: always reports core events
  2047.964] (**) evdev: UC-LOGIC DIGITAL-Organizer: Device: "/dev/input/event14"
  2047.964] (--) evdev: UC-LOGIC DIGITAL-Organizer: Vendor 0x5543 Product 0x6003
  2047.964] (--) evdev: UC-LOGIC DIGITAL-Organizer: Found 3 mouse buttons
  2047.964] (--) evdev: UC-LOGIC DIGITAL-Organizer: Found absolute axes
  2047.964] (--) evdev: UC-LOGIC DIGITAL-Organizer: Found x and y absolute axes
  2047.964] (--) evdev: UC-LOGIC DIGITAL-Organizer: Found absolute tablet.
  2047.964] (II) evdev: UC-LOGIC DIGITAL-Organizer: Configuring as tablet
  2047.964] (**) evdev: UC-LOGIC DIGITAL-Organizer: YAxisMapping: buttons 4 and 5
  2047.964] (**) evdev: UC-LOGIC DIGITAL-Organizer: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
  2047.964] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.1/input/input15/event14"
  2047.964] (II) XINPUT: Adding extended input device "UC-LOGIC DIGITAL-Organizer" (type: TABLET, id 10)
  2047.964] (II) evdev: UC-LOGIC DIGITAL-Organizer: initialized for absolute axes.
  2047.965] (**) UC-LOGIC DIGITAL-Organizer: (accel) keeping acceleration scheme 1
  2047.965] (**) UC-LOGIC DIGITAL-Organizer: (accel) acceleration profile 0

Still, having the entries above is most interesting, and it gives me pause for thought … ie could I configure this to work if I spent some time …