qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Grabless pointer
@ 2006-02-08 21:24 malc
  2006-02-09  9:09 ` Mike Kronenberg
  2006-02-09 17:31 ` Brad Campbell
  0 siblings, 2 replies; 8+ messages in thread
From: malc @ 2006-02-08 21:24 UTC (permalink / raw)
  To: qemu-devel

At http://www.boblycat.org/~malc/code/patches/qemu/1_mqemu.tgz you will
find two patches and binary XFree86 module that allows grabless mouse
operation.

Steps:
a. patch QEMU with 1_mqemu.patch
b. in the guest copy mouse_drv.o to /usr/X11R6/lib/modules/input

Binary mouse_drv.o should work on all XFree86 (and derivatives such as
X.Org) given that they are older than 4.1.

You can also fetch X410src-1.tgz from somewhere copy mouse.c (or patch
the orignal with 1_mouse.patch) and build it yourself.

-- 
mailto:malc@pulsesoft.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-08 21:24 [Qemu-devel] Grabless pointer malc
@ 2006-02-09  9:09 ` Mike Kronenberg
  2006-02-09 12:51   ` malc
  2006-02-09 16:17   ` Jim C. Brown
  2006-02-09 17:31 ` Brad Campbell
  1 sibling, 2 replies; 8+ messages in thread
From: Mike Kronenberg @ 2006-02-09  9:09 UTC (permalink / raw)
  To: qemu-devel

Hi malc!

Great!

...great to hear, so I can burry my attempt to write support for a  
touchscreen device... it would have had way more overhead anyway.  
What I'm looking for now is a windows driver (how obviously :) ).  
 From the source I can't see what device you are actually emulating  
(or is this a custom one?)

Mike

On 08.02.2006, at 22:24, malc wrote:

> At http://www.boblycat.org/~malc/code/patches/qemu/1_mqemu.tgz you  
> will
> find two patches and binary XFree86 module that allows grabless mouse
> operation.
>
> Steps:
> a. patch QEMU with 1_mqemu.patch
> b. in the guest copy mouse_drv.o to /usr/X11R6/lib/modules/input
>
> Binary mouse_drv.o should work on all XFree86 (and derivatives such as
> X.Org) given that they are older than 4.1.
>
> You can also fetch X410src-1.tgz from somewhere copy mouse.c (or patch
> the orignal with 1_mouse.patch) and build it yourself.
>
> -- 
> mailto:malc@pulsesoft.com
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-09  9:09 ` Mike Kronenberg
@ 2006-02-09 12:51   ` malc
  2006-02-09 18:03     ` Mike Kronenberg
  2006-02-09 16:17   ` Jim C. Brown
  1 sibling, 1 reply; 8+ messages in thread
From: malc @ 2006-02-09 12:51 UTC (permalink / raw)
  To: qemu-devel

On Thu, 9 Feb 2006, Mike Kronenberg wrote:

> Hi malc!

Hey Mike.

> ...great to hear, so I can burry my attempt to write support for a 
> touchscreen device... it would have had way more overhead anyway. What I'm 
> looking for now is a windows driver (how obviously :) ). From the source I 
> can't see what device you are actually emulating (or is this a custom one?)

X86 ISA extended with one port, with a write handler (start/stop hack) and
a read handler (get absolute mouse location). I can not help with a
windows driver/filter since my knowlege in this area amounst to zero.

--
mailto:malc@pulsesoft.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-09  9:09 ` Mike Kronenberg
  2006-02-09 12:51   ` malc
@ 2006-02-09 16:17   ` Jim C. Brown
  2006-02-09 20:20     ` Paul Brook
  1 sibling, 1 reply; 8+ messages in thread
From: Jim C. Brown @ 2006-02-09 16:17 UTC (permalink / raw)
  To: Mike Kronenberg; +Cc: qemu-devel

On Thu, Feb 09, 2006 at 10:09:58AM +0100, Mike Kronenberg wrote:
> Hi malc!
> 
> Great!
> 
> What I'm looking for now is a windows driver (how obviously :) ).  

You'd have to write one yourself. From what malc says, this is fairly simple
though.

> From the source I can't see what device you are actually emulating  
> (or is this a custom one?)
> 
> Mike
> 

Its basically a PS/2 mouse that sends absolute coordinates instead of
relative/delta values.

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-08 21:24 [Qemu-devel] Grabless pointer malc
  2006-02-09  9:09 ` Mike Kronenberg
@ 2006-02-09 17:31 ` Brad Campbell
  2006-02-09 22:00   ` malc
  1 sibling, 1 reply; 8+ messages in thread
From: Brad Campbell @ 2006-02-09 17:31 UTC (permalink / raw)
  To: qemu-devel

malc wrote:
> At http://www.boblycat.org/~malc/code/patches/qemu/1_mqemu.tgz you will
> find two patches and binary XFree86 module that allows grabless mouse
> operation.
> 
> Steps:
> a. patch QEMU with 1_mqemu.patch
> b. in the guest copy mouse_drv.o to /usr/X11R6/lib/modules/input
> 
> Binary mouse_drv.o should work on all XFree86 (and derivatives such as
> X.Org) given that they are older than 4.1.
> 
> You can also fetch X410src-1.tgz from somewhere copy mouse.c (or patch
> the orignal with 1_mouse.patch) and build it yourself.
> 

I wrote a userspace touchscreen driver years ago that worked on win95-> and would probably still 
work on the latest and greatest.. it was actually a userspace application that talked to the 
touchscreen over rs232.. I could probably modify that to work here..

I'm gathering that if I read from 0xbad I'm going to get the absolute mouse position and by writing 
to 0xbad I can turn the sdl cursor on or off..

What happens with mouse clicks? do they still come over the ps2 interface?
To make this work with what I have in mind we'd have to disable the ps2 position updates to the 
guest when the mouse app starts on the client and use the read port to give position updates. We 
would still pass the clicks through the ps2 interface however.


-- 
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-09 12:51   ` malc
@ 2006-02-09 18:03     ` Mike Kronenberg
  0 siblings, 0 replies; 8+ messages in thread
From: Mike Kronenberg @ 2006-02-09 18:03 UTC (permalink / raw)
  To: qemu-devel

Txs,

I was a little fast on the send button, just saw afterwards the  
changes to mouse.c.
Was way to exited :)
(After fighting with qemu os OS X x86 for a week I'm happy for any  
good news.)

Ported your patch to cocoa.m already... but I have not tested it yet.

Mike


On 09.02.2006, at 13:51, malc wrote:

> On Thu, 9 Feb 2006, Mike Kronenberg wrote:
>
>> Hi malc!
>
> Hey Mike.
>
>> ...great to hear, so I can burry my attempt to write support for a  
>> touchscreen device... it would have had way more overhead anyway.  
>> What I'm looking for now is a windows driver (how obviously :) ).  
>> From the source I can't see what device you are actually emulating  
>> (or is this a custom one?)
>
> X86 ISA extended with one port, with a write handler (start/stop  
> hack) and
> a read handler (get absolute mouse location). I can not help with a
> windows driver/filter since my knowlege in this area amounst to zero.
>
> --
> mailto:malc@pulsesoft.com
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-09 16:17   ` Jim C. Brown
@ 2006-02-09 20:20     ` Paul Brook
  0 siblings, 0 replies; 8+ messages in thread
From: Paul Brook @ 2006-02-09 20:20 UTC (permalink / raw)
  To: qemu-devel

> > From the source I can't see what device you are actually emulating
> > (or is this a custom one?)
> >
> > Mike
>
> Its basically a PS/2 mouse that sends absolute coordinates instead of
> relative/delta values.

No it's not. It's a hack that makes the guest read the absolute coordinates 
from an different IO port whenever the mouse moves.

Augmenting the PS/2 mouse emulation with additional commands would be the 
elegant (and portable) solution, but probably harder to hack the guest for. 
This is neither.

Paul

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] Grabless pointer
  2006-02-09 17:31 ` Brad Campbell
@ 2006-02-09 22:00   ` malc
  0 siblings, 0 replies; 8+ messages in thread
From: malc @ 2006-02-09 22:00 UTC (permalink / raw)
  To: qemu-devel

On Thu, 9 Feb 2006, Brad Campbell wrote:

>
> I wrote a userspace touchscreen driver years ago that worked on win95-> and 
> would probably still work on the latest and greatest.. it was actually a 
> userspace application that talked to the touchscreen over rs232.. I could 
> probably modify that to work here..
>
> I'm gathering that if I read from 0xbad I'm going to get the absolute mouse 
> position and by writing to 0xbad I can turn the sdl cursor on or off..

Reading part is correct, writing part is not, code is simple and can
explain things better than words.

>
> What happens with mouse clicks? do they still come over the ps2 interface?
> To make this work with what I have in mind we'd have to disable the ps2 
> position updates to the guest when the mouse app starts on the client and use 
> the read port to give position updates. We would still pass the clicks 
> through the ps2 interface however.

Everything still goes over the ps2 interface, but relative coordinates are
just ignored.

-- 
mailto:malc@pulsesoft.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-02-09 21:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-08 21:24 [Qemu-devel] Grabless pointer malc
2006-02-09  9:09 ` Mike Kronenberg
2006-02-09 12:51   ` malc
2006-02-09 18:03     ` Mike Kronenberg
2006-02-09 16:17   ` Jim C. Brown
2006-02-09 20:20     ` Paul Brook
2006-02-09 17:31 ` Brad Campbell
2006-02-09 22:00   ` malc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).