Jump to content

TabletMagic for TabletPCs


  • Please log in to reply
520 replies to this topic

#421
unii

unii

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location:Germany

The problem with startup may be related to a change I made in the daemon startup arguments for 2.0b13 - specifically, the "daemonize" flag was dropped from the LaunchD arguments. Sometimes it's good to daemonize, sometimes it's not, and Apple's documentation is a little confusing on this point with regard to LaunchD daemons. I suspect if you check the Console app (system.log?) and look at startup messages you'll see something like "Couldn't connect to IO Master Port" which is related to the bootstrap namespace in which the daemon is launched. (I/O Ports in different bootstrap domains can't always communicate with each other.) And this is subsequently related to whether the daemon runs as a child of LaunchD or daemonizes and becomes a child of the "root" namespace... or whichever one it ends up in!

So, to fix the startup issue, try editing the file /Library/LaunchDaemons/com.thinkyhead.TabletMagic.plist and add -d to the ProgramArguments section.

"Don't Query Digitizer" is needed on all TabletPC models in which the digitizer doesn't answer info queries, and it doesn't have any relation to the automatic startup issue.


Hi

my pen gets recognised on startup and works for a few seconds. After that TabletMagic didnt find my pen anymore. After killing the daemon manually and rechecking the enabled checkbox the pen starts and keeps working until i restart.

I cant find the file you mentioned above to toggle the daemon.

Im using a hp tc4200 with iPC 10.5.7

Thanks! :)

#422
Thinkyhead

Thinkyhead

    Scott Lahteine

  • Members
  • PipPipPip
  • 110 posts
  • Gender:Male
  • Location:Seattle, WA
  • Interests:OSX, iOS, reprap, science!
I've just posted TabletMagic 2.0b17d1 which includes some changes in TabletPC handling.
  • Enabled the broken -3 argument for the sake of "WACF008" digitizers. (Thank you Aenin!)
  • Now processes and reports any reply from the Get Info (*) query.
  • No longer tries to send a UD setup string to non-UD tablets.
  • Slightly modified binary packet handling for all tablet models.
Please try this version and let me know how it works. Be sure to toggle "Launch at Startup" to ensure a good startup line in the LaunchD entry. For all tablets, in spite of the instructions in the Lenovo thread, you don't need to edit the Apple16X50Serial.kext/Contents/PlugIns/Apple16X50ACPI.kext/Contents/Info.plist file manually. The "Enable Digitizer" button in TabletMagic will do exactly the right thing for all TabletPC systems.

When reporting your results be sure to include the output of Console.

Thanks and good luck!

#423
unii

unii

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location:Germany
Thanks Scott!

