Calcomp Drawing Board Driver

Calcomp Drawing Board Driver 5,0/5 8072votes
Calcomp Drawing Board Driver

CalComp driver. CalComp Input Device Drivers. () This site maintains listings of mouse, keyboard, and other input device drivers available on the web, organized by company. Includes links to useful resources.

Howdy folks: I am having difficulty configuring Kubuntu 8.10 to recognize my Calcomp DrawingBoard III digitizing board as an XInput device and I need some help. I am using the Linux calcomp driver written for this hardware (package xserver-xorg-input-calcomp) and presumably the version compiled for the latest kernel: I installed it from konsole with sudo apt-get install xserver-xorg-input-calcomp Before getting into too many details, I have thusfar traced the issue to a timeout error during loading of the driver that appears in /var/log/Xorg.0.log: Snipped from /var/log/Xorg.0.log:... (II) Calcomp SetupProc called (**) Option 'Device' '/dev/ttyS0' (II) CALCOMP driver: Serial device opened (**) Option 'MinX' '00000' (**) Option 'MaxX' '36000' (**) Option 'MinY' '00000' (**) Option 'MaxY' '24000' (II) options read MaxX=36000, MaxY=24000 (WW) Timeout while reading Calcomp tablet. No tablet connected (EE) Unable to query/initialize CALCOMP hardware. (EE) Calcomp setup failed, unloading tablet driver (II) UnloadModule: 'calcomp' (EE) PreInit returned NULL for 'DrawingBoard'... UPDATE: Since posting this query, I've made progress on documenting the problem: Upon starting X, when the calcomp driver loads, it initializes bits in the digitizing board's two internal hardware configuration banks, but when it does so, it sets an invalid parity option.

Calcomp Drawing Board Driver

