@aytact There's a few ways to do this, including defining a fake extruder, and moving that while firing the laser. However, I think the easiest way is to redefine the laser pin to an unused pin, then define the laser pin as a normal output pin, and then turn the laser on and off with M42. Then reverse the process to set it back to laser control. eg:
; macro for firing laser stationary M452 C"e1heat" R255 F100 S1 ; Set initial laser mode in config.g M452 C"fan2" R255 F100 S1 ; Set unused pin as dummy laser pin M950 P2 C"e1heat" Q100 ; Create output using laser pin M42 P2 S2 ; Fire laser at low power (range 0.0-1.0 or >1.0-255) G4 S1 ; Time for the laser to fire M42 P2 S0 ; Turn off laser M950 P2 C"nil" ; Clear pin M452 C"e1heat" R255 F100 S1 ; set laser pinThe advantage of this method is that the coordinate systems are maintained as it stays in laser mode, the laser can be fired without moving (so position doesn't change), and the laser can be fired for a specified amount of time at a specified power.
There is a Github issue to fix this with M3, but generally the workarounds seem to be sufficient, so M3 is not made more complicated.
Ian