Until now, it seems to work perfect! :(

Thanks for all your work!


For anyone who has problems with the daemon starting up proberly, try disableing your internal bluetooth device and reinstall with a new Apple16X50Serial.kext.

#424
Torchwood

Torchwood

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts

I've just posted TabletMagic 2.0b17d1 which includes some changes in TabletPC handling.

  • Enabled the broken -3 argument for the sake of "WACF008" digitizers. (Thank you Aenin!)
  • Now processes and reports any reply from the Get Info (*) query.
  • No longer tries to send a UD setup string to non-UD tablets.
  • Slightly modified binary packet handling for all tablet models.
Please try this version and let me know how it works. Be sure to toggle "Launch at Startup" to ensure a good startup line in the LaunchD entry. For all tablets, in spite of the instructions in the Lenovo thread, you don't need to edit the Apple16X50Serial.kext/Contents/PlugIns/Apple16X50ACPI.kext/Contents/Info.plist file manually. The "Enable Digitizer" button in TabletMagic will do exactly the right thing for all TabletPC systems.

When reporting your results be sure to include the output of Console.

Thanks and good luck!


I (finally) registered on this forum, partially to thank you for all your hard work, also to share a few experiences:

I installed TabletMagic 2.0b17d1 on my iATKOS HP TC 4400 to run last night and. The digitizer would work for a few seconds, then stop.

Looking at the logs, I noticed that there were two daemons started. One would get started, renice itself, then a second or two later another would start. Well, here, let me show you:

7/29/09 1:30:59 AM	com.apple.launchd[1]	(com.thinkyhead.TabletMagic) Unknown key: ServiceDescription	7/29/09 1:30:59 AM	com.thinkyhead.TabletMagic[96]	[INIT] Remapping Stylus Eraser to Right Button	7/29/09 1:30:59 AM	com.thinkyhead.TabletMagic[96]	TabletMagicDaemon v2.0b17d1	7/29/09 1:30:59 AM	com.thinkyhead.TabletMagic[96]	© 2001-2009 Thinkyhead Software 	7/29/09 1:30:59 AM	com.thinkyhead.TabletMagic[96]	[INIT] renice -20 96 : Succeeded	7/29/09 1:31:00 AM	com.apple.launchd[61]	(com.thinkyhead.TabletMagic) Unknown key: ServiceDescription	7/29/09 1:31:00 AM	com.apple.launchd[61]	(com.thinkyhead.TabletMagic) Ignored this key: UserName	7/29/09 1:31:00 AM	com.thinkyhead.TabletMagic[108]	[INIT] Remapping Stylus Eraser to Right Button	7/29/09 1:31:00 AM	com.thinkyhead.TabletMagic[108]	TabletMagicDaemon v2.0b17d1	7/29/09 1:31:00 AM	com.thinkyhead.TabletMagic[108]	© 2001-2009 Thinkyhead Software 	7/29/09 1:31:00 AM	com.thinkyhead.TabletMagic[108]	[INIT] renice -20 108 : Succeeded	7/29/09 1:31:02 AM	com.thinkyhead.TabletMagic[96]	[INIT] Digitizer ID: WACF004	7/29/09 1:31:02 AM	com.thinkyhead.TabletMagic[108]	[INIT] Digitizer ID: WACF004	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[PROC] Tablet Bounds: (0, 0) - (24569, 18429)	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[PROC] Screen Bounds: (0, 0) - (1023, 767)	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[PORT] serial0: OPENED	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[PORT] Setting speed to 19200	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[PROC] "~#ISD V4"	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[INFO] ISD V4.00 (TabletPC)	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	[INIT] TabletPC Detected	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	Tablet Settings (imposed):	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	command set ..... Tablet PC	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	output format ... BINARY	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	terminator ...... CRLF	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	packet size ..... 9	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	baud rate ....... 19200	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	data bits ....... 8	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	parity .......... N	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	stop bits ....... 1	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	cts ............. OFF	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	dsr ............. OFF	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	transfer mode ... suppressed	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	coord sys ....... ABS	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	transfer rate ... 200	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	resolution ...... 1270 lpi	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	origin .......... UL	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	oor data ........ OFF	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	pnp ............. ON	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	sensitivity ..... firm	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	read height ..... 8mm+	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	mdm ............. OFF	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	tilt ............ ON	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	mm command set .. MM1201	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	orientation ..... landscape	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	cursor data ..... 1234	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	remote mode ..... OFF	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	increment ....... 2	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	interval ........ 2	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	xrez ............ 1270	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	yrez ............ 1270	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	tablet width .... 24570	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	tablet height ... 18430	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[96]	Tablet initialized.	7/29/09 1:31:03 AM	/Library/PreferencePanes/TabletMagic.prefPane/Contents/Resources/TabletMagicDaemon[108]	[ERR ] Couldn't create a local message port!	7/29/09 1:31:03 AM	com.apple.launchd[61]	(com.thinkyhead.TabletMagic[108]) Check-in of Mach service failed. PID 108 is not privileged: com.thinkyhead.tabletmagic.daemon	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[108]	[PROC] Tablet Bounds: (0, 0) - (24569, 18429)	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[108]	[PROC] Screen Bounds: (0, 0) - (1023, 767)	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[108]	Error setting TIOCEXCL on /dev/cu.serial0 - Resource busy(16).	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[108]	[PORT] serial0: OPEN ERROR	7/29/09 1:31:03 AM	com.thinkyhead.TabletMagic[108]	Could not initialize tablet.	7/29/09 1:31:20 AM	com.apple.launchd[1]	(com.thinkyhead.TabletMagic[96]) Exit timeout elapsed (20 seconds). Killing.	7/29/09 1:31:20 AM	com.apple.launchd[1]	(com.thinkyhead.TabletMagic[96]) Exited: Killed

So PID 96 starts, then 108, they wrestle over resources, and nobody wins.

Manually removing the LoginWindow element from the launchd plist seemed to fix it. According to http://devworld.appl...005/tn2083.html (I just discovered that while typing this post):

If you set LimitLoadToSessionType to an array, be aware that each instance of your agent runs independently. For example, if you set up your agent to run in LoginWindow and Aqua, the system will first run an instance of your agent in the loginwindow context. When a user logs in, that instance will be terminated and a second instance will launch in the standard GUI context.


My guess is, even though my mac is set to launch directly into desktop and bypass the login screen, it still goes though that state briefly during boot, long enough for TabletMagic[96] to start but launchd doesn't kill it in time for the second TabletMagic[108] to start. That's just a guess though.

Anyway, that's solved (for me anyway) for now. My next hurdle is, after a few minutes of use, the mapping suddenly gets corrupted and it's almost like the tablet bounds get reset to 1/5th of what they were (in other words, my pen is maybe an inch from the top left corner of the screen, yet the cursor is somewhere around the middle). I'm going to plug away at that and see if I can figure out what's going on.

Thanks again for your hard work. I'll donate one of these days :whistle:

#425
Torchwood

Torchwood

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts
I don't know what I did, but the bounds aren't being reset now. All I did was go in and change some of the mapping parameters a little, as well as manually set he serial port. So far so good.

#426
Thinkyhead

Thinkyhead

    Scott Lahteine

  • Members
  • PipPipPip
  • 110 posts
  • Gender:Male
  • Location:Seattle, WA
  • Interests:OSX, iOS, reprap, science!

Looking at the logs, I noticed that there were two daemons started. One would get started, renice itself, then a second or two later another would start. Manually removing the LoginWindow element from the launchd plist seemed to fix it.

Thank you Torchwood. This has been affecting others, but no one had connected it with auto-login.

I'd like the tablet to start up at the login window for those users who don't have auto-login enabled, but I guess it's not absolutely necessary. Still, I'm sure I could add code so that TM will wait a few seconds for all other instances of TM to go away before proceeding - or if they don't go away, to exit with a log message.

Anyway, it's a tricky issue. Thank you for providing a simple workaround.

#427
grandflash

grandflash

    InsanelyMac Protégé

  • Members
  • PipPip
  • 64 posts
hi folks,
im using a x61 tablet and tablet does magic on it. thank you thank you thank you.

i discovered "inkBook", which might be a good one for taking notes. it has a good
ink support and you can notes on imported pdf / image files.

does anybody knows an virtualkeyboard which is loading at the loginscreen? i have to
use autologin instead, which is not that secure.

thanks for sharing your thoughts,

alex

#428
outZider

outZider

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 175 posts
Hey, Scott,

I've noticed in a couple of the newer tablet-enabled applications, like Axiotron's Quickscript and Circus Ponies Notebook, that the pen release doesn't actually happen until the pen is actually disengaged/more than an inch away from the tablet. Is this a programming error on their part, or is TabletMagic not firing an event required by the apps?

(X61 Tablet, WACF004 device, same things happening in 10.5.8 and 10.6.0)

Thanks for the great work!

#429
CuriousMac

CuriousMac

    InsanelyMac Protégé

  • Members
  • Pip
  • 47 posts
On the TC1100 - I've taken the source from the x61 kext and enabler and changed the 16Xxx serial one to WACF005 and added that into the enabler kext -and they do load on bootup now. Where as the other TC1100 'specific' enabler does not load during boot.

I've got 10.5.7 going on a TC1100 1GB with 2GB of RAM. It took some finagling, but it's working. Works really really well, too.

Just the USB pointer stick comes and goes, the CardBus slot is MIA and of course, the tablet. The display is mirroring which is fine, thats all I ever do with it anyway. Rotation is not necessary.

I compiled setserial from this thread: http://www.insanelym...howtopic=155999

I've placed it in /usr/bin so it's handy, on anything I try with it:

setserial ttys0
Cannot get serial info: Inappropriate ioctl for device

In fooling around with something I did get a new device listing, ttys000 - but that too gives me the same message.

I'm perplexed that the presence of the digitizer is detected but there is no way to talk to it.

The TC1100 has the lamest version of Phoenix BIOS i've ever seen. I think the menu at In-N-Out burger has more visible options on it. Why even have it there, does HP think we're all technophobes? ;-)

