
1 - Make your jump pad as usual. Surround it with the trigger_push and set the "target" key to lets say test1234.
2 - Instead of making a target_position like you would normally, create another brush (make it as small as possible) and texture it with a normal texture that you can see for now. Right click and make it a func_door then set its "angle" and "lip" to where you want it to go and set the "speed" to 100000 so it moves instantly (not sure if -1 works instead). Its initial position will be where the jump pad throws you normally, while the position it goes to is the alternative position. Set the "wait" key to the amount of time you want the jump pad to remain commuted (unless you want it toggled) then set "targetname" to test1234 and the jump pad should link to it.
3 - Create the brush that you want to commute the jump pad and make it a func_button. Set "health" to 1 if you want it to be triggered by shooting and tweak everything else then set its "target" to test1234 as well.
4 - Compile the map and go in-game for testing. Watch where the little box goes when triggered and see if the jumppad throws you the way you want in each position. Once you're happy with it texture the func_door with the Hint common texture to make it invisible and non-colliding (don't use the Trigger texture as that makes it still collide, use Hint instead). Now your jump pad can be triggered to an alternative direction when you push or shoot the button


Do not try using this on teleporters! I tested it and it doesn't work, trigger_teleport only allows misc_teleporter_dest as a destination point or it brakes your map. And don't worry about the jump pad triggering the door, even if both trigger_push and func_button address func_door with a "target" key only the button causes the door to move. You may also want to add an indicator to show if the jump pad is commuted or not... a simple way to do this is by adding a func_door_rotating with an arrow texture which is triggered by the same button and has the same "wait" time as the jump pad's func_door. It would be nice if a correct way to make commutable jump pads could be added sometime (allow a jump pad to change its destination towards another target_position when triggered) but for now this should do well. Have fun
