Wabbitemu on a Tablet PC?

Dec 16, 2010 at 3:29 PM

Hi. First of all, I love this program. I downloaded it, followed the wizard, and had a TI-83+ emulator on my PC in no time. Thanks!

My question: I'm using a tablet PC (Lenovo X201 Tablet). I can use wabbitemu with the trackpad, but it does not respond when I try to use it with the tablet's pen. I can't see any reason why it wouldn't, but I've also checked my configurations and can't find anything that looks like it would be a problem. Any ideas?


Thanks for the help.

Dec 17, 2010 at 12:30 AM

Hey jecoady,

I've heard reports of this issue on tablets before, and I'm not exactly sure what it is. I would assume that tablet input based on touch sends the same messages as a click with the mouse, but maybe not. Out of curiousity, are you running Windows XP? Also due to my lack of a tablet, would you be willing to test as I experiment with trying to get this to work?


Dec 19, 2010 at 11:43 AM

Thanks for the quick response. I would be more than happy to test the program as you experiment with this. I'm running Windows 7. Let me know how I can help.


Jan 7, 2011 at 10:57 PM

Let me know if there is something I can do to help on this issue.


Jan 10, 2011 at 7:46 PM

OK. I am not a Windows developer, but I know something about how X-windows works. I am trying to figure out what the difference between stylus input and mouse input could be.

Documentation says:

Stylus double tap (works to activate keys on calc): generates WM_LBUTTONDBLCLK

Stylus single tap (does not work to activate keys): "WM_LBUTTONDOWN and WM_LBUTTONUP sent when pen lifted."

I don't believe it. Left click with the mouse highlights the key as long as you hold the botton down. Stylus never generates that highlighting - even when a double tap makes the number appear. I would like a way to ascertain what events are actually being generated by my stylus. Is there a program that will just list the events it receives to a log so I can find out if the stylus is really generating these clicks?


Jan 11, 2011 at 2:20 AM

In theory there should be no difference between stylus and mouse input. Those messages are the exact same ones the mouse generates. Wabbitemu handles WM_LBUTTONDOWN and WM_LBUTTONUP. My only guess is that the stylus coordinates are off somehow, but I can't say without actually having a tablet...