the latest Ubuntu boots right up and uses all the features. So sad..

This page references some code for enabling the serial port in Linux. I think I'll try to figure out how to compile it and see if helps. I've not messed with Xcode or much of this kind of stuff in general very much, but... perhaps I'll figure it out.

Anyone got any pointers or direction I should go in?

#430
boriskogon

boriskogon

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts

I'll try again, but I've booted many times with and without the enabler.kext installed already.


Where do I put the TabletEnabler.kext? What do I need to do to "install" it? Do I just put it in a certain location for it to be loaded?

#431
outZider

outZider

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 175 posts

Where do I put the TabletEnabler.kext? What do I need to do to "install" it? Do I just put it in a certain location for it to be loaded?


Same place as any other kext. /System/Library/Extensions with the proper permissions, or use Kext Helper.

#432
boriskogon

boriskogon

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts

Same place as any other kext. /System/Library/Extensions with the proper permissions, or use Kext Helper.


OK, so I put the TabletEnabler.kext in the /System/Library/Extensions and set the owner to root and the group to wheel, with the proper permissions. Do I need to modify it to specify either WACF004 or WACF008? Right now they are both in there in an array.

I also copied the provided Apple16X50ACPI.kext to it's location and set the owner, group, and permissions. This Info.plist still has an array of PNP0501, WACF004, and WACF008. Do I need to comment any of those out?