As discussed below (see also Detail #4 later), there are three hardware configuration bits that define the parity options in the board's internal configuration 'Bank B', keys (or bits) 4,5,6: Parity Option: None 100 Mark 011 Even 010 Odd 000 When the calcomp driver loads up, it sets the Bank B, bits 4,5,6 to 111. According to Page 14 of the Calcomp DrawingBoard III help manual (), this is not a valid parity option. Is the calcomp driver broken?

I've searched online for more than a week to find a solution. My only find was a deadthread with no reported solution: Here are some relevant details: Detail #1) xorg.conf: As noted in the Kubuntu Forum Announcement 'Review the Register' (), /etc/X11/xorg.conf was eliminated in the latest version of X.org. I created an xorg.conf from scratch and, as indicated in /var/log/Xorg.0.log, it was recognized and read-in when I restarted X. Howdy again, folks: Having not heard a peep from anyone in three weeks, I have continued on my own floundering adventure to progess on this issue, albeit slowly. I might have the problem almost licked, but I think I still would benefit from guidance with the next steps for successfully setting the DrawingBoard III to the active pointing device.

What I need help with will be clear at the end of this report. ---------------------------------------------- Here are the latest details, successes and failures: 1) I temporarily moved the digitizing board to an identical PC running Kubuntu 8.04 and confirmed that the timeout issue is the same. I also had serendipitously over time installed a bunch of libraries that are needed for compiling the calcomp driver from scratch in Kubuntu 8.04. These libraries are not currently on my Kubuntu 8.10 test machine.I started putting them there and got stuck on 'xorg-server' (apt-get couldn't find the package). 2) I downloaded and and unpacked them separately. I was having trouble setting up xorg-server libraries needed to compile version Dewalt Manual Dw733 more. 1.1.2, but I was able to compile version 1.1.0 after transferring a bug fix (see ) in version 1.1.2 to the 1.1.0 version of xf86Calcomp.c. 3) Not only am I not a LINUX expert, I don't know how to program in C, either (.I'm mostly an end-user without funds to pay a professional programmer for help).so I took my best guess that the main issue truly was a timeout problem and I searched through xf86Calcomp.c for something interesting to mangle.

On line 787 of xf86-input-calcomp/src/xf86Calcomp.c is int retries = 5; which I changed to int retries = 100; I successfully recompiled and copied xf86-input-calcomp/src/.libs/calcomp_drv.so to /usr/lib/xorg/modules/input/calcomp_drv.so 4) I restarted X with new and wonderful results: a) Now, /var/log/Xorg.0.log reports some good news: ---- snip-snip --------------,.. (II) Calcomp SetupProc called (**) Option 'Device' '/dev/ttyS0' (II) CALCOMP driver: Serial device opened (**) Option 'MinX' '00000' (**) Option 'MaxX' '36000' (**) Option 'MinY' '00000' (**) Option 'MaxY' '24000' (II) options read MaxX=36000, MaxY=24000 (II) Calcomp firmware ID: 70130C 09/6-3 (II) Product ID: CalComp 3300 (II) Tablet size: 36000 x 7616 (II) Calcomp tablet queried OK (**) Option 'DeviceName' 'TABLET' (**) Calcomp device name is TABLET (II) Calcomp base setup finished... (II) evaluating device (TABLET) (II) XINPUT: Adding extended input device 'TABLET' (type: TABLET) ------------------------------- 5) More news (good and bad): 'xinput --list TABLET' gives 'TABLET' id=3 [XExtensionPointer] Num_buttons is 1 Num_axes is 3 Mode is Absolute Motion_buffer is 0 Axis 0: Min_value is 0 Max_value is 36000 Resolution is 39400 Axis 1: Min_value is 0 Max_value is 7616 Resolution is 39400 Axis 2: Min_value is 0 Max_value is 32 Resolution is 32 ---------------------------------- The good news is that xinput seems to at least see the device. The bad news is that some of the attributes are wrong (for example, on Axis 1, the Max_value should be 24000, not 7616 and the Num_buttons should probably be 16 for the 16-button puck, not 1.

I'm hopeful that these discrepancies can be easily corrected. 6) Bad news: 'xinput set-pointer TABLET' fails: X Error of failed request: BadDevice, invalid or uninitialized input device Major opcode of failed request: 146 (XInputExtension) Minor opcode of failed request: 12 (X_ChangePointerDevice) Serial number of failed request: 12 Current serial number in output stream: 12 --------------------------------------------------------------- OK. I'll continue to hammer at this, but I'm on the XInput and xorg.conf learning curve and I'd be grateful for any advice that might expedite my progress so that I don't spend another three weeks just trying to get to the point where I can start using the hardware. What I need help with is 1) Overcoming the 'X Error' reported in item (6) so that I can successfully use 'xinput set-pointer TABLET'.

2) Configuring the correct hardware attributes (probably via some combination of xorg.conf, xinput, and manual keys on the DrawingBoard III hardware configuration banks) Thanks for your ear, Paul H. Howdy yet again, It seems from the output of ' xinput list TABLET' (see my previous reply to this thread) that the driver is reading or manipulating some bits from the device OK, but not others. I was able to 'hardwire' the driver to report a) that there are 16 buttons on the mouse (not 1 button) b) that the AXIS 1 maximum dimension on the digitizing board is 24000 (not 7616) c) that the board resolution is 1000 lpi (not 39400) in both AXIS 0 and AXIS 1 Unfortunately, these configuration data should not have to be hardwired into the driver. The driver really should be fixed by a proper programmer to determine and correctly report these from initilization data read from and/or written to the digitizing hardware itself and xorg.conf input options. Additional Details: DETAIL 1) NUMBER OF BUTTONS reported: Since the number of buttons is NOT a driver option (like for the 'mouse' driver), I didn't see an obvious way to set them [myself] except to continue to mangle the calcomp driver. More success. 1) In spite of my only being an old FORTRAN user and not knowing C language, I managed to figure out the correct change in xf86Calcomp.c to fix the erroneously computed max_y values in Axis 1 (see 'Detail 3' of my previous self-reply) -- that is, a fix that doesn't require hardwiring the max_y limit to 24000 for my hardware: Instead of the 'hardwire' change to xf86Calcomp.c from the aforementioned 'Detail 3', change line 608 from priv->max_y = (int)buffer[5] + ((int)buffer[4] max_y = (int)buffer[5] + ((int)buffer[4].

Howdy: OK.I've moved back to Kubuntu 8.10 and I succeeded at compiling and installing my hacked version of the source code (xf86Calcomp.c) from I'll attach my source file (xf86Calcomp.c.txt) below. I needed to install some libraries to get./configure to work (notably, pkg-config, x11proto-input-dev, xserver-xorg-dev).

As previously noted, 'xinput set-pointer TABLET' still fails, but the following works fine: xsetpointer +c TABLET xinput set-button-map 'TABLET' 1 2 4 3 5 6 7 8 9 10 11 12 13 14 15 16 I've done some simple testing with GIMP and ENGAUGE. I'm hoping it will be fine for GRASS and QGIS. About the only thing I need to figure out now is how to get 'button [1]' to click-and-drag the way the 3-button mouse does. It isn't a big deal, though, because the 3-button mouse is working at the same time.

---- I filed a bug report (Bug 20871) on. Since this driver is currently unmaintained, I'm not sure we'll see any action soon. Hopefully, my thread here on the Kubuntu forum will be a useful alternative for any of you who want to use your Calcomp DrawingBoard II or III as an XInput device. For anyone interested in cleaning this driver up, it really should have an input option (i.e. Via xorg.conf or the corresponding HAL fdi file) to specify the number of buttons on the puck (if 'Puck' is selected as an option for the 'Cursor' input option). At some point I'll put together an fdi file to bypass the presumably obsolete xorg.conf way of doing things. Cheers and good luck!

Paul Helfenstein. De Administrando Imperio Pdf more.