You can look at what messages its receiving using Spy++ (which you can find here: http://msdn.microsoft.com/en-us/library/ms734712.aspx). Open the processes window (Spy->processes) and find the wabbitemu process in the list. Right click messages. There will be many other messages firing (in particular WM_PAINT) but you can get rid of these by going to the logging options and making sure its just handling mouse and keyboard events. Then you should be able to click around and watch the lots of messages. Pick one key and click on it a bunch for me. Then save the log output and post it here. I'll take a look and see what happens

Jan 12, 2011 at 2:15 AM

I posted two dumps (wabbit12.txt and wabbit13.txt) to the google site that I emailed you. The (possibly) relevant parts are:

Single tap - wabbit12.txt - does not generate a "1" on the calculator:

<00111> 00030610 P WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:124 yPos:598
<00112> 00030610 S WM_ERASEBKGND hdc:0B010DC7
<00113> 00030610 R WM_ERASEBKGND fErased:False
<00114> 00030610 P WM_LBUTTONUP fwKeys:0000 xPos:124 yPos:598
<00115> 00030610 S WM_CAPTURECHANGED hwndNewCapture:00000000
<00116> 00030610 R WM_CAPTURECHANGED

Double tap - wabbit13.txt - does generate a "1" on the calculator.

<00111> 00030610 P WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:125 yPos:591
<00112> 00030610 S WM_ERASEBKGND hdc:08010597
<00113> 00030610 R WM_ERASEBKGND fErased:False
<00114> 00030610 P WM_LBUTTONUP fwKeys:0000 xPos:125 yPos:591
<00115> 00030610 S WM_CAPTURECHANGED hwndNewCapture:00000000
<00116> 00030610 R WM_CAPTURECHANGED
<00117> 00030610 S WM_ERASEBKGND hdc:08010597
<00118> 00030610 R WM_ERASEBKGND fErased:False
<00119> 00030610 P WM_MOUSEMOVE fwKeys:0000 xPos:122 yPos:591
<00120> 00030610 P WM_MOUSEMOVE fwKeys:0000 xPos:122 yPos:590
<00121> 00030610 P WM_MOUSEMOVE fwKeys:0000 xPos:123 yPos:590
<00122> 00030610 P WM_MOUSEMOVE fwKeys:0000 xPos:124 yPos:590
<00123> 00030610 P WM_MOUSEMOVE fwKeys:0000 xPos:125 yPos:591
<00124> 00030610 P WM_LBUTTONDOWN fwKeys:MK_LBUTTON xPos:125 yPos:591
<00125> 00030610 S WM_ERASEBKGND hdc:08010597
<00126> 00030610 R WM_ERASEBKGND fErased:False
<00127> 00030610 P WM_MOUSEMOVE fwKeys:MK_LBUTTON xPos:126 yPos:590
<00128> 00030610 P WM_MOUSEMOVE fwKeys:MK_LBUTTON xPos:127 yPos:591
<00129> 00030610 P WM_LBUTTONUP fwKeys:0000 xPos:127 yPos:591
<00130> 00030610 S WM_CAPTURECHANGED hwndNewCapture:00000000
<00131> 00030610 R WM_CAPTURECHANGED

Let me know if any of this looks helpful... I can't see the difference!


Jan 12, 2011 at 9:23 AM

Two important questions, what skin were you using? Also are you in cutout or normal windowed mode?

Jan 12, 2011 at 1:44 PM

I'm using the default skin and in normal windowed mode. The Wammitemu Options -> Skin page shows only "Use Screen Texture" is checked. There is no custom skin, no cutout skin.


Jan 12, 2011 at 1:47 PM

Default skin being the 83 Plus?

Jan 12, 2011 at 4:59 PM

Yes. I'm using the TI-83 Plus skin with a rom that advertises itself as version 1.12.



Sep 29, 2011 at 12:32 AM

Would LOVE to know how to fix this problem too. Any solutions so far! The best I've been able to do is use the stylus to direct where the cursor and then left click on my laptop mouse pad. Kind of a pain. Thing is, it used to work just by clicking with the pen.

Sep 29, 2011 at 3:58 AM

No news recently. Same thing happens with the most recent build of Wabbitemu on a Windows 7 box (Toshiba).

I couldn't figure out how to build Wabbitemu from source, not being any kind of Windows developer. If you can help do that, I would look at it more.

Oct 4, 2011 at 5:50 PM

You guys are both using the cutout skin correct? Have you tried doing this on the non cutout? I'd be curious to see if it has the same problem there

Oct 4, 2011 at 9:22 PM
It has the same problem with either skin for me.


From: [email removed]
To: [email removed]
Date: Tue, 4 Oct 2011 09:50:48 -0700
Subject: Re: Wabbitemu on a Tablet PC? [wabbit:238635]

From: BuckeyeDude
You guys are both using the cutout skin correct? Have you tried doing this on the non cutout? I'd be curious to see if it has the same problem there
Read the full discussion online.
To add a post to this discussion, reply to this email (wabbit@discussions.codeplex.com)
To start a new discussion for this project, email wabbit@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com
Oct 5, 2011 at 6:31 PM

Hmm thats unfortunate. I've got a wabbitemu that I'd like you guys to test with your tablet. I'm working to acquire one but so far no luck. You can download this version on the downloads page, its the one titled Wabbitemu Debug. This version will have a console window that pops up. It will log messages (mostly related to the keys). Go ahead and try to click on a key with your stylus and paste me the output (you can copy by right clicking on the title bar and selecting mark, then dragging and right clicking copy. Control+C will not work). Also please tell me which key you clicked on. If all works you should see something like this:

WM_LBUTTONDOWN x: 122, y: 550,
Color value: 1040002

Oct 6, 2011 at 10:32 PM

Wabbitemu Debug: doesn't function correctly. The log window is active, but the main calculator window can't be dragged(?!) and won't turn on with F12 (can't reach the "on" button), although if I click on a key it lights up but no log messages appear. Built correctly? Running Windows 7 on a tablet.

Oct 6, 2011 at 10:56 PM

Yes this is the expected behavior, sorry forgot to warn you. The not being able to drag comes from I want to handle any clicks that are not on the buttons, which we treat the same as the title bar so you can drag. You should see the WM_NCBUTTONDOWN message in the log if you try to drag. The calculator doesnt have to be on for it to register key presses. By lights up you mean youre in windowed mode and that the key is shaded to indicate you pressed it? If you have no log messages, I'm slightly concerned, there should be a least something showing up. To ensure the log is working correctly press F11 to open the debugger and you should see a "Got a command" message. I have no issues with it on either of my machines, both on Windows 7

Oct 6, 2011 at 11:47 PM