For some reason when I do 'ls -l' in /System/Library/Extensions the Apple16X50Serial.kext and the TabletEnabler.kext are the only two .kexts that have an '@' symbol after their permissions. I don't know what that means, but they seem to load alright. Do I need to do anything to explicitly load the TabletEnabler.kext or does that happen by default at startup?

TabletMagic is installed, "Launch at Startup" is checked, I get the "serial0" in the drop-down, but the Daemon isn't running. The Enable checkbox next to the drop-down has a blue '-' in it, and when I click it a check appears and it says "Starting Daemon..." but then nothing happens. Needless to say I still don't have use of the tablet.

I'm on a X61 tablet running iATKOS 10.5.7

Any ideas what I'm doing wrong?

#433
CuriousMac

CuriousMac

    InsanelyMac Protégé

  • Members
  • Pip
  • 47 posts
From my TC1100 - it finds it, but .. no amount of messing with serial ports can I seem to find what port the thing might be residing on.


9/18/09 10:00:20 PM com.thinkyhead.TabletMagic[178] TabletMagicDaemon v2.0b17d1
9/18/09 10:00:20 PM com.thinkyhead.TabletMagic[178] [INIT] renice -20 178 : Succeeded
9/18/09 10:00:21 PM com.thinkyhead.TabletMagic[178] [PROC] Tablet Bounds: (0, 0) - (15239, 15239)
9/18/09 10:00:21 PM com.thinkyhead.TabletMagic[178] [PROC] Screen Bounds: (0, 0) - (1599, 1199)


