Linux: miniB3D works, but mouse is "jumpy"
BlitzMax Forums/MiniB3D Module/Linux: miniB3D works, but mouse is "jumpy"| 
 | ||
| Hello everybody, I'm kind of a newbie to this stuff (3D coding) so I tried out miniB3D on my Ubuntu Linux today. With the appropriate fixes mentioned in the miniB3D wiki I was able to get everything to compile and the 3D demos work out fine. Except one thing: whenever I move the mouse, instead of moving the mouse pointer ist getting centered again, resulting in a "shaking" mouse pointer, causing the whole scenery to "shake". This behaviour shows up only on Linux, on Mac OS X everything works just fine. Kind regards, lodger | 
| 
 | ||
| YEah i just found this out too, Here is my 'fix', workaround or whatever you want to call it. I have used the built in max cursor position report instead of the b3d one. It seems to be pretty smooth. 
Type T_MouseLook
	Field resetX%
	Field resetY%
	Field speedX%  'not needed externally but may be useful for other things
	Field speedY%  
        Field pitch:float  'smoother inverse value for rotation
        Field yaw:float
	Method Init(rX% , rY%)
		resetX = rx
		resetY = ry
	End Method
	
	Method Pollmouse()
		speedX = resetX - MouseX()
		speedY = resetY - MouseY()
              	yaw :- Float(-speedX) / 15
         	pitch :+ Float(-speedY) / 15
		MoveMouse(resetX,resetY)	
	End Method
	
	Method flush()
		speedX = 0
		speedY = 0
		MoveMouse(resetX,resetY)
	End Method	
End Type
'Initialise mouselook
local mlook:T_MouseLook=New t_mouselook
mlook.init(512,350) ' or width/height*.5 etc
mlook.flush() 'kills any initial movements
While Not KeyDown(KEY_ESCAPE)		
	;Poll mouse and adjust rotation values.
	mlook.pollmouse()
	RotateEntity cam, mlook.pitch, mlook.yaw, 0
        (......rest of main loop)
 |