Reply
Thread Tools
Posts: 9 | Thanked: 0 times | Joined on Nov 2007
#1
Hi everyone.

I'm thinking of buying an N810, and writing a paint app for it.

Does the touchscreen have subpixel accuracy? If so, what APIs is it exposed through? GTK? Anyone have any idea how good/accurate/stable it is?

I know the touchscreen is pressure sensitive (yay!). How many levels does it have? Is it uniform across the surface of the screen? What APIs can access it? The howto on maemo.org uses XLib. What about GTK, etc?


Thanks a bunch,

TJ
 
maxilogan's Avatar
Posts: 701 | Thanked: 21 times | Joined on Feb 2006 @ Italy
#2
Originally Posted by tjay View Post
Does the touchscreen have subpixel accuracy? If so, what APIs is it exposed through? GTK? Anyone have any idea how good/accurate/stable it is?

I know the touchscreen is pressure sensitive (yay!). How many levels does it have?
I don't know about subpixel accuracy, but regarding the pressure sensitivity I can say that I tried Maemopad+ handwriting tool and it appears to detect 2 levels. Don't know whether this is enough, too low, and if it is due to Maemopad+ or to the touchscreen itself.
__________________
--
Does life seem worthwhile to you?
 
Posts: 393 | Thanked: 112 times | Joined on Jul 2007
#3
 
Posts: 9 | Thanked: 0 times | Joined on Nov 2007
#4
yabbas: Thanks, but I've already seen that. In fact I linked to it in my opening post.

maxilogan: Thanks for the info on maemopad. 2 levels isn't quite enough, though subpixel accuracy is the make-or-break feature for me. I'll see if I can find any info on these two features in maemopad's webpage or source code.

Anyone else have a clue about this?

TJ
 
technut's Avatar
Posts: 574 | Thanked: 166 times | Joined on Oct 2007 @ BC, Canada
#5
No clue, but you've got me curious about what your intentions are for that level of accuracy, even in a paint program. Have you seen how small the pixels are on the N8xx screen? I don't know too many people who can reliably achieve sub-pixel accuracy while pointing with a stylus in their hand.

Last edited by technut; 2007-11-03 at 08:26.
 
Posts: 9 | Thanked: 0 times | Joined on Nov 2007
#6
technut: It is impossible to draw a smooth, non-aliased diagonal line without some form of subpixel accuracy, a problem which is compounded if I were working on the image at anything less than 100% zoom. I wish to paint with Photoshop-level quality, not MS Paint level pixel art

I've just had a look through maemopad+'s source. It uses GDK functions to get x/y coordinates, which returns the coords as doubles, which only means that GDK supports subpixel accuracy. However, maemopad+ then goes on to draw pixels using GDK primitives which only use ints, so any subpixel information is lost. I am unable to conclude whether it is maemopad+ which does not support subpixel accuracy or the tablet's touchscreen. Maybe I should try contacting the author of maemopad+.


TJ
 
Posts: 118 | Thanked: 297 times | Joined on Nov 2007
#7
Hi!
Thinking of buying one too if someone got around to writing/porting a decent drawing app ;-)

Originally Posted by tjay View Post
Does the touchscreen have subpixel accuracy? If so, what APIs is it exposed through? GTK? Anyone have any idea how good/accurate/stable it is?
I've only found this spec from TexasInstruments for the chip I believe is in the n800.

Originally Posted by tjay View Post
I know the touchscreen is pressure sensitive (yay!). How many levels does it have? Is it uniform across the surface of the screen? What APIs can access it? The howto on maemo.org uses XLib. What about GTK, etc?
The chip is pressure sensitive but it's up to the kernel "driver" to catch and use the input in a proper way. Maybe Nokia has some kernel patches for this (as in the Sharp Zaurus)?
I have an old hp1915 PDA that has a similar controller but the kernel ignores the pressure input.
Anyway, I hope you will get the right answers and start hacking your app. On my 1915 I have built and tried:
SPainter aka "Petite Peinture" (lightweight old Zaurus painting app, horrible aliasing and nice compact UI)
Gimp 2.3.3 (Slow as hell on 64mb RAM - menus to cluttered on 320x240px)
Blender (just for the fun of it - OpenGl software rendering without FPU)
MyPaint (Promising for small devices, Python-GTK+2 based, pressure aware but no layer functions - already runs on maemo check posts on this forum by unique311)
Cheers!
Anders
 
Posts: 9 | Thanked: 0 times | Joined on Nov 2007
#8
Originally Posted by anders_gud View Post
I've only found this spec from TexasInstruments for the chip I believe is in the n800.
Wow. That would probably be useful if I wanted to write my own driver for it I'm leaning more towards Nokia writing the bloody drivers though. For a supposedly open platform, I must say the documentation is pretty bad. I haven't contacted anyone directly though, just going by what's already written on websites.

Originally Posted by anders_gud View Post
The chip is pressure sensitive but it's up to the kernel "driver" to catch and use the input in a proper way. Maybe Nokia has some kernel patches for this (as in the Sharp Zaurus)?
Pressure sensitivity is already supported by the driver. I dunno how good that support is though.

Found some videos on youtube uploaded by unique311. Thanks for the heads up From what I can see, it looks like drawing works fine.


Cheers,
TJ
 
Posts: 129 | Thanked: 13 times | Joined on Oct 2005
#9
I compiled the pressure demo program with some changes and it's pretty cool. I hope to post a video of it. If you're really impatient, just download the binary and start playing. The Xsp output is much higher resolution than the screen, so you do get subpixel resolution. Pressure output is also pretty detailed, but the pressure value is not consistent over the entire screen. Some areas are less sensitive.



The deb files are really just binaries. Just download, rename, chmod, and run. The only difference is the hardcoded calibration. Try them both and you'll see why.

touchdemosrc.txt should probably have its extension changed to .c .

touchlog.txt is the data provided by Xsp. I drug the stylus diagonally across the screen while increasing the pressure. The format is "raw x, raw y, pressure".
Attached Files
File Type: deb touchdemo770.deb (10.2 KB, 135 views)
File Type: deb touchdemo800.deb (10.2 KB, 143 views)
File Type: txt touchdemosrc.txt (4.6 KB, 274 views)
File Type: txt touchlog.txt (6.0 KB, 184 views)
 
tigert's Avatar
Posts: 21 | Thanked: 16 times | Joined on May 2006 @ Finland
#10
You should use DynaDraw (google for dynadraw gtk will find Federico's gtk+ port of it which is old but trivial to port to gtk2)

It uses an interesting model to eliminate jitters and works much better - your hand shakes matter a LOT too in this thing anyway.

//T
 
Reply


 
Forum Jump


All times are GMT. The time now is 14:10.