Example of an FPS camera

In this thread, it was a reference to Lemur Gems #1:

This has also been generalized into MovementState in the open source SiO2 library: GitHub - Simsilica/SiO2: Base pack of useful reusable game code that can help bootstrap any JME game project.

MovementState is more powerful because it can be used to move any object and not just the camera directly. For example, if you had a physics-based FPS game then MovementState could move the physics object representing the player and the camera could then be separately attached to that object (either third person, in the face, whatever).