Sorry for the very long post.
DS primarily ASD, also add, dyspraxia, anxiety. Attends mainstream with a lot of additional support. Very nice child, no behaviour problems.
As a baby and toddler he'd stim when happy by rocking on the floor holding a blanket in his lap or the fold in his nappy or trousers. This turned into grabbing his trousers/genitals when laughing or anxious.
I realised this could become a social issue so around age of 6 I tried to get him to do other things - fidget toys, rub his arms instead, that type of thing. He told his TA we were stopping him 'doing his thing' and we were shamed by the school, pretty much told to stop sexualising our 6yo and that he'd grow out of it.
He didn't, as he got older we told him off more and he swore he never did it in public. Fast forward to 12 and a girl at school complains about him wanking under the table whilst talking to her. SN teachers were able to persuade her parents that nothing was intended and finally supported us in trying to stop him doing it.
It is still a very much automatic reaction for him when he's laughing, you can see him correct himself when in company but he still does it in private. It is not a sexual thing, he doesn't seem at all interested in sex yet.
Anyway now he's off school he is just constantly rearranging his bits. He says he's uncomfortable, we have tried every type of pants, in every fabric, loose, tight, ones with pouches. Talc and creams. He tends to wear very loose pj shorts around the house without underwear which he says is the most comfortable but he wears holes in them because he rearranges every few minutes.
I'm really worried that 6 weeks of this will set him back significantly. He goes to college in September - new people making snap judgments. I really am worried about him being accused of sexual harassment and being ostracised.
He wants to break the habit. He is very upset he can't stop but also inclined to start hating himself if we try anything to make him more aware.
Sorry for such a long post. What on earth can we do?