JohnSpeth wrote:
The problem is that the raw data stream is noisy and, without some special filtering that the MSDN article describes, the mouse position will be shakey. That observation has been mentioned on other references to a Will mouse driver on the web (no web page to cite tho).
What resolution is your screen? I'm guessing you changed it with wiiuse_set_ir_vres() to be higher?
The IR support was not designed to point on higher resolutions than a TV -- I don't think
any filtering algorithm you use is going to fix this.
Think about it like this, you have a 100x100 screen resolution, and the wiimote has a 100x100 resolution camera. If you move the wiimote enough then the IR sources the camera sees will move 1 pixel, so you can move your mouse 1 pixel. Now suppose you have a 500x500 screen resolution, but the wiimote still has a 100x100 resolution camera. You move the wiimote enough and the IR sees a movement of 1 pixel, your mouse cursor has to move 5 pixels in order to maintain the same ratio. Now you have a 'skip' in your movement. You are basically expanding a single dot into a small 5x5 square, but your mouse can only ever be on one of the corners.
As others have suggested, yes you
could interpolate between point A and point B so the mouse appears smooth. However this is merely a visual trick, there is still a 'grid' of positions your mouse can be on, you won't be able to stop the cursor between the points on that grid. If you've ever played any of the old Mario games where you move around a world from level to level based on a path, it would be like that. You can move Mario from one level to another, and the game interpolates his position between those two points, but you can not stop along the path at any point, you must continue until you get to the next level.
The cost of upgrading to a higher resolution camera was probably too expensive for Nintendo to maintain the low price of the console, and since the Wii doesn't output in high definition anyhow the wiimote was perfect for that screen size. The wiimote does not scale up on the PC very well, and never will IMO.
edit: I may have misunderstood your question, the article linked does not use any IR tracking:
Quote:
Then there is the choice between using the Wii IR LED bar array or not; using this method has the advantage of an easier interface algorithm. The drawback is: yet another device, plus its power supply, to incorporate in the scene. So we decided not to use it and go for the Wiimote only.