To make the camera shake (via scroll without any addons needed) anytime - even when against the layout borders - and still always have the viewport completely inside of the layout, do this.
set the layout to unbounded scrolling;
add the following event block:
every tick
Camera:
set x: clamp(Player.X,ViewportWidth("Game")/2,LayoutWidth-ViewportWidth("Game")/2)
set y: clamp(Player.Y,ViewportHeight("Game")/2,LayoutHeight-ViewportHeight("Game")/2)
"Game" being the layer the player is in.
Now, anytime you want to shake it, just add the "shake" action to the camera object (which has the scroll behavior), like you'd normally.
If you wanna get fancier, instead of "setting" the camera's position, tween it over a small amount of time (eg.: 0.15 seconds).