I'm symmetric, not palindromic!
JavaScript (ES6), 130 125 113 bytes



f=
s=&gt;s==[...s].reverse(s=`()&lt;&gt;[]{}qpbd/\\`).map(c=&gt;s[s.indexOf(c)^1]||/[- !"'+*.:=AHIMOT-Y^_ovwx|]/.exec(c)).join``
&lt;input oninput=o.textContent=f(this.value)&gt;&lt;pre id=o&gt;




Edit: Saved 5 bytes thanks to @Arnauld. Saved a further 11 bytes thanks to @YairRand.