nanogui: Thread: Touchscreen orientation


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Touchscreen orientation
From: "Ashwin Bihari" ####@####.####
Date: 16 Oct 2006 17:35:21 +0100
Message-Id: <1f11a5490610160934s524ede51o927276a8f2220e93@mail.gmail.com>

Greetings,

I'm trying to get nano-X up and running on a PXA270 based devkit and have
managed to build it and run 'nxcal' to calibrate the touchscreen. I later
figured out how to use the 'launcher' app to get apps to show up. When I
load up 'nxscribble' and start drawing, I see that the coordinates are
flipped. That is, if I move the stylus down the line within 'nxscribble' is
moving up, left is right and so on..

Where do I go to fix this orientation problem and why is nxcal doing this to
me?

Regards

-- 
~ Ashwin
Subject: Re: [nanogui] Touchscreen orientation
From: "Greg Haerr" ####@####.####
Date: 16 Oct 2006 18:36:57 +0100
Message-Id: <1cba01c6f149$9cf47190$0300a8c0@RDP>

:  I see that the coordinates are
: flipped. That is, if I move the stylus down the line within 'nxscribble'
is
: moving up, left is right and so on..

You need to set a left or right portrait mode in the config
file.  The engine/devmouse.c also has a define to switch
the mouse coordinates around only if that's your only
problem.

Regards,

Greg

Subject: Re: [nanogui] Touchscreen orientation
From: "Ashwin Bihari" ####@####.####
Date: 17 Oct 2006 17:45:13 +0100
Message-Id: <1f11a5490610170945i533e554bube44b287aae01a50@mail.gmail.com>

On 10/16/06, Greg Haerr ####@####.#### wrote:
>
> :  I see that the coordinates are
> : flipped. That is, if I move the stylus down the line within 'nxscribble'
> is
> : moving up, left is right and so on..
>
> You need to set a left or right portrait mode in the config
> file.  The engine/devmouse.c also has a define to switch
> the mouse coordinates around only if that's your only
> problem.
>
> Regards,
>
> Greg
>
>
Greg,

I've been playing further with this and trying to better understand how
things work here. But I'm still a little lost here.

I've got a Sharp 3.5" LCd which has the dimensions 240x320. Linux knows
these dimensions and it turns out so does the nanoserver. I've been using
liberal printf()'s to track what is going on.

With the screen in it's natural orientation (PORTRAIT = NONE), I run though
the calibration and get the following values:

INCOMING: (145,811) (138,131) (866,145) (865,853)

With the first coordinates indicating top-left. But as you can clearly see,
those cooridations are for bottom-left. If I were to rotate the screen left,
then these coordinates make perfect sense. Furthermore, this causes the
"xyswap" to be set and possibly cause some of my opposite movement that I'm
noticing. so I tried to make nxcal do what I want it to do by touching the
spots that I know are right and came up with:

INCOMING: (90,111) (866,115) (869,863) (94,860)

These look a lot better but I had to rotate the screen to the left to make
this right. I want to use the screen in it's natural long way with 240
pixels across and 320 pixels down.

The define FLIP_MOUSE_IN_PORTRAIT_MODE doesn't seem to affect this behavior.

Any other ideas on how I can get the stylus to track in the direction that
I'm going? I hope I made sense. :)

Regards

-- 
~ Ashwin
Subject: Re: [nanogui] Touchscreen orientation
From: "Ashwin Bihari" ####@####.####
Date: 17 Oct 2006 20:38:30 +0100
Message-Id: <1f11a5490610171237s783e0107h6cd1c861a4efe2a6@mail.gmail.com>

On 10/17/06, Ashwin Bihari ####@####.#### wrote:
>
> On 10/16/06, Greg Haerr ####@####.#### wrote:
> >
> > :  I see that the coordinates are
> > : flipped. That is, if I move the stylus down the line within
> > 'nxscribble'
> > is
> > : moving up, left is right and so on..
> >
> > You need to set a left or right portrait mode in the config
> > file.  The engine/devmouse.c also has a define to switch
> > the mouse coordinates around only if that's your only
> > problem.
> >
> > Regards,
> >
> > Greg
> >
> >
> Greg,
>
> I've been playing further with this and trying to better understand how
> things work here. But I'm still a little lost here.
>
> I've got a Sharp 3.5" LCd which has the dimensions 240x320. Linux knows
> these dimensions and it turns out so does the nanoserver. I've been using
> liberal printf()'s to track what is going on.
>
> With the screen in it's natural orientation (PORTRAIT = NONE), I run
> though the calibration and get the following values:
>
> INCOMING: (145,811) (138,131) (866,145) (865,853)
>
> With the first coordinates indicating top-left. But as you can clearly
> see, those cooridations are for bottom-left. If I were to rotate the screen
> left, then these coordinates make perfect sense. Furthermore, this causes
> the "xyswap" to be set and possibly cause some of my opposite movement that
> I'm noticing. so I tried to make nxcal do what I want it to do by touching
> the spots that I know are right and came up with:
>
> INCOMING: (90,111) (866,115) (869,863) (94,860)
>
> These look a lot better but I had to rotate the screen to the left to make
> this right. I want to use the screen in it's natural long way with 240
> pixels across and 320 pixels down.
>
> The define FLIP_MOUSE_IN_PORTRAIT_MODE doesn't seem to affect this
> behavior.
>
> Any other ideas on how I can get the stylus to track in the direction that
> I'm going? I hope I made sense. :)
>
> Regards
>
> --
> ~ Ashwin


I've continued to dig further into the history of Nano-X and have finally
found a solution that works from a post dated back in 2004 (
http://www.linuxhacker.org/cgi-bin/ezmlm-cgi?5:sss:8667:200405:dhpbbjioplbgebjbokld#b
).

Any chance this can be looked at again and a fix provided, sure this hack
can't be the fix. :)

Regards

-- 
~ Ashwin
Subject: Re: [nanogui] Touchscreen orientation
From: "Greg Haerr" ####@####.####
Date: 26 Oct 2006 18:36:09 +0100
Message-Id: <063701c6f925$36c47a30$2f01a8c0@HaydenLake>

: I've continued to dig further into the history of Nano-X and have finally
: found a solution that works from a post dated back in 2004 (
: 
http://www.linuxhacker.org/cgi-bin/ezmlm-cgi?5:sss:8667:200405:dhpbbjioplbgebjbokld#b
: ).
:
: Any chance this can be looked at again and a fix provided, sure this hack
: can't be the fix. :)

It sounds like you have a mouse driver that requires a swapping
of coordinates that isn't handled by the current #ifdef code.
I suggest adding the fix described in the mailing list, with a
new #ifdef to handle it, like the previous code.

If the fix then works, I will add it to CVS.

Regards,

Greg

Subject: Re: [nanogui] Touchscreen orientation
From: "Ashwin Bihari" ####@####.####
Date: 26 Oct 2006 20:42:38 +0100
Message-Id: <1f11a5490610261242l2c3eb02dvb8307f46d2e6d9a0@mail.gmail.com>

On 10/26/06, Greg Haerr ####@####.#### wrote:
>
> It sounds like you have a mouse driver that requires a swapping
> of coordinates that isn't handled by the current #ifdef code.
> I suggest adding the fix described in the mailing list, with a
> new #ifdef to handle it, like the previous code.
>
> If the fix then works, I will add it to CVS.
>
> Regards,
>
> Greg
>
> Greg,

I did add the described changes and got the touchscreen to work flawlessly.

Regards

-- 
~ Ashwin
[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.