geekhack

geekhack Community => Input Devices => Topic started by: wok3 on Fri, 15 February 2019, 01:00:22

Title: MLT04 Reverse Engineering | MLT04 emulation |looking for info about this sensor
Post by: wok3 on Fri, 15 February 2019, 01:00:22
Hello,

I am trying to reverse engineer the MLT04 and calling anyone who has some information on how the MLT04 processes data.

The plan is to make a mouse driver that emulates the MLT04, todays mice have such high CPI i think its possible to use the MLT04 clamp levels or other equations the MLT04 use on any normal mouse.


i dont know if this is the patent for mlt04, but it uses that shape.
I already made some of the equations work on my mousedriver, which is a modification of the interaccell mouse driver using Interception LIB in C++


the following code is me trying to implement mlt04 subpixel interpolation from page 19 of the patent
Code: [Select]
                increment = 2;
                if (dx > 0) {
                    dx = (dx * 0.5) + increment;
                }
                else if (dx == 0) {
                    dx = 0;
                }
                else if (dx < 0) {
                    dx = (dx * 0.5) - increment;
                }
                if (dy > 0) {
                    dy = (dy * 0.5) + increment;
                }
                else if (dy == 0) {
                    dy = 0;
                }
                else if (dy < 0) {
                    dy = (dy * 0.5) - increment;
                }
             


https://docs.google.com/viewer?url=patentimages.storage.googleapis.com/pdfs/US6664948.pdf


Title: Re: MLT04 Reverse Engineering | MLT04 emulation |looking for info about this sensor
Post by: Kira on Mon, 25 March 2019, 17:58:20
Yap that's the one. This seems very interesting.
Title: Re: MLT04 Reverse Engineering | MLT04 emulation |looking for info about this sensor
Post by: wok3 on Sun, 14 April 2019, 14:56:21
also a interesting tidbit
Quote
Movement of the mouse is determined in regard to
nominal X and Y axes that are relative to the orientation of
the mouse (i.e., the X axis is nominally generally aligned
With the Width of the mouse and the Y axis is nominally
generally aligned With the length of the mouse), but the
orientation of these axes is user adjustable. Also in this
preferred embodiment, virtually all processing required to
produce an output signal indicating any Ax and Ay compo
nents of movement of the mouse over the surface, relative to
these orthogonal X and Y axes, is carried out Within the
mouse.

microsoft was ahead of its time with this mouse stuff. pointer ballistics and now this?