I compiled setserial and that complains about any of the /dev/ttypX entries I try.
Seems like everything else, it's ttySx but here it's ttypX

ioreg shows no WACF0005 either, but that other command shows it.

#434
moonislune

moonislune

    InsanelyMac Protégé

  • Members
  • PipPip
  • 80 posts
  • Gender:Male

Hey, Scott,

I've noticed in a couple of the newer tablet-enabled applications, like Axiotron's Quickscript and Circus Ponies Notebook, that the pen release doesn't actually happen until the pen is actually disengaged/more than an inch away from the tablet. Is this a programming error on their part, or is TabletMagic not firing an event required by the apps?

(X61 Tablet, WACF004 device, same things happening in 10.5.8 and 10.6.0)

Thanks for the great work!

I have the sameproblem. I've seen quickscript working on USB tablet Macs and it l would be really nice to have it Working properly on the Wacom serial based tablets running Tablet Magic. Would a donation help our cause?

#435
zaitsman

zaitsman

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
Sorry if i'm posting in a wrong topic - i got q1 ultra, which has a USB 4 pin digitizer (pretty much all what i know about it). Works rightaway with mac os, but requires calibration. Tabletmagic (dl'ed last version from sourceforge) didn't even see. I can't seem to find 'tablet pc' tab to bypass the Hardware ID detection. any1 can help?

#436
pegasys

pegasys

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
@Scott, OutZider, moonislune,

I've also tried Axitron's Quickscript on a X60, T2010 and 2710p without any success.

Using the cursor (manipulated by touchpad/stick, usb mouse) to write in the writing area works but using the cursor (manipulated by pen) does not.


@zaitsman
How bad is the calibration out? Do you have the correct screen resolution?
p.s. have you tried Quickscript mentioned above?

#437
zaitsman

zaitsman

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
pegasys
Can't really find what is that Quickscript - could u perhaps explain it to me?

Ok. Found quickscript - it aint really what i need, as it says it's a scripting program rather than a calibration tool, but there's something called a modbook driver there which i'll certainly try

Well, most unfortunately the Modbook driver doesn't work either, it's a Wacom only feature. Arrrgh I'm starting to get desperate.

#438
pegasys

pegasys

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
@zaitsman

Sorry, Quickscript is handwriting recognition software, nothing to do with calibration, but I was guessing it would work with your USB digitiser.

I was wondering whether you were running Leopard at the native screen res of 1024x600 or running it at 800x600 stretched onto a 1024x600 screen. Have you checked Mysticus' Samsung NC10 thread? there might be some info there - there were touchscreen kits available for the NC10 netbook:

http://www.insanelym...howtopic=137314

#439
zaitsman

zaitsman

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
pegasys - I'm using 1024 by 600 with SwitchResX(i guess that makes it native). However, even in windows with tat - NATIVE resolution for the screen the digitizer needs the SAME calibration (hell, at least microsoft includes their own tools to do that).
What is also to be noted, that during the install of mac os digitizer works as if it required no calibration, but i guess the resolution there is 800 by 600 or something, so i would try switching there to see if it works, but wouldn't be so great anyway since i would loose on space for web browsing ;)

ps Well, tried 800 * 600, now the screen loks like it's out of range, and as it simply didn't work with ScreenResX, I have tried it with built-in app. What an idiot. Now i guess I'll have to reinstall from scratch.

#440
pegasys

pegasys

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
@all
I've been playing with Quickscript some more

I've noticed that if you press the middle mouse button on the Fujitsu T2010 as you write with the pen (or after you lift the pen away, but before writing the next word), the app no longer freezes, and I'm able to send words to TextEdit, etc. (but I'm unable to correct words).

The middle mouse button has the same effect with the Lenovo X60 as well.

I'm just posting this as it may give someone (who knows more about it) some clues about what's going on.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy