CzAN Read more...

Subject: PS2 Mouse converter

I am writing this post because i need some help on a project that i am
building. I have designed a DIY PS/2 mouse to Amiga mouse converter.
The converter is built around a pic16C84/pic16F84 microcontroller. It uses
very few external components (4 resistors and 2 capacitors) and is therefore
easy to build. The converter translates the PS/2 protocol into a fully
emulated Amiga mouse. This means that the mouse works from the moment you
switch on the computer. There is no need for special software running on
the Amiga. The converter works with all PS/2 complient mice. (so far i've
tested 2 logitech mice, one of which was an USB-type with an USB to PS/2
converter)

The hardware of the project is therefore finished and i am planning
to upload this DIY project to aminet as soon as possible.
However, i also wan't to support the scroll wheel that comes with most
modern mice. The scroll wheel is not natively supported by the Amiga.
Therefore I need to write some software. So far I have come up with an
a method to get the scroll wheel action into the amiga. I use pin5 of
the amiga's mouse connector to send pulses to the amiga. A short pulse
stands for scroll down, a long pulse for scroll up. I've written a small
program that translates these pulses into cursor key up/down events. This
solution is far from ideal. Hardware-wise a better solution would be to
emulate a potentiometer which can be sampled by the amiga's proportional
joystick hardware on pin5 . The OS even provides an interface for this
by means of the AllocatePotBits an WritePotGo functions. The problem
is however that the potbits are already allocated by the input.device.
This is where i need help. I need some code which can sample the potvalue
at pin5 and translate them into cursorkey/middlebutton and maybe
newmouse events. This without interfering with the normal mouse
operation. My question is, is this possible and how do i do it?

I hope somebody can help me here,

Greetings,

Dennis van Weeren
watje@my-deja.com