Definitely not working. I did F11 to open. No messages in console. Debugger does not produce any messages in the console. Not sure if this is expected, but in the debugger "step" doesn't go anywhere. It just sits on 00 0983 "push af" and doesn't move? Calculator isn't on, so maybe this is not a concern. 

Oct 7, 2011 at 2:21 AM

Hmm this is indeed odd. I think I'll just have to get my hands on a tablet and test this all myself. The debugger not stepping doesn't sound correct at the address you've specified. Was the line highlighted gold or gray?

Oct 7, 2011 at 3:22 AM

OK. I went to look at it again, and got it going (but not producing any debug output). What I found was that now even with the mouse, I need to double click quickly in succession in order for the clicks to register with ANYTHING, including the menu options. Doing that, I was able to use the menu to turn on the calculator and manipulate the buttons. I went back to the other (up to date) Wabbitemu just to make sure I wasn't imagining that this was a change, and I wasn't. The regular Wabbitemu responds just find to single mouse clicks - no double clicking at all needed. Can you think of anything to do/try with this information?


Oct 7, 2011 at 3:27 AM

No its useless without the debug output. Thats the reason that clicking nonclient areas (such as the menus or titlebar don't work). For some reason the output is not getting attached properly

Oct 7, 2011 at 4:37 AM

Can you just hard-code the output to go some file in c:\WINDOWS\TEMP or something like that?

Nov 9, 2011 at 6:18 PM

i also have a tablet let me know if i can be of assistance. i got the debug version is there specific things you want me to try out ?

this is what i did i clicked once on power with mouse on laptop then i clicked once with mouse on laptop on 1 then i did one single tap one wasnt registered i did 2 quick double tap the one appeared.

here is the info with the picture


Uploaded with [URL=http://imageshack.us]ImageShack.us[/URL]

Nov 9, 2011 at 7:08 PM

Alright this is good that shows that it is indeed receiving the keypress and its valid. So now I think the reason that this doesn't work is because of timing issues with the emulator. Because we're emulating at most a 15 MHz device, theres a lot of time leftover for whatever, that we have to waste to make it look like the calculator is running at the correct speed. I think that the single tap might be too fast, meaning that the emulator sends the keypress and the keyrelease code before the emulator has a chance to respond to the input. Thus when you double click it doubles the time it appears to be pressed down and the OS has more time to react. The way to test this will be to set the speed of the calculator higher. Goto Calculator->Speed->400%. Then try single tapping. If that doesn't work, do a custom speed and try 800 or 1600. You dont need to use the debug version, you can do it with any old version.

Nov 9, 2011 at 7:36 PM

That's not it for me. I still need to double-tap when speed is set to maximum.


Nov 9, 2011 at 7:59 PM

I have a feeling this still may be an issue. Let me write some code to detect this and a couple other ideas I have

Nov 9, 2011 at 10:35 PM
BuckeyeDude wrote:

I have a feeling this still may be an issue. Let me write some code to detect this and a couple other ideas I have

that wasn't it for me either.

i did the max speed at 400% first then increased to max speed.
turned off calculator input the speed before turning it on still same results even with max speed maxed out

Dec 10, 2011 at 2:49 PM

This is my first post, so I do have to commend you on this wonderful software... It's been an amazing tool in my classroom!

I'm also having the same issues when using the new wabbitemu on the tablet.  However, when I turn on the keypress history, the keys are being "pressed" and logged but it's not registering as a press on the actual calculator.

Also, when I use the mouse or keyboard to control the calculator, it only registers if I press the mouse or keyboard with some force.  If I press the mouse or key board lightly, it will again show up on the keylog but not on the calculator.

Dec 11, 2011 at 7:11 AM

This is actually awesome news. It confirms what I was thinking before, which is that Wabbitemu does indeed process the key, but the emulator core doesn't react fast enough. The solution could be simple, but I don't actually know since I've never had this issue occur outside a tablet. I'll post a new version very soon, I've had one in the works for a while now but I haven't had enough time to test it and make sure it doesn't cause any new issues.

Dec 13, 2011 at 11:00 AM

The newest version is out, go ahead and download see if it fixes this issue. I *think* it should, it now allows for zero delay between mouse events. If it doesn't we'll have to do a little more probing

Dec 13, 2011 at 1:22 PM

Update works great on the tablet (keyboard and with the tablet input)!



Dec 15, 2011 at 7:45 PM

I can confirm that the latest release (Dec 15 2011) fixes the issues I had with the pen input on a tablet as well. Thanks!

Dec 30, 2011 at 4:44 PM

beautiful man. works perfect =D