Jump to content

TabletMagic for TabletPCs


521 posts in this topic

Recommended Posts

With Khashoggi uninstalled, use the PREFERENCE PANE (It's what it wasdesigned for) to select the serial port manually, and tell it not to query the tablet.

 

I'm also having crashes when appraoching the screen with the pen. I've followed the above steps.

With b10, I used to get a 'decent' kernel error screen (you need to restart your computer, blabla), but with b

, a hard crash occurs. Since I tries b8, this behaviour now occurs with all versoins:

- Install it

- Check "don't query"

- Select "serial0"

- Check "Enabled"

- Draw on screen, nothing happens for a while (few seconds) and then BAM: lockup

 

I'm unable to find any logs of these events. (for some reason, /Library/Logs/panic.log does not exist...)

 

By the way, Khashoggi's also does not work for me (Lenovo X60 Tablet, WACF008)

Link to comment
Share on other sites

I'm also having crashes when appraoching the screen with the pen. I've followed the above steps. With b10, I get a 'decent' kernel error screen but with b8, a hard crash occurs. I'll try to get the logs in a minute. By the way, Khashoggi's also does not work for me (Lenovo X60 Tablet, WACF008)

 

No need to provide any logs. Finepoint protocol is simply not understood at this time. It's being interpreted as some other protocol and sending garbage to the event manager as a result, leading to a kernel panic. You'll just need to wait until Finepoint protocol is working. As soon as I have a candidate to try I'll let you know.

Link to comment
Share on other sites

No need to provide any logs. Finepoint protocol is simply not understood at this time. It's being interpreted as some other protocol and sending garbage to the event manager as a result, leading to a kernel panic. You'll just need to wait until Finepoint protocol is working. As soon as I have a candidate to try I'll let you know.

 

Ah, OK. I couldn't make up that connection until now (did not see/know that my device uses that protocol).

I'll wait :)

Link to comment
Share on other sites

Yes, Lenovo X41 and X60 use Wacom digitisers - I think Motion and Gateway are the major OEMs that use Finepoint - although with their latest Tablet PC - (12" widescreen, E-155C / C-120X) Gateway have switched to Wacom. The Compaq TC1000 also used Finepoint. If you google, there's some stuff on the Web about getting Linux to work with Gateway Tablets and the TC1000 - not sure how relevant it might be for people wanting to get Finepoint working with OS X... might offer a few clues about the protocol or at least about comparisons/differences with wacom...

 

My current tablet is a M400, on which Tablet Magic works well - as posted by carpao and others. I also recently had the opportunity to briefly try Tablet Magic on an Acer C302 and a TC1100. On the C302 Tablet Magic worked fine (ironically the keyboard and trackpad did not! - well, maybe under 10.4.8, if you didn't press any key during boot-up you might be lucky...) As regards the TC1100 - as others have mentioned, changing the IONamematch to WACF005 didn't seem to do anything. (M200, M400 and C302 all use the same hardware ID for the digitiser: WACF004).

Link to comment
Share on other sites

Oh, so Finepoint is an other brand of digitizers... Didn't know that :)

 

But indeed, my X60t comes with a Wacom, it even has the Wacom Penabled sticker on it ;)

 

So then my panic should come from something else. What can I do to help? (watch out, n00b here)

Link to comment
Share on other sites

Yes, Lenovo X41 and X60 use Wacom digitisers - I think Motion and Gateway are the major OEMs that use Finepoint - although with their latest Tablet PC - (12" widescreen, E-155C / C-120X) Gateway have switched to Wacom. The Compaq TC1000 also used Finepoint. If you google, there's some stuff on the Web about getting Linux to work with Gateway Tablets and the TC1000 - not sure how relevant it might be for people wanting to get Finepoint working with OS X... might offer a few clues about the protocol or at least about comparisons/differences with wacom...

 

Linux uses fpit to get Finepoint tablets working. I believe the source to that was posted before in this thread.

Link to comment
Share on other sites

  • 3 weeks later...

Tecra M7 here. Khashoggi works using WACF004 plist entry. I proceeded to uninstall Khashoggi by deleting the startup folder and repairing permissions. I then installed TabletMagic, but had limited success. While the pointer responded to the pen's motion, X tracking was off. (Y tracking was fine) For example, while the two aligned at the left side of the screen, as the pen approached the right side the pointer moved farther and farther to the right of the pen tip.

 

I tried changing boundary values to resolve the problem, but after a certain point, changes had no effect. Perhaps the driver does not support my screen resolution. 1440x900. Maybe this is something to work on...if you have time, of course. Sadly, I don't. Maybe I should have installed TabletMagic before Kashoggi. Any tips?

 

Edit:

 

OK, I went into Extras in TabletMagic and changed the "Don't Query" values to 30250 and 18800 after some testing of other values. I toggled and unchecked the checkbox, because I don't know "what" exactly is being queried: the values given or the hardware. I may hone those down further. Does anyone know the real resolution of the WACF004 Wacom TabletPC digitizer?

Link to comment
Share on other sites

Works beautifully on a Toshiba M400, I have a few real Macs but the lure of a tablet was too great!

As a serious question, how much of a donation would make it worth your time to work around the photoshop pressure drop out ( if it's even possible, i'm sorry if i've missed a definitive "no", I've been getting everything else up and running...)

 

thanks for all your efforts

-step

Link to comment
Share on other sites

  • 3 weeks later...

Still looking to help make TabletMagic work with the HP tc1100! I've installed b10, and it now reports the tablet being found as ISD V4.0 (TabletPC). Is this an actual query of the tablet, or just a string put in for Hackintoshes? Then I try to use any of the items on the "Testing" tab, I get no data from the tablet.

 

I have some programming experience in C/C++. How can I help?

Link to comment
Share on other sites

Hey tamstoker, what is your problem? At first I thought my Toshiba M200 didn't work either but once I playing around with the settings I noticed that the mapping was off. Now the only problem that I have noticed is with Photoshop.

Link to comment
Share on other sites

Still looking to help make TabletMagic work with the HP tc1100! I've installed b10, and it now reports the tablet being found as ISD V4.0 (TabletPC). Is this an actual query of the tablet, or just a string put in for Hackintoshes? Then I try to use any of the items on the "Testing" tab, I get no data from the tablet.

 

ISD V4.0 is put in when it doesn't detect any of the other types of tablets, automatically assuming that it's a Tablet PC you're using and putting in the settings for it. As such, it doesn't communicate with the Tablet PC at all when making this decision.

Link to comment
Share on other sites

Still looking to help make TabletMagic work with the HP tc1100! I've installed b10, and it now reports the tablet being found as ISD V4.0 (TabletPC). Is this an actual query of the tablet, or just a string put in for Hackintoshes? Then I try to use any of the items on the "Testing" tab, I get no data from the tablet.

 

I have some programming experience in C/C++. How can I help?

 

Hi, I'm glad you asked! First, if you haven't done so, make sure you can see the digitizer's serial port. Instructions to expose your serial port to Mac OS X are either linked or posted in this thread a few times.

 

Visit the sourceforge project page and have a look through the latest source code - and particularly the daemon file located here which does all the heavy lifting: http://tabletmagic.cvs.sourceforge.net/tab...amp;view=markup

 

You can also download the sourcecode via CVS by following the instructions here: http://sourceforge.net/cvs/?group_id=107096

 

The WacomTablet class in SerialDaemon.h/.cpp has functions that identify tablets and then process data based on the tablet identified.

 

Mess around with these and see if you can get anything to occur. Contact me via private message when you have questions or comments. There is a project called linux-wacom also which I have referenced in the past to understand out how some protocols and tablet identification works. I believe it now supports the TC1000 digitizer. Have a look there and see what it does.

 

I'd do more of this research myself, but summer months have me plotting, planning, and making too many other things to get down with it.

Link to comment
Share on other sites

  • 2 weeks later...

Scott,

 

I've downloaded the source and poked around in the detection code. Never worked with the IOKit, and haven't gotten any indication of picking up data yet.

 

I haven't had any indication that the serial device the wacom plugs through is available to the IOKit. I read in another post (can't remember which) that the tc1100 has a PCI device that the wacom tablet plugs in through. Aparently, it is different than the tc1000. I'll search through what I've found and let you know if I can confirm that the serial port is available.

Link to comment
Share on other sites

  • 1 month later...

Hi guys,

 

I've been reading this thread in great anticipation of getting my tc1100 to work with osx, I'm still waiting to see how the digitizer issue will resolve. I'm no coder, but I believe I've found something that might be of some help (its from http://linuxwacom.sourceforge.net/index.php/howto/tabletpc . Just ignore me if it doesn't help, I'll get the hint):

 

Some HP Tablet PCs require you explicitly run the following program before setserial. This is due to the fact that Wacom Digitizer on HP Tablet PCs are not mapped to any serial port by default.

 

Please compile tc1100ts.c as mentioned below and copy the executable (tc1100ts) to /usr/sbin. Then add the following two lines to the end of your /etc/rc.d/rc.local:

 

/usr/sbin/tc1100ts

 

setserial /dev/ttyS2 port 0x03e8 autoconfig

 

Mapping Wacom Digitizer to /dev/ttyS2 for HP Tablet PC

 

 

/*

* HP TC1100 Touchscreen Enable

* Copyright © 2004 Hewlett-Packard Co.

*

* Compile with `cc -O2 -o tc1100ts tc1100ts.c',

* and run as root with `./tc1100ts'.

*

* This standalone program enables the Serial Port 1

* (SP1) of the NS LPC Super I/O, where the Wacom

* Digitizer is connected to on the HP TC1100 Tablet PC.

*

* The serial device is mapped to 0x3e8 IRQ0-4 to match

* the default /dev/ttyS2 port and IRQ mapping on Linux.

*

* To proof that the Wacom Digitizer is enabled by this

* standalone, do the following:

* - Change to superuser mode, i.e. root

* - setserial /dev/ttyS2

* it should return:

* /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

* - ./tc1100ts

* - setserial /dev/ttyS2 autoconfig

* - setserial /dev/ttyS2

* now returns:

* /dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 4

*

*/

 

#include

#include

#include

#include

 

const int cfgindex = 0x4e;

const int cfgdata = 0x4f;

 

#define wsio(i,d) {outb(i,cfgindex); outb(d,cfgdata);}

 

int main()

{

/* Get access to the ports */

if (iopl(3)) {perror("iopl"); exit(1);}

 

// See the SuperIO Specificatio for details of each register

wsio(0x07,0x03); // Select Logical Device - Serial Port 1

wsio(0x30,0x00); // De-activate Logical Device

wsio(0x60,0x03); // I/O Port Base [15-08]

wsio(0x61,0xe8); // I/O Port Base [07-00]

wsio(0x70,0x14); // Enables Wake-up on IRQ4

wsio(0x71,0x03); // Level IRQ Req, Hi priority

wsio(0x74,0x04); // DMA Channel Select 0 - no DMA

wsio(0x75,0x04); // DMA Channel Select 1 - no DMA

wsio(0x30,0x01); // Activate Logical Device

 

/* We don't need the ports anymore */

if (iopl(0)) {perror("iopl"); exit(1);}

 

exit(0);

}

 

/* end of tc1100ts.c */

Link to comment
Share on other sites

  • 3 weeks later...
I'm no coder, but I believe I've found something that might be of some help (its from http://linuxwacom.sourceforge.net/index.php/howto/tabletpc . Just ignore me if it doesn't help, I'll get the hint):

 

Thanks for the pointer, but it doesn't apply here. Mac OS X is based on Open BSD and not Linux. There is no equivalent to setserial on Mac OS X, and the driver architecture is significantly different. While I have found code from the Linux-Wacom Project to be very helpful as a guideline to the higher-level functionality (i.e., interpreting the data stream from the tablet) there is nothing pertinent in their low-level code (e.g., establishing a connection to the serial port). Besides, we already have that part covered.

 

If the digitizer in your TabletPC is a standard RS232/RS242 serial device, Mac OS X should be able to map it into a POSIX device at /dev/cu.myserialdevice and dev/tty.myserialdevice provided it knows the hardware ID of the device (for example, WACF004). The means to make this happen has been covered in this thread a few times.

 

At this point what we need help with most are the communication protocols and commands for TabletPC digitizers. Most digitizers work with TabletMagic as it is now. However we have not found a way to reliably query every TabletPC digitizer to discover its model, resolution, and capabilities. At this point what we know is that some digitizers answer the "*" command and some don't. We don't have a TabletPC to play with yet, so we haven't had a chance to try lots of commands or to see if the digitizer announces itself when the serial port connection is made. We'd love it if someone could do this for us.

 

And we're always happy to have links to helpful resources. Posting snippets of code isn't necessary, however, as it clutters up the forum. Give us a link to the page where the code appears, and give a basic overview of what you're telling us about. If you want to contribute code to the project, just send it to me directly. I'll review it and merge it with the code base for future release.

Link to comment
Share on other sites

  • 3 weeks later...

Okay, another finepoint user here.

 

I know TabletMagic specialises in support for Wacom tablets, but I think it'll be good if it can support a wider ranger of tablets.

 

I think this has been brought up before, that Linux already has support for finepoint tablets via the fpit driver. I've scanned through the source, and it seems that its well commented, including protocol data explanations: http://cvsweb.xfree86.org/cvsweb/xc/progra...fpit/xf86Fpit.c

 

For example, this:

 

#define FPIT_LINK_SPEED		B19200	/* 19200 Baud                           */
#define FPIT_PORT		"/dev/ttyS3"

#define FPIT_MAX_X		4100
#define FPIT_MIN_X		0
#define FPIT_MAX_Y		4100
#define FPIT_MIN_Y		0

#define PHASING_BIT	0x80
#define PROXIMITY_BIT	0x20 /* DMC: This was 0x40 but the chart says its bit 5 which is 0x20 */
/*#define TABID_BIT	0x20  */
#define XSIGN_BIT	0x10
#define YSIGN_BIT	0x08
#define BUTTON_BITS	0x07
#define COORD_BITS	0x7f

/* DMC: Added these */
#define SW1	0x01
#define SW2	0x02
#define SW3	0x04

 

and this:

 

/*
***************************************************************************
*
* Protocol constants.
*
***************************************************************************
*/
#define FPIT_PACKET_SIZE		5
#define BUFFER_SIZE               (FPIT_PACKET_SIZE*20)

 

and this (which I think is the best part of it):

 

/* Format of 5 bytes data packet for Fpit Tablets
    Byte 1
      bit 7  Phasing bit always 1
      bit 6  Switch status change
      bit 5  Proximity
      bit 4  Always 0
      bit 3  Test data
      bit 2  Sw3 (2nd side sw) 
      bit 1  Sw2 (1st side sw) 
      bit 0  Sw1 (Pen tip sw) 

    Byte 2
      bit 7  Always 0
      bits 6-0 = X6 - X0

    Byte 3
      bit 7  Always 0
      bits 6-0 = X13 - X7

    Byte 4
      bit 7  Always 0
      bits 6-0 = Y6 - Y0

    Byte 5
      bit 7  Always 0
      bits 6-0 = Y13 - Y7
*/

 

and this for passive pens:

 

			/*
			For passive pen (Stylistic 3400, et al.):
			sw1 = 1 if pen is moving
			sw1 = 0 if pen is not moving
			sw2 = 0 if pen is contacting the pad
			sw2 = 1 if pen was lifted from the pad
			sw3 = 1 if right mouse-button icon was chosen
		*/

 

I think all these would be more than enough to implement the protocol in TabletMagic.

 

As an addition, attached is a log file I have created with the logging version of TabletMagic. The values recorded consists of me moving the pen clockwise round the screen and randomly tapping them. There are a few hard taps and side button presses in there somewhere as well. Hope it comes in useful in testing the protocol.

tabletmagic.txt

Link to comment
Share on other sites

Okay, another finepoint user here. I know TabletMagic specialises in support for Wacom tablets, but I think it'll be good if it can support a wider ranger of tablets.

 

*** NOTES ***

 

I think all these would be more than enough to implement the protocol in TabletMagic. As an addition, attached is a log file I have created with the logging version of TabletMagic. The values recorded consists of me moving the pen clockwise round the screen and randomly tapping them. There are a few hard taps and side button presses in there somewhere as well. Hope it comes in useful in testing the protocol.

 

Thank you booya, this is invaluable help. I'll PM you in the future to see if you'd like to help me test this once I get the code in there. Could be a little while, as I'm busy with a web startup right now.

Link to comment
Share on other sites

OK I download the last version and nothing happend. I go to preferences panel and tabletmagic identify my acer travelmate c300 tablet pc as ISD V4.0 (Tablet PC) but i use the pen and no response, how I enable?

 

It should work if your serial port is visible to OSX. You can try the checkbox in the Extras tab and see if that helps. Keep messing around and read through this forum to see if any other person's experience is of any help.

Link to comment
Share on other sites

 Share

×
×
  • Create New...