f → g y → u l → ; (but ; is not a letter – so perhaps the original l came from k ? Let's check: k left = l , so decode l as k ). m → , (no) – This is messy.
But if encoded by shifting , then decode by shifting left :
f right = g y right = u l right = ; (punctuation – skip) → maybe it's l to ' ? No. Let's do word by word.
Let’s decode your string by shifting on QWERTY: